Cómo crear un KPI dinámico en Power BI: paso a paso
Este tutorial muestra cómo crear un KPI dinámico en Power BI que presenta el valor actual, el objetivo, la variación porcentual y un semáforo (verde/amarillo/rojo). Un KPI dinámico ayuda a enfocar objetivos, comparar con metas e identificar rápidamente desviaciones en el informe.
Requisitos previos
- Power BI Desktop instalado
- Una tabla de hechos con columnas: Date, Value, y una tabla de Metas con Date y Target
- Conocimientos básicos de Power Query y DAX
Paso 1: Preparar los datos y relaciones
Importa tu tabla de hechos (por ejemplo Sales) y la tabla de Metas a Power BI. Crea una tabla de calendario si aún no la tienes. Asegura relaciones adecuadas entre Date del calendar y las demás tablas.
Paso 2: Crear medidas básicas en DAX
Vamos a crear medidas para Valor Actual y Meta. Estas medidas realizan la agregación correcta y permiten contexto de filtro (slicer de fecha, producto, etc.).
Valor Actual = SUM(Sales[Value])
Meta Total = SUM(Metas[Target])
Paso 3: Medida de variación y formato
Crea una medida que calcule la diferencia y el porcentaje entre Valor Actual y Meta Total. Esta medida se usará en la tarjeta y en las reglas de color.
Variação = [Valor Actual] - [Meta Total]
Variação % = DIVIDE([Variação], [Meta Total], 0)
Paso 4: Crear un indicador de estado (semáforo) con lógica
Decide las reglas de negocio: por ejemplo, Verde cuando >= 100% de la meta, Amarillo entre 90% y 100%, Rojo por debajo del 90%. Crea una medida que devuelva texto o código de color.
Estado KPI =
VAR pct = [Variação %]
RETURN
SWITCH(
TRUE(),
pct >= 1, "Verde",
pct >= 0.9, "Amarelo",
"Vermelho"
)
Paso 5: Crear medida de color (HEX) para usar en formato condicional
Para formatear visuales, crea una medida que devuelva valores HEX. Esto permite aplicar el color dinámicamente en la tarjeta o en una forma.
Cor KPI =
SWITCH(
[Estado KPI],
"Verde", "#2ECC71",
"Amarelo", "#F1C40F",
"Vermelho", "#E74C3C",
"#AAAAAA"
)
Paso 6: Montar el visual del KPI
Inserta tres visuales Card (o un visual KPI nativo). En el primer Card coloca la medida [Valor Actual], en el segundo Card coloca [Meta Total] y en el tercero coloca [Variação %] formateada como porcentaje. Para el semáforo usa un visual de forma o una tarjeta con [Estado KPI].
Paso 7: Aplicar formato condicional
Para aplicar color dinámico, selecciona el visual (ej.: Card del Valor Actual) > Format > Data label (o Background) > Conditional formatting > Format by Field value y elige la medida [Cor KPI]. Repite para otros elementos (bordes, fondo, icono).
Paso 8: Mejorar con tooltips y thresholds configurables
Permite que el usuario ajuste límites creando una tabla de parámetros o usando What-if parameter. Crea medidas que lean esos parámetros en lugar de valores fijos (0.9 y 1) para hacer el KPI configurable.
Estado KPI Param =
VAR lim_amarelo = SELECTEDVALUE(ParamTable[AmareloThreshold], 0.9)
VAR lim_verde = SELECTEDVALUE(ParamTable[VerdeThreshold], 1)
VAR pct = [Variação %]
RETURN
SWITCH(
TRUE(),
pct >= lim_verde, "Verde",
pct >= lim_amarelo, "Amarelo",
"Vermelho"
)
Verificar el resultado
Filtra por diferentes periodos en el slicer de Date y confirma que: 1) [Valor Actual], [Meta Total] y [Variação %] se actualizan correctamente; 2) el texto del semáforo cambia según lo esperado; 3) los colores aplicados por formato condicional se modifican de acuerdo con el estado. Prueba los límites exactamente en 90% y 100% para validar la lógica.
Conclusión
Ahora tienes un KPI dinámico en Power BI que muestra valor, objetivo, variación y un semáforo visual configurable. Próximos pasos: añadir drillthrough para detalles, usar un visual custom con iconos y exportar a Power BI Service. Consejo: mantiene las métricas y thresholds documentados para que el equipo sepa cómo interpretar el semáforo.