Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
Hola, estoy luchando con esto, estoy practicando Power BI, tengo dos tablas, Calendario y Ventas, Tabla Calendario extiende fechas hasta diciembre de 2011, mientras que las fechas de las tablas de ventas sólo van a diciembre de 2009.
Cuando intento construir un promedio móvil de 3 meses, los resultados se extienden a febrero/2010, lo que es incorrecto.
Lo sé, podría resolverse simplemente filtrando o eliminando fechas inexistentes de la tabla Calendar, pero es un desafío sobre cómo controlar esta situación, tal vez no es pruebable en la vida real, pero me gustaría saber si es posible solucionar esto sin eliminar o filtrar nada.
Esto es lo que hice para la media rodante
Hey @RolandoVG ,
CALCULATE(...) debe utilizarse siempre que se tenga que modificar un contexto de filtro existente. Como usted va a calcular el promedio móvil de los últimos tres meses, usted tiene que utilizar CALCULATE.
El 1er parámetro es la parte fácil, es la expresión numérica, aquí SUM(...), el 2o a enésimo parámetro son el modificador de filtro. Aquí está utilizando DATESINPERIOD(...).
Lo que pasa en enero es esto. DATESINPERIOD devuelve una tabla que contiene las fechas del 1 de noviembre de 2009 al 31, de enero de 2010. Esto significa que se crea la SUMA agregando (1253... + 1301... + null) / 3.
Lo mismo sucede en febrero de 2010
Esto significa que se crea la SUMA agregando (1301... + null + null) / 3.
Digo que esto es correcto, así es como funciona DAX, pero tal vez esto no es lo que esperas 😉
Si desea evitar el cálculo si SUM('...'[Cantidad Total]) es null, entonces debe ajustar el cálculo completo en una instrucción if como tal:
measure =
IF(NOT(ISBLANK(SUM('...'[Cantidat Total]))
, CALCULATE(...)
, BLANK()
)
Con suerte, esto es lo que estás buscando.
saludos
Tom