Power BI is turning 10, and we’re marking the occasion with a special community challenge. Use your creativity to tell a story, uncover trends, or highlight something unexpected.
Get startedJoin 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.
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 =
Mes | AccountID | BalanceTotal |
1 | 1001 | 500 |
1 | 1002 | 500 |
2 | 1001 | 500 |
2 | 1002 | 500 |
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:
¿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.
Solved! Go to Solution.
@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.
@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.
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.