Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Cómo ajustar DAX para usar una medida en lugar de una columna calculada

Me gustaría utilizar el siguiente DAX en una medida y colocar la medida en una tabla (actualmente es una columna calculada y funciona correctamente):

USDSell3 = 
VAR BaseSellExcl =
CALCULATE(
    SUMX(
        Services,
        Services[BaseSell] - Services[BaseSellTax]
    ),
    Services[InclRev] = "Y"
)

VAR Result =
CALCULATE(
    BaseSellExcl * [Fx to USD]
)

RETURN
Result


La referencia fx a USD (medida) en la columna calculada anterior está aquí:

Fx to USD = 
IF(
    SELECTEDVALUE( Job[Base Currency] ) = "USD",
    1,
    MAXX(
        TOPN(
            1,
            FILTER(
                ALL( ForexRates ),
                ForexRates[Base Currency] = SELECTEDVALUE( Job[Base Currency] )
                    && ForexRates[Forex Date] <= MAX( Job[DateService] )
                ),
            ForexRates[Forex Date], DESC
            ),
        ForexRates[Debtor Rate]
        )
)

La tabla de servicios y la tabla de trabajos están vinculadas por un número de referencia de trabajo único (identificador de clave).


Actualmente, he escrito DAX tanto en una medida como en una columna calculada, pero solo cuando pondúo la columna calculada en un objeto visual de tabla (con otros datos de la tabla Jobs) los valores aparecen correctamente. Si intento colocar la medida en el objeto visual de tabla (con datos de la tabla Jobs), obteré varios registros con datos no relacionados (presumiblemente debido al contexto del filtro) y solo después del tiempo de carga extendido.

A continuación se muestra una captura de pantalla de ejemplo del objeto de tabla Trabajos:

JRHans09_0-1620085102153.png

USDSell3 (columna calculada) en lo anterior aparece correctamente.

A continuación se muestra una captura de pantalla de ejemplo del objeto visual de la tabla Servicios:

JRHans09_1-1620086039538.png

USDSell (medida) en lo anterior aparece correctamente. Es el mismo código DAX de USDSell3 (columna calculada), pero en una medida,

¿Es posible ajustar el DAX que se usará en una medida para poder colocar esa medida en la tabla de trabajos, con datos correctos que aparecen, en lugar de columnas calculadas? He leído que en la mayoría de los casos es mejor crear medidas frente a columnas calculadas, pero no puedo averiguar el contexto de filtro en el DAX para usar una medida. Eventualmente crearía cuatro medidas más para Margen, Margen%, etc. y preferiría utilizar medidas, si es posible.

Gracias de antemano por la ayuda. Por favor, hágamelo saber si se necesita información adicional.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Resolví el problema creando columnas calculadas en cada una de las tablas relacionadas con el siguiente DAX:

USDSell3 = 
VAR BaseSellExcl =
CALCULATE(
    SUMX(
        Services,
        Services[BaseSell] - Services[BaseSellTax]
    ),
    Services[InclRev] = "Y"
)

VAR Result =
CALCULATE(
    BaseSellExcl * [Fx to USD]
)

RETURN
Result

Después de crear esas columnas calculadas, que mantiene el contexto de filtro, creé varias medidas relacionadas con estas columnas: por margen, porcentaje de margen, etc.. El valor añadido de esta solución es que con medidas, el formato condicional para las medidas es posible dentro de las tablas (fuente, fondo, etc.), sin tener que crear medidas adicionales para 'marcar' los valores para su uso en formato condicional.

View solution in original post

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Resolví el problema creando columnas calculadas en cada una de las tablas relacionadas con el siguiente DAX:

USDSell3 = 
VAR BaseSellExcl =
CALCULATE(
    SUMX(
        Services,
        Services[BaseSell] - Services[BaseSellTax]
    ),
    Services[InclRev] = "Y"
)

VAR Result =
CALCULATE(
    BaseSellExcl * [Fx to USD]
)

RETURN
Result

Después de crear esas columnas calculadas, que mantiene el contexto de filtro, creé varias medidas relacionadas con estas columnas: por margen, porcentaje de margen, etc.. El valor añadido de esta solución es que con medidas, el formato condicional para las medidas es posible dentro de las tablas (fuente, fondo, etc.), sin tener que crear medidas adicionales para 'marcar' los valores para su uso en formato condicional.

Syndicate_Admin
Administrator
Administrator

No @JRHans09,

Es muy difícil de analizar sin mirar los datos y simplemente imaginando.

Puede proporcionar un pbix de ejemplo e incluir la fórmula que creó en él, para que podamos comprender el contexto en el que se ejecuta la fórmula y ver si podemos ayudarle a reescribir la columna calculada como medida.

Elimine los datos confidenciales antes de cargarlos.

Saludos
Liang
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los demás miembros a encontrarla más rápidamente.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.