第20天知识点:如何制作瀑布图?
今天和大家分享如何制作瀑布图。
首先,我们了解一下什么是瀑布图。
瀑布图本质上仍然是柱形图,该图表类型由麦肯锡顾问公司独创,因为形似瀑布流水而被称为瀑布图( Waterfall Plot),又名阶梯图(Cascade Chart)或桥图(Bridge Chart)。在实际应用中,瀑布图常用于企业经营情况分析,解释从一个值到另一个值的变化过程。比如评估公司利润、比较产品收益、突出显示项目的预算变更、分析一段时间内的库存或销售情况 、显示一段时间内产品价值变化等。
根据不同的应用场景,瀑布图也衍生出很多种类型,这里我们主要介绍常用的两种。

上图我们可以直观地看到小张小金库的变化情况。一般组成瀑布图适合展示总分结构或序列变化,通过柱子高度展示数据变化的细节,直观易辨。

一种经典的瀑布图类型,图中通过显示收入(正值)和支出(负值)对结余的贡献来显示小张小金库积累的过程。
接下来,我们将以变化瀑布图为例来看看制作瀑布图的过程。

为便于理解,我们以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,为下一步做准备

结果如下图所示:

步骤二:新增汇总列【累计值】,计算出截至到当前,柱子的值,为下一步做准备

结果如下图所示:

步骤三:新增公式列【基础值】,即前面所有柱子的累计值

结果如下图所示:

方法二:在组件中计算
步骤一:自助数据集中添加排序
(PS:为什么不直接在组件中计算排序?因为组件中计算字段结果为聚合值,无法再次进行计算)

结果如下图所示:

步骤二:组件中添加计算字段
IF(OR(用途="月初结余",用途="月末结余"),0,DEF(SUM_AGG(金额),[用途],[排序<=EARLIER(排序-1)]))

计算出基础值之后,我们该如何制作出瀑布图的效果呢?
在Excel中,我们可以通过对底层柱子单独设置颜色,从而达到隐藏底层基础值的效果,就像下面这样:
但FineBI中,并没有对单个柱子进行个性化设置的功能,那么该怎么办呢?

瀑布图中每根柱子的值是绝对值与相对值的结合,所以一般在分析时需要注意将二者分开来。
可以看到开头与结尾两根柱子是从0开始起步的,但是中间其他柱子都是悬浮的,是以前一根柱子为基础起步,这也就是我们表述的绝对与相对的概念,同时这也是瀑布图与普通柱形图的区别。
瀑布图形式丰富多样,但无论如何变化,它们的构成元素都是相似的,只要理解了瀑布图中值是如何构成的,就可以应对各种复杂的场景啦。
今天的学习内容就到这里,感兴趣的小伙伴自己动手试一试吧! |