桑基图(Sankey Diagram)是PowerBI中最被低估的可视化工具之一,它能直观展示数据在不同维度间的流动和转化关系。

前面我们介绍桑基图的用法和基本应用场景:99%的人没用过!PowerBI 3分钟做出高级感爆棚的桑基图


有伙伴说这个图表用途是不是太窄了,日常分析用不到,其实并不是这样的。


这里以PowerBI星球案例模型为例,来看看它如何应用于我们的日常业务分析中。


对于单层的桑基图,可以直接使用模型中的现有字段来制作桑基图,无需额外加工数据,直接拖拽模型里的现有字段即可完成可视化,真正做到“零门槛”上手。


比如展示每年的销售额中,各个产品类别的分布情况,可以将年度放到【源】中,产品类别放到【目标】中,把销售额放到【权重】中,一个桑基图就出来了:




通过这个图表可以直观看出每年销售额的产品类别分布,也能看出每个产品类别在不同年度的销售结构情况。


还可以看看在这些产品分别是从哪个仓库发出的:





PowerBI桑基图业务运用:让数据结构一目了然

如果想让上面两个桑基图合并为一个多层的桑基图,就需要先构造一个数据结构。


根据桑基图的做图原理,它需要特定的源-目标-权重数据结构:

  • 源字段:起始节点
  • 目标字段:流向节点
  • 权重字段:流量大小(如”销售金额”)

我们可以使用UNION组合多个SUMMARIZE表来构造出这个数据结构。

新建表

桑基图数据 =

UNION(

    SUMMARIZE(‘订单表’,’日期表'[年],’产品表'[产品类别],”销售额”,[销售额 合计]),

    SUMMARIZE(‘订单表’,’产品表'[产品类别],’仓库表'[仓库],”销售额”,[销售额 合计])

)

结果如下:

然后把这个表的三个字段依次放到桑基图的【源】、【目标】和【称重】中,就可以得到一个双层的桑基图。


想要实现更多层的桑基图,都可以利用上面的思路来实现。


桑基图还经常应用于直观的展示财报数据,比如下面这种:



不过这种精美的效果仅依赖PowerBI中的桑基图难以实现,我之前分享过利用其他工具来实现的方法,参考:分享两个制作精美桑基图的宝藏网站