Resultado inesperado de medida en tabla filtrada con criterio dinámico en Power BI.
Tengo una tabla llamada DW_XYZ:
Año | Mes | Tipo | Valor |
---|---|---|---|
2021 | 1 | A | 10 |
2021 | 1 | B | 12 |
2021 | 2 | A | 20 |
*no hay datos para el tipo B en el Mes=2
Me gustaría crear una medida que almacene los datos que ya filtré por el último mes de datos almacenados en DW_XYZ con la fórmula DAX:
DAX
CALCULATE(
SUM(DW_XYZ[Valor]),
FILTER(DW_XYZ,DW_XYZ[Mes]=
CALCULATE(MAX(DW_XYZ[Mes]),
FILTER(DW_XYZ,DW_XYZ[Año]=
MAX(DW_XYZ[Año]))) && DW_XYZ[Año]=MAX(DW_XYZ[Año]))
A partir de la medida, creo 2 gráficos de tarjetas para mostrar los datos de los tipos A y B cada uno. El primer gráfico para mostrar el tipo A, por lo que arrastro la medida y también arrastro la columna Tipo a ‘filtro visual’ y selecciono manualmente ‘A’, y hago lo mismo para el segundo gráfico (tipo B).
Para el tipo A, la tarjeta muestra el valor esperado (del tipo A y Mes=2).
Pero para el tipo B, la tarjeta muestra un valor inesperado (del tipo B y Mes=1), debería ser el tipo B y Mes=2 que está en blanco/cero. Por cierto, sería muy apreciado si la fórmula incluyera la manejo de valor en blanco como cero (0) en lugar de vacío.
davy.ai
Para manejar los valores en blanco en la medida y mostrarlos como 0 en la visualización de tarjeta, podemos modificar la fórmula DAX de la siguiente manera:
Esta fórmula DAX utiliza la función
IF
para comprobar si la suma deDW_XYZ[Value]
está en blanco. Si lo está, devuelve 0. De lo contrario, devuelve la suma deDW_XYZ[Value]
. Además, filtra la tablaDW_XYZ
enTipo B
y el último mes y año de la tabla.Para mostrar el valor esperado para la tarjeta Tipo B, asegúrese de seleccionar “Tipo B” en el filtro visual y eliminar cualquier otro filtro que pueda afectar la visualización.