cancel
Showing results for 
Search instead for 
Did you mean: 
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...

Did I answer your question? Mark my post as a solution! Appreciate your Kudos!! !!
Dashboard of My Blogs !! Connect on Linkedin
Want To Learn Power BI
Learn Power BI Beginners !! Advance Power BI Concepts !! Power BI For Tableau User !! Learn Power BI in Hindi !!
Proud to be a Super User!

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
Power BI December 2021 Update_carousel 768x460.jpg

Check it Out!

Click here to read more about the December 2021 Updates!

Jan 2022 Dev Camp 768x460 copy.png

Power BI Dev Camp- January 27th, 2022

Mark your calendars and join us for our next Power BI Dev Camp!

UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!