Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Tengo un conjunto de datos que se ve como a continuación (datos de muestra publicados al final de la publicación). Es la disponibilidad (en porcentaje) de ciertas unidades por semana laboral. Cada unidad pertenece a un grupo que no cambia. En mi conjunto de datos real, tendré datos que se remontan a años atrás.
WW - Work Week, in the YYYY-WW format.
Unit - Units for which the percentage is listed.
Group - The group the unit belongs to. Doesn't change.
Active - Active % of the unit for the week.
Me gustaría mostrar estos datos en una matriz, que se ve a continuación, durante las últimas 4 semanas.
Para lograr esto, configuré filas, columnas y valores de anuncios en el objeto visual de matriz de la siguiente manera, junto con un filtro WW para filtrar solo los 4 WW más recientes.
Esto funciona bien hasta ahora, pero mi siguiente requisito es filtrar y mostrar solo los grupos cuyo promedio activo de 4 semanas está por debajo del 90%. Lo que esto significa es que en el ejemplo anterior, solo quiero mostrar datos para G2 y G3 , ya que son los únicos dos grupos cuyo promedio de 4 semanas está por debajo del 90%. Además, es fundamental mencionar que quiero mostrar TODAS las unidades para un grupo en particular si el promedio del grupo está por debajo del 90%, incluso si el promedio de una unidad en particular es superior al 90% (como es el caso de la Unidad = F, donde el promedio de 4 semanas es del 97.25%).
Sin embargo, simplemente agregar un filtro al objeto visual donde el promedio < 90% no funciona, ya que los filtros se calculan para cada fila, por lo que excluye las unidades individuales cuyo promedio es inferior al 90%. Si lo hiciera, esto es lo que obtengo, que no es el resultado deseado:
¿Cómo obtengo el resultado deseado? - Supongo que necesito crear alguna medida que calcule el promedio de 4 semanas para un grupo, pero no estoy muy seguro.
WW,Unit,Group,Active
2023-39,A,G1,0.98
2023-39,B,G1,0.56
2023-39,C,G1,0.55
2023-39,D,G2,0.56
2023-39,E,G2,0.48
2023-39,F,G3,0.56
2023-39,G,G3,0.98
2023-39,H,G3,0.56
2023-40,A,G1,0.94
2023-40,B,G1,1
2023-40,C,G1,0.95
2023-40,D,G2,0.91
2023-40,E,G2,0.65
2023-40,F,G3,1
2023-40,G,G3,0.45
2023-40,H,G3,0.65
2023-41,A,G1,0.99
2023-41,B,G1,0.83
2023-41,C,G1,0.96
2023-41,D,G2,0.34
2023-41,E,G2,0.95
2023-41,F,G3,0.98
2023-41,G,G3,1
2023-41,H,G3,1
2023-42,A,G1,1
2023-42,B,G1,0.89
2023-42,C,G1,0.95
2023-42,D,G2,0.45
2023-42,E,G2,0.34
2023-42,F,G3,0.92
2023-42,G,G3,0.44
2023-42,H,G3,0.92
2023-43,A,G1,0.94
2023-43,B,G1,0.99
2023-43,C,G1,0.56
2023-43,D,G2,0.95
2023-43,E,G2,0.34
2023-43,F,G3,0.99
2023-43,G,G3,1
2023-43,H,G3,0.56
Hola
No estoy seguro de cómo se ve su modelo de datos, pero verifique la imagen a continuación y el archivo pbix adjunto.
Active Average: =
AVERAGE ( Data[Active] )
Active Average recent 4 wks and group result below 0.9: =
VAR _groupavgrecentfourweeks =
CALCULATE (
[Active Average:],
WINDOW ( 1, ABS, 4, ABS, ALL ( Period[WW] ), ORDERBY ( Period[WW], DESC ) ),
ALL ( Unit[Unit] )
)
VAR _averagerecentfourweeks =
CALCULATE (
[Active Average:],
KEEPFILTERS (
WINDOW ( 1, ABS, 4, ABS, ALL ( Period[WW] ), ORDERBY ( Period[WW], DESC ) )
)
)
RETURN
IF ( _groupavgrecentfourweeks < 0.9, _averagerecentfourweeks )