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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

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
July 2025 community update carousel

Fabric Community Update - July 2025

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

July PBI25 Carousel

Power BI Monthly Update - July 2025

Check out the July 2025 Power BI update to learn about new features.

Top Solution Authors
Top Kudoed Authors