Una de las cosas que me gustan de mis cursos de capacitación en línea en vivo es que escucho excelentes preguntas desde las trincheras de personas que están aprendiendo DAX y Power BI. La semana pasada, John me preguntó cómo aplicar formato condicional con un campo de texto (no es un campo numérico). Sabía que se podía hacer, pero requería una breve investigación antes de poder dar una respuesta. Es bastante fácil aplicar formato condicional en un campo numérico; esta característica se agregó a Power BI hace algún tiempo. Sin embargo, Microsoft también ha agregado la capacidad de aplicar formato condicional a un campo de texto también en algunas circunstancias.
Ejemplo
Para comprender el proceso de configuración de esto, considere la siguiente tabla de datos simple.
Acabo de ingresar algunos datos de muestra simples usando la opción de menú «Ingresar datos». Como puede ver, el Proyecto 2, el Proyecto 3 y el Proyecto 5 tienen departamentos asociados con ellos, mientras que el Proyecto 1 y el Proyecto 4 no.
Suponga que desea utilizar formato condicional para resaltar (código de color) cuáles de los Proyectos tienen Departamentos asociados y cuáles no.
El método
El proceso de alto nivel consiste en:
- Cree una medida que devuelva un color como resultado
- Puede ser una palabra, como azul, rojo, verde.
- Puede ser un código hexadecimal para un color, como # 40E0D0 ″, «# FFA07A».
- Use formato condicional y use la medida para aplicar el formato al texto como regla.
Aquí se explica el proceso paso a paso.
Para empezar, creé una medida de prueba de la siguiente manera.
Test = VAR Dept = SELECTEDVALUE(Projects[Department]) RETURN IF(Dept <> BLANK(), Dept, "No Dept")
A continuación, coloqué un tabla visual en el informe y agregó las columnas proyecto, departamento y la medida de prueba.
Como puede ver, la medida identifica cuáles de los proyectos tienen departamento y cuáles no. Por tanto, esta medida de prueba tiene la lógica necesaria para pasar al siguiente paso.
A continuación, creé una nueva medida [Colour Project], tomando la lógica de la medida de prueba que creé arriba y modificándola para generar nombres de colores. Esto se puede lograr simplemente devolviendo códigos hexadecimales o nombres comunes de colores.
Colour Project = VAR Dept = SELECTEDVALUE(Projects[Department]) RETURN IF(Dept <> BLANK(), "#40E0D0", "#FFA07A")
El siguiente paso es activar el formato condicional para la columna del proyecto para que se coloree según la medida. [Colour Project] encima.
Para aplicar el formato condicional, hice clic en la flecha hacia abajo (n. ° 1 a continuación) junto al proyecto y luego en el formato condicional (n. ° 2 a continuación) y luego en el color de fondo (n. ° 3 a continuación).
En el cuadro de diálogo de color de fondo que aparece, seleccione formato por valor de campo (# 1 a continuación) y basado en el proyecto de color de campo (# 2 a continuación). Haga clic en Aceptar.
El campo de texto «proyecto» ahora está formateado condicionalmente por la lógica dada por la medida [Colour Project] utilizando los códigos hexadecimales elegidos.
También es posible aplicar formato condicional utilizando palabras, como «Verde» y «Rojo».
Para ilustrar esto, creé la medida [Colour Test] basado en la lógica utilizada previamente de la siguiente manera.
Colour Test = VAR Dept = SELECTEDVALUE(Projects[Department]) RETURN IF(Dept <> BLANK(), "Green", "Red")
A continuación, apliqué el formato condicional a la medida original. [Test] usando el color de la fuente. solía formato por prueba de color. Y el resultado es el siguiente.
Reflexiones finales sobre el formato condicional con un campo de texto
Vale la pena señalar que estoy usando la tabla visual para este artículo. Todas las columnas y medidas se colocan en la sección Valores del objeto visual. El formato condicional solo funciona cuando una columna o medida se encuentra en la sección Valores de un objeto visual. Si usamos una matriz en su lugar y colocamos el proyecto en filas, no puede aplicar formato condicional a ese campo.