Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
Hola
Tengo un problema con el problema del filtro de matriz. Ahora tengo una tabla de matriz que se ve así:
ItemNo-Margen-Fecha | semana 1 | week2 |
1 | 1 | 1 |
2 | 1 | 0.5 |
3 | 1 | 1.5 |
la tabla de datos original tiene este aspecto:
Tema No | Fecha | Margen |
1 | week1 | 1 |
1 | week2 | 1 |
2 | week1 | 1 |
2 | week2 | 0.5 |
3 | week1 | 1 |
3 | week2 | 1.5 |
Quiero crear un filtro para esta matriz para mostrar elementos con un aumento/disminución de margen. (incluya el historial de la semana anterior)
el resultado ideal se vería así
aumento del margen:
No de artículo, margen, fecha | week1 | week2 |
3 | 1 | 1.5 |
disminución del margen:
No de artículo, margen, fecha | week1 | week2 |
2 | 1 | 0.5 |
Gracias por cualquier ayuda.
Hola @annacqy ,
No se puede lograr en matriz. Por favor, intente pivotar la columna en su tabla y mostrar los valores en la tabla visual y luego puede filtrarlo aumentando o disminuyendo:
A continuación, cree una medida para filtrarla aumentando o disminuyendo:
Measure = SWITCH(TRUE(),MAX('Table'[week2])>MAX('Table'[week1]),0,MAX('Table'[week2])<MAX('Table'[week1]),1,2)
Saludos
Dedmon Dai
Hola Demonio,
Gracias por su respuesta. Me temo que esta no sería la solución para mí. Puesto que tengo un conjunto de datos relativamente grande aquí (10 archivos en una carpeta y cada uno tiene 4000 filas), es arriesgado transponer. Aún así, en los datos de muestra, mostré sólo 2 semanas de historia que es fácil de usar la función de conmutación con la columna de número de semana codificada de forma rígida, mientras que en realidad, necesito mantener la flexibilidad comparando varias semanas (no un número específico).
Por ahora, utilizo con éxito una columna DAX para comparar el aumento/disminución de margen, hace referencia a este post (https://community.powerbi.com/t5/Desktop/Conditional-formatting-on-Rows-based-on-previous-value/m-p/...).
Lo que puedo ver para los siguientes pasos son:
-después de comparar y marcar el aumento/disminución del margen, cree una columna con DAX -- si el elemento se marcó con aumento/disminución para la semana2, entonces podemos marcar la semana 1 como aumento/disminución para el mismo número de artículo.
-En este caso, puedo aplicar esta columna a un filtro para filtrar correctamente la matriz.
la mesa trasera ideal se vería así:
Tema No | Fecha | Margen | comparación de márgenes (éxito con el post vinculado) | Filtrar columna |
1 | week1 | 1 | ||
1 | week2 | 1 | ||
2 | week1 | 1 | Disminución | |
2 | week2 | 0.5 | Disminución | Disminución |
3 | week1 | 1 | Aumentar | |
3 | week2 | 1.5 | Aumentar | Aumentar |
¿Hay alguna forma de que podamos hacerlo?
Hola @annacqy,
Le sugiero que utilice el siguiente dax para crear una columna calculada para clasificar el temNo:
rank =
CALCULATE (
COUNTROWS ( 'Table' ),
FILTER (
ALL ( 'Table' ),
'Table'[tem No] = EARLIER ( 'Table'[tem No] )
&& 'Table'[Index] <= EARLIER ( 'Table'[Index] )
)
)
A continuación, utilice el siguiente dax para crear la columna de filtro:
Column 2 =
VAR b = 'Table'[Margin]
VAR a =
CALCULATE (
MAX ( 'Table'[Margin] ),
FILTER (
ALL ( 'Table' ),
'Table'[tem No] = EARLIER ( 'Table'[tem No] )
&& 'Table'[rank]
= EARLIER ( 'Table'[rank] ) - 1
)
)
VAR c =
CALCULATE (
MAX ( 'Table'[Margin] ),
FILTER (
ALL ( 'Table' ),
'Table'[tem No] = EARLIER ( 'Table'[tem No] )
&& 'Table'[rank]
= EARLIER ( 'Table'[rank] ) + 1
)
)
RETURN
IF (
'Table'[rank] = 1,
SWITCH ( TRUE (), b > c, "decrease", b < c, "increase", BLANK () ),
SWITCH ( TRUE (), b < a, "decrease", b > a, "increase", BLANK () )
)
Para obtener más detalles, consulte el archivo pbix: https://qiuyunus-my.sharepoint.com/:u:/g/personal/pbipro_qiuyunus_onmicrosoft_com/EU2VJv_n_n9PpDgia5...
Saludos
Dedmon Dai
Hola
Sólo traté de practicar esta solución a mi situación y no funcionó.
Creo que no tenía sentido para el uso de EARLIER(). Dado que el número de artículo no es ascendente o descendente en mi situación.
También, como mencioné en el post anterior. Apliqué el método adjunto para crear una columna para mostrar un aumento o una disminución.
¿Podría ayudarme a encontrar una solución basada en mi descripción antes?
Por ejemplo, solo quiero tener una idea de cómo transferir el mensaje de "aumentar" o "disminuir" al mismo elemento de la semana anterior.
Gracias.