Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hola
Estoy intentando aplicar algún formato condicional en un objeto visual de matriz que contiene Mes-Año como columnas y métricas (algunas de las cuales son medidas) como valores, con "Mostrar en filas" activado.
El visual de la matriz se ve así, con una sola segmentación de datos seleccionada para "Sitio". En el ejemplo siguiente, la segmentación de datos se establece en el sitio A.
| Enero-2021 | Febrero-2021 |
Paquetes recibidos | 5 | 16 |
Paquetes enviados | 2 | 4 |
Enviado/Recibido % (Medida) | 40% | 25% |
Los conjuntos de datos son los siguientes:
Tengo una tabla de tabulación cruzada que captura entradas mensuales relacionadas con diferentes métricas para los sitios respectivos.
Hoja de sitio/métricas
Mes Año | Sitio | Paquetes recibidos | Paquetes enviados |
Enero – 2021 | A | 5 | 2 |
Febrero-2021 | A | 16 | 4 |
Enero – 2021 | B | 3 | 5 |
Febrero-2021 | B | 6 | 8 |
Enero – 2021 | C | 20 | 10 |
Febrero-2021 | C | 7 | 13 |
Necesito comparar los valores anteriores con una hoja que define el objetivo para una métrica y un sitio determinados.
Hoja de objetivos
Sitio | Métrico | Metas |
A | Paquetes recibidos | 8 |
A | Paquetes enviados | 3 |
A | Enviado/Recibido % | 30% |
B | Paquetes recibidos | 4 |
B | Paquetes enviados | 4 |
B | Enviado/Recibido % | 30% |
C | Paquetes recibidos | 7 |
C | Paquetes enviados | 10 |
C | Enviado/Recibido % | 30% |
El estado ideal sería un visual de matriz que muestre el formato condicional apropiado basado en las métricas, así como la consideración del sitio que se selecciona en la segmentación de datos.
Ejemplo: Verde = Se cumple el objetivo, Rojo = No se cumple el objetivo
Notas de Addtl:
Cualquier aporte/ayuda sería muy apreciado. ¡Gracias!
Solved! Go to Solution.
Allí, @bbui11
Mantenga la medida de resultados sin cambios y cambie la medida de color de la siguiente manera:
_showResult =
IF (
MAX ( 'Goals'[Metric] ) = "Packages Sent",
SUM ( [Packages Sent] ),
IF (
MAX ( 'Goals'[Metric] ) = "Packages Received",
SUM ( [Packages Received] ),
FORMAT ( SUM ( [Packages Sent] ) / SUM ( [Packages Received] ), "0%" )
// SUM ( [Packages Sent] ) / SUM ( [Packages Received] )
)
)
_color =
VAR _cpResult =
IF (
MAX ( 'Goals'[Metric] ) = "Packages Sent",
SUM ( [Packages Sent] ),
IF (
MAX ( 'Goals'[Metric] ) = "Packages Received",
SUM ( [Packages Received] ),
SUM ( [Packages Sent] ) / SUM ( [Packages Received] )
)
) // return IF([_cpResult]>=[goals],"Green","red")
RETURN
IF ( _cpResult >= [goals], "Green", "red" )
Resultado:
Espero que esto ayude.
Saludos
Equipo de apoyo a la comunidad _ Zeon Zheng
Si esta publicación ayuda,entonces considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
Allí, @bbui11
Las dos tablas establecen una relación de muchos a muchos.
A continuación, cree las medidas de la siguiente manera:
_result =
IF (
MAX ( 'Goals'[Metric] ) = "Packages Sent",
SUM ( [Packages Sent] ),
IF (
MAX ( 'Goals'[Metric] ) = "Packages Received",
SUM ( [Packages Received] ),
FORMAT ( SUM ( [Packages Sent] ) / SUM ( [Packages Received] ), "0%" )
)
)
goals = SUM('Goals'[Goals])
_color = IF([_result]>=[goals],"Green","red")
Cree el objeto visual de la matriz y aplique el formato condicional para obtener el resultado
Consulte el archivo adjunto a continuación para obtener más detalles. Espero que esto ayude.
Saludos
Equipo de apoyo a la comunidad _ Zeon Zheng
Si esta publicación ayuda,entonces considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
Hola Zeon,
Muchas gracias por su respuesta. Los resultados y los objetivos parecen estar funcionando bien para los valores enteros, pero los cálculos de % no parecen estar correctamente codificados por colores. Todas las medidas de %, independientemente del valor, aparecen con un fondo verde.
La única forma en que estoy haciendo que funcione, es manteniendo los valores como un número decimal. ¿Conoce alguna solución alternativa para conservar la visualización y comparación del tipo %?
¡Gracias!
Bryan
Allí, @bbui11
Mantenga la medida de resultados sin cambios y cambie la medida de color de la siguiente manera:
_showResult =
IF (
MAX ( 'Goals'[Metric] ) = "Packages Sent",
SUM ( [Packages Sent] ),
IF (
MAX ( 'Goals'[Metric] ) = "Packages Received",
SUM ( [Packages Received] ),
FORMAT ( SUM ( [Packages Sent] ) / SUM ( [Packages Received] ), "0%" )
// SUM ( [Packages Sent] ) / SUM ( [Packages Received] )
)
)
_color =
VAR _cpResult =
IF (
MAX ( 'Goals'[Metric] ) = "Packages Sent",
SUM ( [Packages Sent] ),
IF (
MAX ( 'Goals'[Metric] ) = "Packages Received",
SUM ( [Packages Received] ),
SUM ( [Packages Sent] ) / SUM ( [Packages Received] )
)
) // return IF([_cpResult]>=[goals],"Green","red")
RETURN
IF ( _cpResult >= [goals], "Green", "red" )
Resultado:
Espero que esto ayude.
Saludos
Equipo de apoyo a la comunidad _ Zeon Zheng
Si esta publicación ayuda,entonces considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
@bbui11 ¿Tiene una tabla DimSite para conectar las dos tablas que ha mencionado? También estoy pensando en despivot las métricas y tener una tabla DimMetric también. Para su formato, es posible que deba crear cada uno como una medida explícita, o usar la función FORMAT (que lo convierte en texto) dentro de un SWITCH para cambiar el formato según SELECTEDVALUE(DimMetric[Metric])
Para el formato condicional, volverá a necesitar medidas explícitas que calculen la diferencia entre cada métrica.
Por lo tanto, en total, es posible que necesite 2 o 6 medidas. Uno para los valores que se mostrarán en la matriz y otro para el formato condicional, que toma el valor mostrado y resta el objetivo.
Hágame saber si necesita más orientación y puedo ayudarlo a trazar un mapa más.
Hola Allison,
Gracias por su respuesta. Inicialmente intenté despivot el conjunto de datos y utilicé la función de formato para manejar cada tipo de datos. El problema con el que me estaba topaba con ese método era que los valores de % no se evaluaban adecuadamente con respecto a los valores de los objetivos (decimales).
He creado una medida de "Código de color" que parece estar funcionando. La medida devuelve un valor de 0,1,2 o 3 basado en el valor frente al objetivo determinado por el contexto filtrado del sitio y la fila de la métrica.
A partir de ahí estoy aplicando una regla de formato condicional basada en el valor devuelto (por ejemplo, 3 = verde, 2 = amarillo, etc.)
Parece estar funcionando hasta ahora, pero si me encuentro con algún obstáculo, es posible que deba revisar el método unpivot.
¡Gracias de nuevo por su aportación!
Bryan
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |