Forum Discussion
SUMX con 2 variables
@DLU,
Esta solución utiliza el siguiente modelo de datos:
Medidas:
Sum QTY = SUM ( 'INVENTTRANS OUT MERGED'[QTY] )Total Trans QTY LTM =
VAR vTable =
ADDCOLUMNS (
'ITEMID BOM',
"@Qty",
VAR vBOMID = 'ITEMID BOM'[BOMID]
RETURN
IF (
vBOMID = "Blank",
[Sum QTY],
CALCULATE (
[Sum QTY],
NOT CONTAINSSTRING ( 'INVENTTRANS OUT MERGED'[REFERENCEID], "WO" )
)
)
)
VAR vResult =
SUMX ( vTable, [@Qty] )
RETURN
vResult
Agregue 'ITEMID BOM'[ITEMID] y la segunda medida a un objeto visual:
- Syndicate_Admin3 years ago
Administrator
Muchas gracias por su ayuda DataInsights, estuve realmente atascado en esto durante unas semanas. Espero que no te importe que te pregunte, pero siempre trato de averiguar cómo funciona el DAX para poder usarlo para fines futuros también. ¿Podría explicar qué hace la función "@qty"? No lo había visto antes en otras medidas de DAX ... ¿Cómo sabe PowerBI que necesita usar la columna qty que en realidad se denomina diferente? ¿Y estoy interpretando correctamente que el VAR vBOMID en realidad no es un VAR separado, sino que está dentro del VAR vTable?
- Syndicate_Admin3 years ago
Administrator
@DLU,
Me alegra saber que funciona. El "@Qty" es en realidad una columna temporal; Puedes nombrarlo como quieras. La variable vBOMID es una variable anidada dentro de la variable vTable. Dado que ADDCOLUMNS es un iterador, vBOMID nos permite obtener el BOMID para cada iteración y calcular la medida [Suma QTY] en el contexto apropiado. Una vez que se ha iterado la tabla, vTable contiene todos los datos necesarios y, a continuación, SUMX itera vTable.
¡Espero que esto ayude!
- Syndicate_Admin3 years ago
Administrator
Muchas gracias por su disposición a explicármelo, tiene mucho sentido ahora y estoy seguro de que esto ayudará a resolver muchos de mis problemas con los que me encontré.