Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
hanswittoeck
Helper I
Helper I

KPI para color gráfico de barras

Hola

en https://www.youtube.com/watch?v=zHzSBNES6jE se explica cómo utilizar una medida para colorear las barras en un gráfico de barras.

esto funciona bien, pero quiero llevarlo al siguiente nivel 😊

Quiero referirme a una tabla de "especificaciones" para esto.

ÁreaInferiorSuperiorColor
Jardín020#0000FF
Jardín2050#00FF00
Jardín50100#FF0000

¿Es posible?

¿Alguien puede ayudarme en el camino?

Thx

Hans

Acabo de notar que no es posible añadir imágenes aquí

11 REPLIES 11
V-lianl-msft
Community Support
Community Support

Hola @hanswittoeck ,

Tre esta medida:

Measure = SWITCH(TRUE(),
            MAX('Table'[Area])="Garden"&&MAX('Table'[Qty])>0&&MAX('Table'[Qty])<=20,"#0000FF",
            MAX('Table'[Area])="Garden"&&MAX('Table'[Qty])>20&&MAX('Table'[Qty])<=50,"#00FF00",
            MAX('Table'[Area])="Garden"&&MAX('Table'[Qty])>50&&MAX('Table'[Qty])<=100,"#FF0000")

Debe tenerse en cuenta que cuando hay un campo de leyenda en el gráfico de barras, el formato condicional no es posible.

Saludos
Liang
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

thx @V-lianl-msft , pero en mi mesa al lado de Garden, habrá otras entradas. La solución debe ampliarse cada vez que se agreguen nuevas entradas a la tabla de especificaciones. Debería ser capaz de FILTRO de una u otra manera

Hola @hanswittoeck ,

Tal vez te malinterpretaba. Por favor, pruebe esta medida.

Measure = SWITCH(TRUE(),
            MAX('Table'[Qty])>0&&MAX('Table'[Qty])<=20,"#0000FF",
            MAX('Table'[Qty])>20&&MAX('Table'[Qty])<=50,"#00FF00",
            MAX('Table'[Qty])>50&&MAX('Table'[Qty])<=100,"#FF0000")

Si el problema persiste, ¿podría compartir el pbix de ejemplo a través del servicio en la nube como onedrive para la empresa? (Por favor, enmascarar los datos confidenciales antes de cargar)

Es mejor compartir los resultados que esperaba, para que podamos saber más sobre el escenario.

Saludos
Liang
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

@V-lianl-msft

Siento que me haya llevado algún tiempo responder.

La intención es que el color se realice automáticamente en función de los valores de SPECS.

Si la suma de 'NofOrders' está por encima de la parte inferior y superior, se aplicará el coltor adecuado.

Si selecciona otro Functional_loc_L2, los intervalos cambiarán.

Pero no está claro para mí cómo puedo compartir el pbix contigo. Hice una versión despojada y lo guardé en la compañía onedrive, pero ahora estoy atascado 😕

Hans

Hola @hanswittoeck ,

Es posible que todavía necesite codificación rígida. Como ha dicho, el intervalo para cada área es diferente, por lo que debe crear diferentes condiciones de filtro para cada área. Al igual que la fórmula anterior.
Puede compartir pbix de ejemplo a través de vínculos de OneDrive.

Saludos
Liang
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

hi @V-lianl-msft

yo esperaba que algo como haría el truco

ColorKPI - CALCULATE
(
Valores
(
Especificaciones[Color] ),
Filtro
(
Especificaciones
Especificaciones[Baja] <- ORDER_HEADER[NofOrders]
&& Especificaciones[Superior] > ORDER_HEADER[NofOrders]
&& Especificaciones técnicas[Area] á ORDER_HEADER[Area]
)
)
Pero sigo recibiendo un error. El campo ORDER_HEADER[Area] no se puede usar en esta expresión y no entiendo por qué. Es sólo un filtro adicional para encontrar la línea única que coincida con los criterios. ¿Hay una manera similar de encontrar ese registro único? en otro que funciona.
La codificación rígida no es una opción. Este objeto visual debe utilizarse en diferentes ubicaciones con diferentes áreas que tienen objetivos diferentes.
Su ayuda está muy agradecida.

Hola a todos,

Me estoy acercando a la solución

ColorKPI2 - CALCULATE (
VALUES ( Especificaciones [Color] ),
Filtro
(
Especificaciones
Especificaciones[Baja] <- ORDER_HEADER[nofOrders]
&& Especificaciones[Superior] > ORDER_HEADER[nofOrders]
&& Especificaciones técnicas[Area] á ORDER_HEADER[Area]
))
es finalmente una fórmula de trabajo que devuelve un valor. Sin embargo, todavía hay 1 problema:
nofHeaders es una medida en mi objeto visual que utilizo para contar el número de órdenes, ahora el problema es (por lo que puedo averiguar) que el cálculo de la ColorKPI ocurre antes de que se calcule el total de nofOrders. En un nivel de fila nofOrders siempre es 1, es sólo en el nivel agregado esto debe comprobarse.
@amitchandak , @V-lianl-msft alguna idea de cómo puedo hacer esto?
¿O alguien más?

Hola @hanswittoeck ,

Tratar

sum_nofoeders= CALCULATE (
SUM ( ORDER_HEADER[nofOrders] ),
ALLEXCEPT(ORDER_HEADER,ORDER_HEADER[Area])
)

Saludos
Liang
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

para ser honesto, @V-lianl-msft , no probé su solución.

Razón: Yo mismo encontré una solución:

ColorKPI - CALCULATE(
VALUES ( Especificaciones [Color] ),
keepfilters(
filtro(
Especificaciones
especificaciones[Inferior] <- [NofOrders]
&& especificaciones[Superior] > [NofOrders]
)
)
)
Hace el truco. El problema de suma se resuelve creando una pequeña tabla que contiene las diferentes áreas.
Lo que tengo ahora es una solución de trabajo que permite mantener las especificaciones por área. Al seleccionar el área de an otro, el límite para el cambio de KPI
ColorKPI2.jpg
Si alguien está interesado, estoy dispuesto a compartir un PBIX en esto.
Hans
amitchandak
Super User
Super User

@hanswittoeck, no he probado . Prueba una medida como esta y te devuelve el colum de código de color

Color Date á if(FIRSTNONBLANK('Date'[Date],TODAY()) <today(),"lightgreen","red")

y utilizar eso en formato condicional con la opción de campo

https://radacad.com/dax-and-conditional-formatting-better-together-find-the-biggest-and-smallest-num...

Gracias por su respuesta @amitchandak.

La coloración como tal funciona, mi principal problema es referirse a la tabla 'specs' para encontrar el valor correcto. Lo que necesito es en lenguaje sencillo

colorKPI - si specs.area -área del registro actual

si Cantidad > especificaciones. Inferior y QTY < especificaciones. Superior

entonces las especificaciones. Color

Pero no puedo 'traducir' esto en DAX.

Hans

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.