Forum Discussion
Pregunta VAR RETURN
Hola a todos
Tengo las dos medidas siguientes:
MyMeasure1 = IF(SUM(Table[Amount])<1000,0,SUM(Table[Amount])-1000)
y con una corrección del total:
MyMeasure2 = IF(HASONEFILTER(Table[Year]),
IF(SUM(Table[Amount])<1000,0,SUM(Table[Amount])-1000),
SUMX(FILTER(Table,[Amount]>1000),[Amount]-1000)
)
Los resultados se ven bien.
Pero cuando lo envuelvo en un VAR RETURN obtengo un valor doble más alto para MyMeasure2:
VAR MyMeasure2 = ...
VAR MyMeasure3 = ...
VAR MyMeasure4 = ...
DEVOLUCIÓN
MyMeasure2
¿Tengo que escribirlo siempre en una medida separada o es posible incluir MyMeasure2 en VAR RETURN?
4 Replies
- Syndicate_Admin
Administrator
@Pikachu-Power , var se ejecuta cuando aparece, si usa un filtro encima de var, es posible que no funcione
recomienda
https://radacad.com/caution-when-using-variables-in-dax-and-power-bi
- Syndicate_Admin
Administrator
Cuando escribo una Medida aparte...
MyMeasure1 = IF(SUM(Table[Amount])<1000,0,SUM(Table[Amount])-1000)
e incluirlo en una segunda Medida...
VAR MyMeasure2 =
IF(HASONEFILTER(Table[Year]),
MyMeasure1,
SUMX(FILTER(Table,[Amount]>1000),[Amount]-1000)
)
RETURN
VAR MyMeasure2Obtengo el valor correcto. Pero no podía entender por qué y si es posible escribirlo en una medida.
- Syndicate_Admin
Administrator
Hola @Pikachu-Power ,
¿Es que quieres esto?
Measure = VAR MyMeasure1 = IF(SUM(Table[Amount])<1000,0,SUM(Table[Amount])-1000) VAR MyMeasure2 = IF ( HASONEFILTER ( Table[Year] ), MyMeasure1, SUMX ( FILTER ( Table, [Amount] > 1000 ), [Amount] - 1000 ) ) RETURN MyMeasure2Acerca de var:
Almacena el resultado de una expresión como una variable con nombre, que luego se puede pasar como argumento a otras expresiones de medida. Una vez que se han calculado los valores resultantes para una expresión de variable, esos valores no cambian, incluso si se hace referencia a la variable en otra expresión.
Palabra clave VAR (DAX) - DAX | Documentos de Microsoft
Saludos
Equipo de apoyo a la comunidad _ chenwu zhu
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
- Syndicate_Admin
Administrator
Hola chenwuz,
Sí, eso es exactamente lo que quiero. Pero obtener un resultado más que equivocado al escribirlo en una medida. Por lo que entiendo, no funciona de esta manera, ¿verdad?