Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

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.

Reply
Syndicate_Admin
Administrator
Administrator

Ayuda del escenario de formato condicional

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:

  • Inicialmente intenté despivoting la hoja Sitio/Métricas, pero estaba teniendo problemas para formatear la matriz visual, ya que cada métrica tiene un tipo de datos específico (enteros, decimales, porcentajes.
  • La hoja "Objetivos" tiene actualizaciones recurrentes, por lo tanto, estoy tratando de evitar la codificación rígida en valores para reglas de formato condicional dentro del visual.

Cualquier aporte/ayuda sería muy apreciado. ¡Gracias!

1 ACCEPTED 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:

vangzhengmsft_0-1631671145948.png

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.

View solution in original post

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

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

vangzhengmsft_0-1631519524476.png

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 %?

bbui11_0-1631634936015.png

¡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:

vangzhengmsft_0-1631671145948.png

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.

Syndicate_Admin
Administrator
Administrator

@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

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.