在知识星球社群中,碰到了一个这样的问题,
简单来说,就是如何在两条折线图之间添加柱形图,并用不同的颜色标记中间的柱形。
刚看到这个问题,感觉实现不了,因为PowerBI中并没有这样的视觉对象,但转念一想,这不就是折线和柱形组合图吗,应该是可以构造出来的,然后马上动手尝试,果然轻松实现,这篇文章就简单介绍一下。
模拟个每天的数据表,以及对应的日期表,先建立两个度量值:
当日数据 = SUM('数据表'[数据])
15日平均 =
AVERAGEX(
DATESINPERIOD('日期表'[日期],MIN('日期表'[日期]),-15,DAY),
[当日数据]
)
写15日平均这个度量值,主要是为了模拟两条折线的效果,关于移动平均可以参考这篇文章:你做的预测不靠谱?是因为你不知道用移动平均!
然后用上面两个度量值,放到折线和堆积柱形图的【行值】生成两条折线图:
下面就来看看如何在这两条折线中添加柱形图。
总体思路是是利用折线和堆积柱形图,折线图上面已经做好;而堆积柱形图下方的柱子是这两条折线的最小值,之间的柱子是两条折线的差额,因为还要显示不同的颜色,需要将是否高于均线分别写度量值。
按这样的思路,写三个度量值如下:
最小值 = MIN( [当日数据] , [15日平均] )
高于均线部分 =
IF( [当日数据] > [15日平均] , [当日数据]-[15日平均] )
低于均线部分 =
IF( [当日数据] < [15日平均] , [15日平均]-[当日数据] )
将三个度量值放到折线和堆积柱形图的【列值】中,如下:
然后设置数据颜色,将最小值设置为与背景色一致,高于均线和低于均线分别设置为两种颜色,就可以实现这样的效果:
在两条折线图中间填充折线,并以不同的颜色显示,可以醒目的看到是哪些数据高于均值、哪些数据低于均值,以及差异的大小,非常直观。
关键是,这个可视化的制作,并没有用到复杂的DAX和操作,希望对大家有所帮助,打开PowerBI可视化制作思路。
-精彩推荐-
采悟 from PowerBI星球
网友评论