Tutorial Power BI: Formatos Condicionales

Uno de los efectos visuales más buscados en los paneles de Business Intelligence es el Formato Condicional. Power BI ya tenía opciones en las tablas y matrices y en algunas visualizaciones personalizadas, pero en la actuación de Junio de 2019 ha extendido las posibilidades de esta opción de formato.
El Formato Condicional consiste en que el color de la visualización cambia en función del valor mostrado. Normalmente se usa un código semafórico:
- Verde: un valor bueno, es decir, que está dentro del rango de valores que son positivos para el negocio. Indican que esta medida o KPI es correcta y que no es necesario, en principio, realizar ninguna acción.
- Ambar: para aquellos valores cercanos a los extremos del rango de valores positivos. Igual que en un semáforo, quiere decir que debemos estar atentos porque tiene riesgo de convertirse en rojo.
- Rojo: es un valor negativo para el negocio, esto es, que está fuera de los valores que hemos marcado y por lo tanto debemos tomar las acciones necesarias para que vuelva a ser verde lo antes posible.
Cuando hablo de valores positivos y negativos no me refiero a mayores o menores que cero, sino a si son buenos para la empresa o no. Por ejemplo un valor negativo puede ser bueno si lo que medimos son los gastos de la empresa respecto al año anterior. Si es negativo quiere decir que estamos reduciendo costes y eso afectará positivamente al resultado de la compañía.
Formato Condicional el tablas y matrices
Las tablas y matrices fueron las primeras visualizaciones en incluir formatos condicionales. Se pueden aplicar al color del texto, al fondo de la celda o en forma de barra dentro de la celda.

Para incluir este tipo de efecto en tus tablas y matrices, una vez que tengas la visualización creada debes pulsar en el desplegable del campo al que quieres añadir formato condicional y allí tendrás la opción:

Como ves en la imagen anterior, en esta opción del desplegable ya deberás decidir si quieres aplicar el formato al fondo de la celda, al color de texto o incluir barras.
En la ventana de formato condicional podrás elegir entre 3 formatos:

- Escala de Colores: indicas un color para el valor mínimo y otro para el máximo y Power BI crea un degradado para aplicar un color del mismo en función del valor de la celda. Puedes hacerlo con 2 o 3 colores, indicando también un color para el valor intermedio.
- Reglas: En este caso debes indicar rangos de valores y el color a asignar a cada rango. Seguramente sea el formato más utilizado.
- Valor de Campo: En esta opción debemos disponer de un campo que indique el color a asignar. Incluso puedes incluir código DAX para asignar el color.

Truco Power BI: Si te fijas, hay un campo llamado “Según el campo“. Podemos poner un formato condicional por ejemplo en el campo Ventas (el importe de las ventas) pero que esté basado en el Margen en %.
Opciones de Formato Condicional en Gráficos
Las opciones en tablas y matrices son más conocidas, pero ¿puedo hacer algo similar en el resto de visualizaciones? La respuesta es que sí, pero es posible que no lo supieras porque la opción de Formato Condicional está más escondida.
Si creas por ejemplo un gráfico de barras, y vas a las opciones de formato de los datos, no verás opción para el formato condicional:

Pero sí que existe y está ahí: prueba a situar el cursor sobre la opción y verás que aparecen 3 puntos sobre los que puedes pulsar:

Y ¡tacháaaan! aparece la opción de formato condicional:


De este modo podemos crear un diagrama de evolución de ventas en euros, pero en el que el color de cada columna esté basado en el % de margen:

Nuevas opciones añadidas en Junio de 2019
Como he comentado al principio del post, este mes de Junio han incluido más opciones de formato condicional. Vamos a repasarlas:
Color de Fondo y Títulos
Hasta ahora hemos visto como cambiar el color de los datos en nuestras visuales de Power BI, pero con esta nueva opción podremos poner formato condicional a los títulos y fondos de las mismas. Esto puede ser muy útil en visuales como las tarjetas simples o de varias filas:

La forma de configurar esta opción es la misma que el menú “secreto” explicado anteriormente, pero en este caso se encuentra en la opción de formato de “Color de Fondo” o “Título” en vez de “Color de Datos”.
Formato Condicional en Tarjetas (Cards)
Aparte de las opciones mencionadas para modificar el fondo y el color del título, en las tarjetas podremos cambiar el color de las etiquetas de datos y categoría:

Esta opción es muy buena para presentar KPIs importantes para la empresa. Del mismo modo que las anteriores, podemos configurarlo a través del menú “secreto”, pero en este caso desde el formato de “Etiqueta de Datos” o “Etiqueta de Categoría”.
Formato Condicional en Medidores (Gauge Fill)
Una de las opciones más esperadas y solicitadas en la comunidad. Es muy común usar los conocidos como “Cuenta Revoluciones” o “Cuenta Kilómetros” para indicar el estado de un KPI. Hasta ahora no había formato condicional en este tipo de visualizaciones, pero ya lo tenemos desde el mes pasado.

