桑基图(Sankey Diagram)是PowerBI中最被低估的可视化工具之一,它能直观展示数据在不同维度间的流动和转化关系。
前面我们介绍桑基图的用法和基本应用场景:99%的人没用过!PowerBI 3分钟做出高级感爆棚的桑基图
有伙伴说这个图表用途是不是太窄了,日常分析用不到,其实并不是这样的。
这里以PowerBI星球案例模型为例,来看看它如何应用于我们的日常业务分析中。
对于单层的桑基图,可以直接使用模型中的现有字段来制作桑基图,无需额外加工数据,直接拖拽模型里的现有字段即可完成可视化,真正做到“零门槛”上手。
比如展示每年的销售额中,各个产品类别的分布情况,可以将年度放到【源】中,产品类别放到【目标】中,把销售额放到【权重】中,一个桑基图就出来了:
通过这个图表可以直观看出每年销售额的产品类别分布,也能看出每个产品类别在不同年度的销售结构情况。
还可以看看在这些产品分别是从哪个仓库发出的:

如果想让上面两个桑基图合并为一个多层的桑基图,就需要先构造一个数据结构。
根据桑基图的做图原理,它需要特定的源-目标-权重数据结构:
-
源字段:起始节点 -
目标字段:流向节点 -
权重字段:流量大小(如”销售金额”)
我们可以使用UNION组合多个SUMMARIZE表来构造出这个数据结构。
新建表
桑基图数据 =
UNION(
SUMMARIZE(‘订单表’,’日期表'[年],’产品表'[产品类别],”销售额”,[销售额 合计]),
SUMMARIZE(‘订单表’,’产品表'[产品类别],’仓库表'[仓库],”销售额”,[销售额 合计])
)
结果如下:
然后把这个表的三个字段依次放到桑基图的【源】、【目标】和【称重】中,就可以得到一个双层的桑基图。