Power BI 中的原生瀑布图现在还不是那么的完美,存在着一些问题。之前我们也介绍过使用折线和堆积柱形图实现一个堆积瀑布图的方法。
参考:
突破原生,Power BI 如何制作堆积瀑布图
Power BI 中的瀑布图默认是这样的。
而我们需要的瀑布图是这样的。
虽然上面的瀑布图有一些第三方视觉对象可以很好的实现,但是我们还是找到了一种使用原生视觉对象实现的方法。
今天我们就介绍下如何利用折线和堆积柱形图做出一个瀑布图。
上述瀑布图使用 Power BI 中的折现和堆积柱形图实现,共分为五部分,第一部分是我们黑色的总计值;第二部分是绿色的增长值;第三部分是红色的下降值;第四部分是折线,表示数据的变化;最后一部分则是非总计部分下方的柱子,这里将它们的透明度设置为了 100%,使得当前类别变化值是基于积累值而变化。
在创建图形之前,要先构建出这样一个数据集。
这里是否总计列表示当前指标是否为总计,1 表示是,也就是瀑布图中的黑色柱子。指标反转列代表当前指标的好坏,像材料、人员、货运等对于企业来说都是支出,这里标记为反转指标。
我们先来创建一个针对金额列求和的度量值。
然后求出非总计科目的变化值,如果当前科目指标需要反转,变化值为负科目金额。
变化值 =
IF (
SELECTEDVALUE ( '息税前利润'[是否总计] ) = 0,
IF (
SELECTEDVALUE ( '息税前利润'[指标反转] ) = 1,
- [科目金额],
[科目金额]
)
)
总计列。
总计 =
IF (
SELECTEDVALUE ( '息税前利润'[是否总计] ) = 1,
[科目金额]
)
接下来是非总计积累值部分,这部分相当于非总计部分变化值的一个底座,是根据第一个总计科目加上之前科目的变化值得来的。
积累值 =
VAR vID =
SELECTEDVALUE ( '息税前利润'[科目 ID] )
VAR v1 =
CALCULATE (
[科目金额],
FILTER (
ALLSELECTED ( '息税前利润' ),
[科目 ID] = 1
)
)
VAR vVariance =
IF (
SELECTEDVALUE ( '息税前利润'[是否总计] ) = 0,
SUMX (
FILTER (
ALLSELECTED ( '息税前利润' ),
[科目 ID] < vID
&& [是否总计] = 0
),
[变化值]
) + v1
)
RETURN
IF (
[变化值] >= 0,
vVariance,
vVariance + [变化值]
)
因为堆积柱形图同一数据系列下的柱形颜色是一样的,所以这里我们要将变化值分为两个数据系列,一个是正,一个是负。
正 =
IF (
SELECTEDVALUE ( '息税前利润'[是否总计] ) = 0
&& [变化值] >= 0,
[变化值]
)
虽然是变化值为负,但是在图形上的一个具体值为正值,只是用红色表示下降。
负 =
IF (
SELECTEDVALUE ( '息税前利润'[是否总计] ) = 0
&& [变化值] 0
,
ABS ( [变化值] )
)
创建完这些度量值之后,新建一个折线和堆积柱形图,在列 Y 轴上依次添加总结、积累值、正和负度量值。
转到视觉对象格式设置的列选项,将积累值数据系列的颜色透明度设置为 100%,将总计数据系列的颜色设置为黑色,正数据系列设置为绿色,负数据系列设置为红色。
设置完的样子,初具雏形。
最后就是添加一个折线了。
折线 =
[负] + [正] + [积累值] + [总计]
将折线度量值添加到行 Y 轴上,转到格式设置的行选项,将直线插补类型设置为步骤。
最后美化一下瀑布图就完成啦。
完美,感兴趣的小伙伴赶快去试一试吧。
如果你对本文的 Power BI 源文件感兴趣可以私信老师了解领取方式。
数据分析精英都会遇到的二十大分析问题
数据分析精英都在学习的五大能力境界
他们是:企业老板,高管,CFO,分析...
可以体验百万级真实企业项目案例,彻底打通任督二脉
🚀
《业财分析之道》
:
业务财务人数字化能力必修课
。
📈
《经营分析之道》
:
企业指标拆解及经营分析框架
。
🔍
《
数据分析之道
》
:
精通分析十大方法加十大模型
。
💡
《
商业智能之道
》
:
更专业更系统化学习 Power BI
。
🔗
如何获取更多信息?扫描下方二维码具体咨询。
这样老师才能更快地识别并回应