A través del menú “secreto” de Color de Datos podemos ya personalizar este tipo de visualizaciones.
El truco final: Formato Condicional en títulos
Seguramente te has enfrentado a alguna situación en la que lo que muestra tu gráfico cambia en base a filtros del informe. En este caso ¿qué título pondremos? ¿No podemos hacer que cambie en base a lo que se muestra? La respuesta es que sí … desde hace poco.
Lo primero que debemos hacer es crear una medida con una fórmula que nos proporcione el título en base a ciertas condiciones. Por ejemplo podemos usar la siguiente fórmula DAX:
Título Dinámico = if(COUNTROWS(Categorias)=1;"EVOLUCIÓN DE VENTAS (€) DE " & UPPER(max(Categorias[Categoria]));"EVOLUCIÓN DE VENTAS (€)")Si se ha seleccionado una categoría de producto concreta, el título será “Evolución de Ventas (€) “+ El nombre de la Categoría. En cambio, si no hay una categoría seleccionada o seleccionan varias, sólo pone como título “Evolución de Ventas (€) “.
Una vez creada la medida, en la opción de formato de “Título” verás que también aparecen los 3 puntos para el menú “secreto” de Formato Condicional. En la pantalla que aparece deberás indicar el campo que nos proporciona el título dinámico:

De este modo puedes tener un gráfico cambia su título en base a los filtros de categoría de producto:

OS dejo el panel que he utilizado de ejemplo de todos estos casos de uso para que podáis “jugar” con él a través de los filtros de mes y categoría y ver como van actuando los formatos condicionales y títulos dinámicos:
Recordad que si queréis poder descargar el fichero pbix original para ver fórmulas y configuraciones detalladas debéis suscribiros a la newsletter.
Conclusión
Como veis, los formatos condicionales han evolucionado mucho en este 2019 en Power BI. Es posible que no estuvieses al tanto de las novedades o que no encontrases como aplicarlas (la verdad es que no lo han puesto muy intuitivo en algunos casos) y por eso he decidido hacer este post.
¿Conocías todas estas opciones? ¿crees que falta alguna opción adicional? Recuerda que siempre puedes hacer tus sugerencias de nuevas mejoras o funcionalidades en la comunidad de Power BI en el apartado de Nuevas Ideas para que la gente las vote y las incluyan en el RoadMap de producto.







Hola, estoy trabajando con la visualización KPI indicator, lamentablemente, sólo me ordena el tiempo (meses) por orden alfabético, existe algún truco que pueda aplicar a la base de dato que me permita visualizar los meses en el orden lógico (de enero a diciembre) y no alfabético.
Gracias!!!
Hola Bárbara,
En Power BI puedes indicar que un campo se ordena en base a otro. Para el caso de los meses, si tienes en una columna de la tabla los nombres de los meses y en otra el número de mes puedes indicar que el campo “Nombre Mes” se ordena en base al campo “Numero Mes”. Tienes un tutorial en vandalytic donde lo explicamos con todo detalle: https://vandalytic.com/como-ordenar-un-campo-en-base-al-valor-de-otro/
Si te queda alguna duda contacta de nuevo.
Gracias por leernos!
Gracias!
Creo que encontré mas o menos la forma de resolverlo, pero se me ha presentado otro problemilla y es que al graficar grafica bien, sin embargo, al querer visualizar el valor actual me he dado cuenta que es el mismo que el target, como te digo esto sólo pasa cuando quiero ver cuál es el valor actual que me repite en todos el valor del target, pero la gráfica sí representa fielmente las variaciones del valor actual según la tabla de origen.
Gracias por responder!
¿Puede ser que en la visualización del valor actual tengas el campo agregado por Máximo o última fecha o valor en vez de promedio? Si tuviese más información podría ayudarte.
Buenas tardes,
Tengo una duda, estoy trabajando con las tarjetas y quiero ponerle un objeto visual al lado que dependiendo del número de la tarjeta tenga un color u otro. Hay más de una tarjeta con valores diferentes, mediante una regla consigo que cambie el relleno del objeto dependiendo del valor de la tarjeta, la duda empieza aquí, todos los objetos siguen la regla del primer valor de la lista de datos y yo lo que necesito es que cada objeto cambié el color dependiendo de la tarjeta que tiene al lado. ¿Alguien sabe como puedo hacerlo? Conectar cada objeto a cada tarjeta.
Muchas gracias,
Un saludo.
Hola Alberto,
No sé si entiendo bien el problema.
Creo que lo mejor sería crear una medida con DAX para cada tarjeta y luego en los objetos que tienes al lado de cada tarjeta poner un formato condicional en base al valor de esa medida de la tarjeta.
Un saludo,