前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PowerBI 保持数据刷新后仍显示最后一天

PowerBI 保持数据刷新后仍显示最后一天

作者头像
BI佐罗
发布2020-07-02 11:34:46
2.6K0
发布2020-07-02 11:34:46
举报
文章被收录于专栏:PowerBI战友联盟PowerBI战友联盟

这个问题我们之前讲过,很多小伙伴问起,我们再来说明下。

问题重述

PowerBI 提供了自动化的报表,每天都会更新。问题是如何保持报告每天都被默认选择为当天?

相对日期

假设今天是2020.06.20,那么,可以使用相对日期筛选器,如下:

该筛选器使用日期表中的日期列作为筛选条件,并设置使用相对日期筛选,如下:

这样就可以确保总是显示相对于今天的上一天。

那么,此时的报告在数据自动更新后,总会显示为相对今天的数据。

注意,这里的相对今天也可能是相对今天的上一天

日期的相对性

在报表的时间体系中,其实有两套坐标系:

  • 现实世界
  • 报表世界

现实世界,其中的今天是以现实现实世界的时间来做参考的;报表世界,其中的今天是以报表刷新的最后日期来做参考的。

在 PowerBI 给出的可视化控件中,目前给到用户的是一种静态设置,如下:

定位标记日期指定了要相对的日期,默认是现实世界的今天。这并不能满足我们的需要。

所以,问题一就来了:如何基于某个动态日期点给出筛选,该动态日期点由度量值给出

日期列表筛选器

日期的相对性问题,只是问题之一,另一个问题是,如果使用日期表作为筛选器,如下:

这种效果有时候是用户一定需要的,选择一个具体的日期点,但问题来了两个:

  • 该切片器不会随着数据的更新而自动选择最后更新的日期
  • 该切片器如果使用日期表的日期,会显示没有事实数据的日期

问题的分析

至此,积累了三个问题,如下:

  • 第一条,如何基于某个动态日期点给出筛选,该动态日期点由度量值给出。
  • 第二条,切片器应随着数据的更新而自动选择最后更新的日期。
  • 第三条,切片器应只显示有事实数据的日期供用户选择。

这里的入手点是:切片器应随着数据的更新而自动选择最后更新的日期。

通过观察,很快发现 PowerBI 的切片器是不会自动选择某个选项的,至少这绝不会由数据更新而触发,那么,就必须要确保切片器默认选择的选项永远都必须是合理的,例如:假设报告最后刷新日期是 2020.06.27 那么,

这种表现就是默认下可以确保所需效果的。

首先需要一个度量值:

代码语言:javascript
复制
Start:Date.LastDate.All = MAXX( ALL( 'Order'[OrderDate] ) , [OrderDate] )

然后构造一个计算列:

代码语言:javascript
复制
日期视图 = 
IF( [Date] = [Start:Date.LastDate.All] , "最后一天" , FORMAT( [Date] , "yy/MM/dd" ) )

这样就实现了效果:

我丢,这效果有点不对,除了“最后一天”,其他的日期都显示了出来,这也需要处理。

最终实现

在积累的第二条问题得到解决后,再来看让现在的日期只是相对于我们需要的日期来显示,这就需要:“切片器的切片器”技术。

构建一个度量值如下:

代码语言:javascript
复制
Topic.Date.IsValid = 
IF( VALUES( 'Calendar'[Date] ) <= [Start:Date.LastDate.All] , 1 , 0 )

该度量值用来判断如果是报告最后晒新日期以内的,用 1 表示,否则标记为无效,用 0 表示。

将该度量值用作上述切片器的切片器,如下:

这样就 OK 了。

细节优化

如果觉得这样不够完美,用户不知道最后一天是哪天,可以这样做,再做一个度量值:

代码语言:javascript
复制
Topic.CurrentDate = 
IF( 
    SELECTEDVALUE( 'Calendar'[日期视图] ) = "最后一天" , 
    FORMAT( SELECTEDVALUE( 'Calendar'[Date] ) , "yy/MM/dd" ),
    DATEDIFF( SELECTEDVALUE( 'Calendar'[Date] ) , [Start:Date.LastDate.All] , DAY ) & "天前"
)

并用一个文本来做显示,如果用户默认选择了最后一天,则:

否则:

相当完美。

总结

PowerBI 并不是完美的,而且有非常多的问题,而可以弥补这些问题的方法有的人认为是技巧,而有的人认为是设计师的构思和巧妙的灵感。

PowerBI 将固定化的工具和设计师的能力有机地结合在一起,好玩。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PowerBI战友联盟 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题重述
  • 相对日期
  • 日期的相对性
  • 日期列表筛选器
  • 问题的分析
  • 最终实现
  • 细节优化
  • 总结
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档