技巧分享 | 如何自动改变时间切片器的默认值


各位读者大家好,今天工坊为大家带来的是工作技巧分享,如何能够让时间切片器的默认值随年份推移而变化,同时能够查看过去时间的数据呢?一个小小的计算列会帮你找到解决方案。


在实际应用中,往往会有这样的需求,在Power BI Desktop做好报表后,发布之前可能会需要对某些切片器设置一个默认值,比如将货币切片器默认成人民币,把年度切片器默认成当年等等。这样,报表查看者每次打开报表就能直接看到其最关心、最常看的数据内容,而不需要每次先手动筛选出自己关心的数据,当其想改变筛选内容来查看其他数据范围时,可以手动更改切片器的选项。
但是当我们想把时间切片器设置成默认值时就有点尴尬了。比如,我们往往希望报表打开时,时间默认成当年或者当月的数据。如果我们发布前设置成了当前年-2019年,但到了下一年2020年,这个默认值是不会随之改变的。有人会可能会想到,可以使用相对日期筛选啊,如下图。

file

如图,我们在报告级筛选器上设置了相对日期筛选-当前年,而这样就会造成该报告数据的时间范围被限定在了当年,我们如果想看过去年份的数据的话,是无法查看的。
这样既不能设置成一个固定的默认时间,也不能设置相对日期筛选,那怎样才能实现我们想要的效果呢?

我们可以采用一个变通的方法实现。我们可以在日期表中添加一个计算列,判断每行日期是否为当前年,而其是否为当前年只跟今天“TODAY()”有关,此判断会随着时间的变化而更新。

file

我们把此计算列作为一个切片器放到报表页面,该切片器默认设置成“Yes”,这样,每次打开报表时,时间会默认成当天所在的年份,而当我们想看历史数据时,把“Yes”的勾选取消即可。是不是很简单!
file

但是有个问题需要特别注意,那就是--Power BI 在线版的服务器时间和我们本地桌面版的系统时间不一样。无论是国际版还是中国本地版,Power BI 在线版默认都是UTC时间。而北京时间与UTC时间有8个小时的时差。比如我们在本地Power BI Desktop 中写一个now = NOW()的度量值,显示时间为2019/8/6 16点25分,而发布以后显示的时间却为2019/8/6 上午8点25。
file

file

为了确保计算的准确性,需要对函数进行调整。由于北京时间比UTC时间早8个小时,所以我们的公式调整为:

Power BI 在线版北京时间= Now() +8/24

关于此知识,详情可参考公众号的另外一篇文章:
如何解决Power BI在线版和本地版的时区差异问题

今天的分享就到这里,小伙伴们下期再见~

  • PowerPivot工坊原创文章,转载请注明出处!

    如果您想深入学习微软Power BI,欢迎登录网易云课堂试听学习我们的“从Excel到Power BI数据分析可视化”系列课程。或者关注我们的公众号(PowerPivot工坊)后猛戳”在线学习”。


长按下方二维码关注“Power Pivot工坊”获取更多微软Power BI、PowerPivot相关文章、资讯,欢迎小伙伴儿们转发分享~

Power Pivot工坊