在条形图 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
让我知道它是否适合你
我注意到,条件格式不适用于条形图。但是我们可以通过其他方式实现。
- 将销售字段放入条形图的图例和值中。
- 转到可视化面板并打开可视化>>列
- 列颜色列表按销售额升序排列。
- 前三种颜色的销量最差,相应地涂上颜色并在其余列中应用任何一种颜色。
- 您想要的条形图已准备就绪。
希望它能解决您的问题。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
结果:
我想用不同颜色的条形图按销售额显示表现最差的三个子类别。这是我目前正在处理的仪表板,您可以在此处获取数据示例 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
让我知道它是否适合你
我注意到,条件格式不适用于条形图。但是我们可以通过其他方式实现。
- 将销售字段放入条形图的图例和值中。
- 转到可视化面板并打开可视化>>列
- 列颜色列表按销售额升序排列。
- 前三种颜色的销量最差,相应地涂上颜色并在其余列中应用任何一种颜色。
- 您想要的条形图已准备就绪。
希望它能解决您的问题。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
结果: