Power BI模拟麦肯锡数据分档
麦肯锡官网一个图表介绍了自动化对零售业商品管理领域不同工作内容的影响度,把不同工作环节的影响度分为轻、中、重,如下图所示。分档其实无处不在,体重可以是偏瘦、刚好、超重,数字可以是大中小、指标表现可以是好中差。Power BI如何实现这种分档(不一定是三档)?

Power BI在2023年的更新使得内置表格借助SVG图像可以实现麦肯锡的这种效果,以下介绍下实现思路。

下图左侧列示的每项工作内容确定了上下文环境,只需要针对其中的一行进行图表结构分析。总体上看这个图表其实是条形图的变种,图表被三个灰色的长方形分成了三块(分别对应轻、中、重);灰色长方形的上方是一个细条形图,条形图依据数据大小而变化,此处数据进行了分类,可以建一个索引123,1表示轻,2表示中,3表示重;条形的末端是一个正方形装饰。

无论是灰色背景,还是细长的条形,还是末端的正方形,本质上都可以看成是矩形(变长的、变细的、变正的),也可以看成是线条的各种变种。因此,可以有三种思路实现该图表,仅使用SVG的rect标签,仅使用line标签,或者二者混合。以下以rect为例说明。
搞清楚要用什么技术手段后,接下来思考具体布局参数。首先是图表的高度和宽度,上图可以看到图表很宽,但很窄。这里我依据过往经验把宽度设置为480像素,高度30像素。首次设置大概估计即可,后期显示效果不佳可以调整。

这里宽度为什么设置成了480像素?是为了凑整。已知图表被三个长方形平均分成了三块,中间有两个缝隙,所以把单个长方形宽度设置为了150像素,每个缝隙15像素。

三个rect拼接,背景绘制即完成:

背景画完画条形,前期已经分享了几个表格内嵌条形图的案例,把对应代码套用到此处即可。语法和上方的背景没什么不同,区别在于横坐标x的值,此处需要依据轻、中、重对应调整,末端的正方形同理调整。