Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
1 year ago

Gradiente de calibre por condiciones

Hola a todos,

Actualmente estoy usando el visual. Quiero agregar un gradiente, pero no en un valor determinado, sino en nuestros KPI que son dinámicos

Obviamente, no están cambiando todo el tiempo, pero no quiero establecer el valor de la pendiente al máximo como está ahora, ya que los KPI para la próxima semana podrían cambiar

Me gustaría un gradiente, donde si la cantidad de trabajos de servicio está por debajo del 33% de nuestro KPI para esta semana, entonces un color rojo, cuando supere el 33% pero aún por debajo del 66% me gustaría un color amarillo y si están por encima del 66%, entonces un color verdoso. ¿Es eso posible?

6 Replies

  • Hola @mathias653 ,

    Sí, es posible implementar un degradado de color basado en umbrales de KPI dinámicos en objetos visuales de indicador de Power BI, pero depende del objeto visual que esté usando y de algunas soluciones alternativas.

    Objetivo

    Desea aplicar un formato condicional dinámico a su gráfico de indicadores, en función de cómo se compara el valor real con su KPI semanal:

    • Rojo si < 33% de los KPI

    • Amarillo si ≥ 33% y < 66% de los KPI

    • Verde si ≥ el 66% de los KPI

    1. Crear una medida de logro de KPI %

    Necesitará una medida DAX que calcule el porcentaje del objetivo:

    KPI_Percentage = 
    DIVIDE([ActualServiceJobs], [CurrentWeekKPI])

    Esto debe devolver un valor entre 0 y 1 (por ejemplo, 0,5 significa 50%).

    2. Crear una medida de código hexadecimal de color

    Power BI no permite colores de degradado directamente en objetos visuales de medidor basados en medidas, pero puede aplicar colores dinámicos a través de una medida auxiliar para las herramientas que lo admiten (por ejemplo, tarjeta, barra, KPI).

    Si está utilizando una imagen de terceros o una herramienta como Deneb (que es compatible con Vega), puede ir más allá. Pero para imágenes estándar:

    GaugeColor = 
    SWITCH(
        TRUE(),
        [KPI_Percentage] < 0.33, "#FF4C4C",      -- Red
        [KPI_Percentage] < 0.66, "#FFC300",      -- Yellow
        "#28A745"                                -- Green
    )

    3. Aplicar formato condicional

    En los elementos visuales que lo admiten:

    • Para tarjetas / KPI:

      • Seleccione el objeto visual.

      • Vaya a Colores de datos → haga clic en "fx".

      • Elija "Formato por: Valor de campo" → seleccione la medida GaugeColor.

    Desafortunadamente, el objeto visual de medidor predeterminado en Power BI no admite el formato condicional para el color de relleno basado en una medida.

    Si necesita este comportamiento visual, debe cambiar a:

    Opción 1: "Gráfico de viñetas" visual personalizado o "Indicador de KPI"

    Buscar AppSource para:

    • Gráfico de viñetas de OKViz

    • Indicador de KPI de MAQ Software

    • Deneb (Vega-lite)

    Estos permiten el formato condicional avanzado mediante medidas.

    Opción 2: Utilizar un gráfico de barras/columnas con KPI

    • Mostrar real vs. KPI como barras de progreso.

    • Utilice el formato condicional o el relleno degradado para obtener un aspecto de pseudocalibre.

    Cosas para recordar:

    Si desea mantener la simplicidad del objeto visual actual, pero necesita el gradiente dinámico basado en KPI, considere la posibilidad de cambiar a:

    • Indicador de KPI visual para el estado codificado por colores,

    • O imágenes personalizadas como Deneb si quieres un control total.

    Si esta solución le resultó útil, considere aceptarla y felicitarla (Me gusta), es muy apreciada y ayuda a otros a encontrar la solución más fácilmente.


    Saludos
    Nasif Azam

  • Hola @mathias653

    Pruebe esta medida

    Color del indicador de KPI =

    VAR KPI_Value = [Your_KPI_Measure] -- Reemplácelo con su medida de porcentaje de KPI real

    DEVOLUCIÓN

    INTERRUPTOR(

    VERDADERO(),

    KPI_Value < 0.33, "#FF4C4C", // Rojo

    KPI_Value < 0.66, "#FFD700", // Amarillo

    KPI_Value >= 0.66, "#66CDAA", // Verde

    EN BLANCO()

    )

    Gracias
    Pankaj Namekar | LinkedIn (en inglés)

    Si esta solución ayuda, por favor acéptala y da un aplauso (Me gusta), sería muy apreciado.

  • Hola @mathias653

    Podrías lograr eso, primero tienes que crear una medida específica para el %

    Job_PercentOfKPI =
    DIVIDE([ValorActual], [KPITarget])

    Luego, tienes que establecer el color de tu degradado, para hacer eso, ve a la configuración de tu visual

    En Color, haga clic en el icono de efectos pequeños

    En estilo de formato, seleccione Reglas

    Y aquí, use su medida para configurar el color requerido

    Si lo prefieres, también puedes usar un enfoque para tener directamente el color en tu medida, con algo como

    Job_PercentOfKPI Color =
    Porcentaje de VAR =
    DIVIDE([ValorActual], [KPITarget])
    Devolución
    IF (Porcentaje < 0,33, "color1",
    IF Porcentaje < 0.66,"Color2","Color3)) y aquí en lugar de Reglas, utilizará el valor de campo

  • Hola @mathias653 ,

    Gracias por ponerse en contacto con la comunidad de Microsoft Fabric.

    ¡Gracias @Cookistador @pankajnamekar25 @Nasif_Azam para la pronta respuesta.

    ¿Puedo preguntarle si ha resuelto este problema? Si es así, marque la respuesta útil y acéptela como la solución. Esto será útil para que otros miembros de la comunidad que tengan problemas similares lo resuelvan más rápido.

    Gracias.

  • Hola @mathias653 ,

    Gracias por su respuesta y háganos saber la actualización aquí. Para que esto sea útil para que otros miembros de la comunidad que tengan problemas similares lo resuelvan más rápido.

    Gracias.