Codificación de colores con DAX

Un usuario Pregunto ✅

Anónimo

Con la última versión de Desktop, obtuvimos algunas posibilidades de codificación de colores con DAX.

https://docs.microsoft.com/en-us/power-bi/desktop-conditional-table-formatting#color-formatting-by-f…

Estoy tratando de implementarlo en mi escenario.

Estoy usando la medida «Valor de la medida» que devuelve diferentes valores de KPI que dependen de la selección de una segmentación.

Si selecciono VALOR COMPARTIDO en una segmentación, la medida devolverá el valor compartido en formato de porcentaje.

Pero si selecciono VALUE SALES IYA, la medida devolverá el valor del índice de ventas en comparación con el año anterior en formato de número.

Measure Value = 
var 
   MySelection = SELECTEDVALUE('Measures 1'[MEASURE ID])
return
   SWITCH(
       TRUE();
          MySelection = 1;FORMAT([VALUE SHARE];"0.0%");
          MySelection = 2;FORMAT([VALUE SHARE DYA];"0.0%");
          MySelection = 3;FORMAT([VALUE SALES IYA];"0");
          MySelection = 4;FORMAT([VOLUME SALES IYA];"0");
          MySelection = 5;FORMAT([$/SU IYA];"0");
          BLANK()
          )

Estoy usando la tabla Matrix para visualizarlo.

Ahora voy a colorear los campos según los valores de «Valor de la medida».

Para ello he creado otra medida:

Measure Value Color = SWITCH(TRUE();
                               [Measure Value] <=1;"#000000";
                               [Measure Value] <99,5;"#e60000";
                               [Measure Value] <100,5;"#000000";
                               [Measure Value] <999999;"#2d862d";
                               "#000000"
                             )   

No importa qué KPI seleccione en la segmentación, el «Color del valor de la medida» tiene sentido para todos.

Luego trato de aplicar formato condicional para «Valor de la medida» de esta manera:

Captura.PNG

No puedo seleccionar Color de valor de medida.

Parece que está bloqueado. Puede verlo en la pantalla anterior, pero no puede seleccionarlo. 😞

¿Estoy haciendo algo mal?

El ejemplo que Microsoft demostró en la película parece funcionar, pero no el mío.

CConsultores1

Quiero algo como esto en gráfico de barras en power bi. Necesito mostrar los datos del año pasado en el gráfico y si este año es mayor que el año pasado, el color de la barra sería verde y si es menor, la barra sería roja. ¿Es factible y si no lo es, entonces hay alguna otra forma de mostrar los datos de esa manera? Gracias Sin título.png

molegris

Hola,

Esto me pasa todo el tiempo. Y siempre es porque se me olvidó cambiar el tipo de medida que devuelve los códigos de colores. El valor predeterminado es «número» incluso cuando su fórmula devuelve un texto. Tienes que forzarlo a «texto». Entonces ya no estará deshabilitado/en gris en la lista de selección de campo.

molegris_0-1636573757875.png

–mes

anonimo_98

Hola @anónimo y @Seward12533,

Estaba enfrentando el mismo problema y pude solucionarlo.

como lo solucione

Cambié el tipo de datos a TEXTO de la medida que cambia el color.

A continuación se muestra la medida que usé para cambiar el color. por defecto el tipo de dato de esta medida era decimal. por lo que no estaba funcionando.

Supongo que la lógica detrás de esto es que estamos devolviendo un código HEX que está en formato de TEXTO. entonces, si el tipo de datos es decimal, no funcionará, pero si es TEXTO, funcionará.

Triangle Color = 
    SWITCH(
        TRUE(),
        [Amt] > 1000, "#00d600",
        [Amt] < 1000, "#d60000"
    )

Seward12533

Su Calor de Medida es TEXTO Tiene que ser numérico. Intente envolver el valor de la medida dentro de su INTERRUPTOR de su medida de color con un VALOR() para concertar un número.

Anónimo

En respuesta a Seward12533

Gracias Seward

Si envuelvo SWITCH () en Value() así:

Measure Value = 
var 
   MySelection = SELECTEDVALUE('Measures 1'[MEASURE ID])
return
  VALUE(
   SWITCH(
       TRUE();
          MySelection = 1;FORMAT([VALUE SHARE];"0.0%");
          MySelection = 2;FORMAT([VALUE SHARE DYA];"0.0%");
          MySelection = 3;FORMAT([VALUE SALES IYA];"0");
          MySelection = 4;FORMAT([VOLUME SALES IYA];"0");
          MySelection = 5;FORMAT([$/SU IYA];"0");
          BLANK()
          )
       )    

Estoy recibiendo un error:

Captura1.PNG

Seward12533

En respuesta a Anónimo

No como este

Color del valor de medida = INTERRUPTOR (VERDADERO ();
VALOR([Measure Value]) <=1;"#000000";

Anónimo

En respuesta a Seward12533

Measure Value Color = SWITCH(TRUE();
                               VALUE([Measure Value]) <=1;"#000000";
                               VALUE([Measure Value]) <99,5;"#e60000";
                               VALUE([Measure Value]) <100,5;"#000000";
                               VALUE([Measure Value]) <999999;"#2d862d"
                             )   

Gracias Seward, pero eso no cambia nada. Sigue siendo el mismo error

Seward12533

En respuesta a Anónimo

¿Se puede compartir un PBIX? ¿Supongo que cambió su función de valor de medida de nuevo a donde estaba?

Anónimo

En respuesta a Seward12533

Finalmente logré esto de esta manera:

1) Creó dos medidas como se muestra a continuación.

Valor de medida: me da un formato de número que quiero

Measure Value = 
var 
   MySelection = SELECTEDVALUE('Measures 1'[MEASURE ID])
return
   SWITCH(
       TRUE();
          MySelection = 1;FORMAT([VALUE SHARE];"0.0%");
          MySelection = 2;FORMAT([VALUE SHARE DYA];"0.0%");
          MySelection = 3;FORMAT([VALUE SALES IYA];"0");
          MySelection = 4;FORMAT([VOLUME SALES IYA];"0");
          MySelection = 5;FORMAT([$/SU IYA];"0");
          BLANK()
          )

Valor de medida 2: este se utiliza para la codificación de colores

Measure Value2 = 
var 
   MySelection = SELECTEDVALUE('Measures 1'[MEASURE ID])
return
   SWITCH(
       TRUE();
          MySelection = 1;[VALUE SHARE];
          MySelection = 2;[VALUE SHARE DYA];
          MySelection = 3;[VALUE SALES IYA];
          MySelection = 4;[VOLUME SALES IYA];
          MySelection = 5;[$/SU IYA];
          BLANK()
          )

2. Aplicar reglas de codificación de colores

Nota. Uso Measue Value en el campo «Valores» en mi visualización. Luego use el formato condicional «colores de fondo»

formateado por reglas, basado en el campo Valor de medida2

Captura5.PNG

Así que finalmente terminé con el formato de número y color.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *