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

El resultado de la medida Sumx difiere al reemplazar una expresión con una variable idéntica

Cuando introduzco parte de una expresión sumx como variable en lugar de codificarla directamente en la medida, obtengo un resultado diferente (el esperado).

A continuación un ejemplo simplificado. Datos de muestra =

MesAccountIDBalanceTotal
11001500
11002500
21001500
21002500

Resultado esperado de la medida

Multiplica el saldo de cada fila por el mes máximo seleccionado. Entonces, cuando se seleccionen ambos meses, multiplique cada 500 por 2.
Nota: Sé que en este ejemplo simplificado no necesito sumx, pero simplemente puedo hacer sum(Balance)*calculate(max(allselected,Month)). Pero en el ejemplo más complejo de la vida real, necesito una medida sumx y la diferencia es la misma que a continuación.

Originalmente creé esta medida 'Balance x maxmonth':

var _sumx = 
    sumx(Balances,Balances[Balance]*
        calculate(
            max(Balances[Month])
            ,ALLSELECTED(Balances[Month])
            )
        )
return
_sumx

Esto no devuelve el resultado esperado cuando se agrega un objeto visual a nivel de mes. Sin embargo, si reemplazo la parte 'calcular' de la expresión sumx en una variable como la siguiente, lo hace:

Balance x maxmonth with var = 
var _maxmonth = 
    calculate(
        max(Balances[Month])
        ,ALLSELECTED(Balances[Month])
        )
var _sumx = 
    sumx(Balances,Balances[Balance]*
    _maxmonth
    )
return
_sumx

Resultados con y sin variable para la parte de cálculo de la expresión:

akapelle_0-1634641350850.png


¿Alguien puede explicar por qué el uso de un var podría conducir a un resultado diferente?
Estoy contento con la solución, pero quiero entender esta diferencia en el comportamiento cuando se usan variables dentro de una expresión sumx.

Muchas gracias.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

@akapelle En el primer caso, el CALCULATE se evalúa para cada fila, mientras que en el segundo caso se evalúa una vez dentro del contexto completo de la medida.

View solution in original post

1 REPLY 1
Syndicate_Admin
Administrator
Administrator

@akapelle En el primer caso, el CALCULATE se evalúa para cada fila, mientras que en el segundo caso se evalúa una vez dentro del contexto completo de la medida.

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.