在条形图 power bi 中为三个表现最差的类别上色

Color three worst performing categories in a bar chart power bi

我想用不同颜色的条形图按销售额显示表现最差的三个子类别。这是我目前正在处理的仪表板,您可以在此处获取数据示例 Sales Superstore Dataset Sample。
任何措施的想法?提前致谢

编辑:我通过以下措施解决了它:

Top N = 
IF
    (SELECTEDVALUE(
        superstore[Sub-Category])
        IN TOPN ( 
            3, 
            FILTER(
                ALLSELECTED(
                    superstore[Sub-Category]),
                    CALCULATE(
                        SUM(
                            superstore[Sales]))>0),
            CALCULATE(SUM(superstore[Sales])),
            ASC),
    "#FD625E",
    "#01B8AA"
)

您可以使用 DAX 函数 SWITCH,如此视频所示:

https://www.youtube.com/watch?v=fOErC7eaWZ0&ab_channel=RADACAD

让我知道它是否适合你

我注意到,条件格式不适用于条形图。但是我们可以通过其他方式实现。

  1. 将销售字段放入条形图的图例和值中。
  2. 转到可视化面板并打开可视化>>列
  3. 列颜色列表按销售额升序排列。
  4. 前三种颜色的销量最差,相应地涂上颜色并在其余列中应用任何一种颜色。
  5. 您想要的条形图已准备就绪。

希望它能解决您的问题。Please refer screenshot

进行一些调试,这是最终的结果,应该也适合您。过滤后条形不着色的原因是,在您的度量中生成的 table 将 non-related sub-categories 的空白值放入当前选定的过滤器而不是删除它们。下面的代码正是这样做的,它应该是这样的。检查一下,如果它解决了您的问题,请告诉我。

Highlight Top N = 
VAR topX = 2
VAR value_to_highlight =
    MAXX(
        TOPN (
            topX,
            CALCULATETABLE (
                ADDCOLUMNS (
                    SUMMARIZE ( Data, Data[Category2] ),
                    "@totalValue", CALCULATE ( [Total Value] )
                ),
                ALL( Data[Category2] )
            ),
            [@totalValue], ASC
        ),
        [@totalValue]
    )
VAR result = 
    SWITCH(
        TRUE(),
        [Total Value] <= value_to_highlight, "red",
        "blue"
    )
RETURN 
    result

结果: