第20天知识点:如何制作瀑布图?
今天和大家分享如何制作瀑布图。
首先,我们了解一下什么是瀑布图。![图片](https://mmbiz.qpic.cn/mmbiz_png/7QRTvkK2qC7Bp3t9wdPciaCVwCeH8rxZEcHCGzqkT4XCeILFkJdgSxvSQqPcAxyFqMDTG7IzqRPwsV4YUDBerEQ/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1)
瀑布图本质上仍然是柱形图,该图表类型由麦肯锡顾问公司独创,因为形似瀑布流水而被称为瀑布图( Waterfall Plot),又名阶梯图(Cascade Chart)或桥图(Bridge Chart)。在实际应用中,瀑布图常用于企业经营情况分析,解释从一个值到另一个值的变化过程。比如评估公司利润、比较产品收益、突出显示项目的预算变更、分析一段时间内的库存或销售情况 、显示一段时间内产品价值变化等。
根据不同的应用场景,瀑布图也衍生出很多种类型,这里我们主要介绍常用的两种。
![](https://hwobs-sq.fanruan.com/shequ_forum/image/b260b86ff7abf001f9ed4ee790e87a1c.png)
上图我们可以直观地看到小张小金库的变化情况。一般组成瀑布图适合展示总分结构或序列变化,通过柱子高度展示数据变化的细节,直观易辨。
![](https://hwobs-sq.fanruan.com/shequ_forum/image/eeebbe07abdb6437d9052b2349baedc6.png)
一种经典的瀑布图类型,图中通过显示收入(正值)和支出(负值)对结余的贡献来显示小张小金库积累的过程。
接下来,我们将以变化瀑布图为例来看看制作瀑布图的过程。
![](https://hwobs-sq.fanruan.com/shequ_forum/image/c38352cbd4407b6d25c2dbd3bf73b83b.png)
为便于理解,我们以2024-01-10这一天的柱子为例来解释一下当中的数据逻辑。
从图中可以看到,小张月初有10000元,1月5日支出2000元用于房租,1月6日支出800元用于水电费,所以截至1月10日前,小张小金库结余10000-2000-800=7200元,1月10日小张收入15000元工资,至此,小张小金库在原来7200元的基础上又增加了15000元,实际共结余7200+15000=22200元。
整体来看的话,每根柱子都可以用基础值+叠加值的方式来表示。
可以发现,除了最后一根柱子,其余柱子值的规律如下:
叠加值也就是【金额】列的值是已知的,所以我们只需要计算出基础值即前面所有柱子的累计值即可。
方法一:在自助数据集中计算
步骤一:新增公式列【辅助列】,将月末结余值替换为0,为下一步做准备
![](https://hwobs-sq.fanruan.com/shequ_forum/image/fc1e663613e078cdac2f9f8918c065be.png)
结果如下图所示:
![](https://hwobs-sq.fanruan.com/shequ_forum/image/caedbdcdb9bb817b226a6ec3c94f03af.png)
步骤二:新增汇总列【累计值】,计算出截至到当前,柱子的值,为下一步做准备
![](https://hwobs-sq.fanruan.com/shequ_forum/image/7089006ffec7e2ca3bb9cba113a442cf.png)
结果如下图所示:
![](https://hwobs-sq.fanruan.com/shequ_forum/image/a7ca0b4db997715941e62575c9be567f.png)
步骤三:新增公式列【基础值】,即前面所有柱子的累计值
![](https://hwobs-sq.fanruan.com/shequ_forum/image/64e8f0509831c324c420e3876ef56dd6.png)
结果如下图所示:
![](https://hwobs-sq.fanruan.com/shequ_forum/image/544bb626a3646bd2d885ed878ffc06ff.png)
方法二:在组件中计算
步骤一:自助数据集中添加排序
(PS:为什么不直接在组件中计算排序?因为组件中计算字段结果为聚合值,无法再次进行计算)
![](https://hwobs-sq.fanruan.com/shequ_forum/image/f6059885a5fd5a85645fa0849a06b28e.png)
结果如下图所示:
![](https://hwobs-sq.fanruan.com/shequ_forum/image/b1adcef809b9117feafd7307308c1c8b.png)
步骤二:组件中添加计算字段
IF(OR(用途="月初结余",用途="月末结余"),0,DEF(SUM_AGG(金额),[用途],[排序<=EARLIER(排序-1)]))
![](https://hwobs-sq.fanruan.com/shequ_forum/image/228e1ee98510e6692d626da6a8f96ad6.png)
计算出基础值之后,我们该如何制作出瀑布图的效果呢?
在Excel中,我们可以通过对底层柱子单独设置颜色,从而达到隐藏底层基础值的效果,就像下面这样:
但FineBI中,并没有对单个柱子进行个性化设置的功能,那么该怎么办呢?
![](https://hwobs-sq.fanruan.com/shequ_forum/image/d52a834f40112548f8d8ecc171b24052.png)
瀑布图中每根柱子的值是绝对值与相对值的结合,所以一般在分析时需要注意将二者分开来。
可以看到开头与结尾两根柱子是从0开始起步的,但是中间其他柱子都是悬浮的,是以前一根柱子为基础起步,这也就是我们表述的绝对与相对的概念,同时这也是瀑布图与普通柱形图的区别。
瀑布图形式丰富多样,但无论如何变化,它们的构成元素都是相似的,只要理解了瀑布图中值是如何构成的,就可以应对各种复杂的场景啦。
今天的学习内容就到这里,感兴趣的小伙伴自己动手试一试吧! |