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

Join us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.

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
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

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

June 2025 community update carousel

Fabric Community Update - June 2025

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