利用Power BI书签,轻松切换不同维度的数据展现

源自于星友遇到的实际问题,他在做报表设计时,想在页面动态显示本年、本季、本月的数据,具体来说,在页面中设计有日期切片器和几个按钮,先选择一个日期,然后:

选择本月,显示本月截至到该日期的每日数据;

选择本季度,显示该日期所在季度截至到该日期的每月数据;

选择本年,显示该日期所在年度截至到该日期的每月数据。

效果如下:

这是如何实现的呢?

因为座标轴也是根据切片器的选择动态变化的,如果只在一张柱形中展现,做起来相对比较复杂,但是我们可以换个思路,做三张图表,然后利用书签和按钮来切换这三张图表,就可以很简单的实现了。

具体步骤如下:

1、建立度量值

为了能够动态显示截至到某个日期的本月/本季/本年数据,需要建立3个度量值:

本月数据 =

VAR t=DATESMTD('切片日期表'[日期])

RETURN

IF(SELECTEDVALUE('日期表'[日期]) IN t , [收入] )

本季数据 =

VAR d=SELECTEDVALUE('切片日期表'[日期])

VAR t=DATESQTD('切片日期表'[日期])

RETURN

IF(

MIN('日期表'[日期]) IN t ,

CALCULATE([收入],FILTER('日期表','日期表'[日期]<=d)))

本年数据 =

VAR d=SELECTEDVALUE('切片日期表'[日期])

VAR t=DATESYTD('切片日期表'[日期])

RETURN

IF(

MIN('日期表'[日期]) IN t ,

CALCULATE([收入],FILTER('日期表','日期表'[日期]<=d)))

这几个度量值的逻辑都是利用了时间智能函数,来找出日期上下文所在的月份、季度、年度区间,从这里也可以看出,这几个时间智能函数都是返回一张表的。

2、制作三张图表

因为本月数据是按日期来展示的,所以座标轴用日期字段,[本月数据]作为值字段,

而本季数据是按月来展示,所以月份作为轴:

展示本年数据时,同上面的季度数据一样,也是用月份作为轴:

3、制作书签并利用按钮切换

插入三个按钮,文本分别设置为本月、本季、本年。

将上面的三个图表叠加到一起,视图中打开选择面板,隐藏本季和本年的柱形图,只显示本月的柱形图,创建本月数据的书签。

然后再隐藏本月和本年的柱形图,只显示本季的图表,创建本季数据的页面书签;同样的步骤创建本年数据的书签。

然后将三个书签分别添加到三个对应按钮的操作属性中,就实现了本文开头的效果。

关于书签的用法请参考:

PowerBI中的书签,真的非常有用!

利用Power BI的按钮和书签,动态切换图表

关于动态报表的设计,这是一个很常见的需求,当利用DAX和一张图表较为困难时,都可以考虑按照书签的思路来搞定。



我的新书《PowerBI商业数据分析》上市了

PowerBI商业数据分析

-精彩推荐-

PowerBI数据分析和可视化实战案例

Power BI商业数据分析模型:RFM客户价值分析

如何用PowerBI 打造高大上的财务报表分析报告?

采悟 from PowerBI星球

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章