Forum Discussion
Problema DATEADD con variables
Hola a todos,
Me encuentro con el siguiente problema. Estoy convencido de que está relacionado con que no entiendo (todavía) cómo se calculan las variables, por lo que cualquier explenación sería muy apreciada ...
Esta es mi medida DAX (no tiene sentido por sí misma, simplemente la adelgazé hasta la esencia de mi problema). YearMonth es un campo de una tabla de calendario desarrollada correctamente
Como puede ver en la captura de pantalla, "Prueba" devuelve el mismo resultado que mi medida de ventas original, en lugar del mes anterior. ¿Alguien se preocupa por explicarme por qué? Supongo que tiene que ver con el hecho de que me refiero a 'Ventas de VAR' en mi 'VAR Sales_LM'? Porque cuando lo reemplazo por la función de ventas inicial, todo funciona bien
Hay @JuanSombrero ,
Las variables se pueden usar en cualquier lugar, pero se evalúan en el contexto en el que están escritas.
Puede consultar el siguiente blog para obtener más comprensión
https://radacad.com/caution-when-using-variables-in-dax-and-power-bi
Saludos
Duro Nathani
¿Respondí a su pregunta? ¡Marca mi post como solución! Apreciar con un Kudos!! (Haga clic en el botón Pulgar hacia arriba)
4 Replies
- Syndicate_Admin
Administrator
Hay @JuanSombrero ,
Cree esto como una medida separada.
Medida de ventas = SUMA(«Detalle de la factura»[Total sin IVA])
y luego pruebe
VAR Sales_LM = CALCULAR([Medida de ventas], DATEADD('Calendario'[Fecha],-1,MES))
Saludos
Duro Nathani
- Syndicate_Admin
Administrator
Hola Harsh,
de hecho, eso resolvería el problema. Pero, ¿podría explicarme también por qué mi solución no funciona? Tengo la sensación de que el "por qué" es muy importante aquí para que no me encuentre con problemas comparables en el futuro.
Thx
Ene- Syndicate_Admin
Administrator
Hay @JuanSombrero ,
Las variables se pueden usar en cualquier lugar, pero se evalúan en el contexto en el que están escritas.
Puede consultar el siguiente blog para obtener más comprensión
https://radacad.com/caution-when-using-variables-in-dax-and-power-bi
Saludos
Duro Nathani
¿Respondí a su pregunta? ¡Marca mi post como solución! Apreciar con un Kudos!! (Haga clic en el botón Pulgar hacia arriba)
- Syndicate_Admin
Administrator
La variable se calcula una vez por contexto.
Por ejemplo:
Distance from Average= VAR _Avg = AVERAGE(Sales[Sales]) RETURN AVERAGEX( VALUES(Users[Id]), SUM(Sales[Sales])-_Avg )Devolvería la diferencia promedio del promedio de TODOS los usuarios seleccionados (en lugar del promedio de cada usuario individual), a menos que el contexto de la fila sea el usuario específico.