动态展示最近N天的数据,是一个很常见的需求,之前写的文章也介绍过一些思路,这里再专门介绍一下不同场景下的做法。
以下面这个折线图为例,如何只显示最近N天的数据呢?
以今天为基准展示最近30天
这种固定的天数比较简单,不需要DAX,直接通过相对日期切片器或者相对日期筛选器就可以实现。
相对日期切片器/筛选器的用法可参考:如何让PowerBI报告默认显示当月的数据?
以今天日期为基准展示最近N天
动态选择最近N天,也能利用上面的做法来实现,只需要更改相对日期筛选器的天数就可以了。
不过相对日期筛选器不方便用户交互,也不够灵活,粒度不完整,相对日期切片器的样式又不太美观,我们还可以通过模拟参数和DAX来实现这种需求。
首先需要建一个参数让用户来选择天数,关于建立参数可参考:
创建PowerBI「参数」轻松搞定动态分析
然后写个度量值:
最近N天 =
IF(
SELECTEDVALUE('日期表'[日期])<=TODAY()&&
SELECTEDVALUE('日期表'[日期])>TODAY()-[参数 值],
1
)
它的逻辑是判断当前日期是否在今天往前推N天的范围内,如果在这个范围内,返回1,然后将该度量值放到折线图的筛选器中,筛选等于1的数据。
想展示最近几天,利用报告中的参数滑块或者输入框来选择相应的数字就可以了。
以所选日期为基准展示最近N天
这种需求,不仅需要参数、DAX,还需要增加一个辅助日期表,关于它的做法,之前的文章已经介绍过,请参考:
Power BI动态显示最近N天的数据-优化
这种方式可以实现任意一个日期的前N天数据的展现。
上面的几种做法涵盖了常用的场景,如果你有展示最近N月/季/年等其他粒度的需求,也都可以参考上面的思路来实现。
更多关于最近N期的几个特殊场景可参考:
PowerBI动态显示最近N期的数据
Power BI分析技巧:动态展示最近N个工作日
Power BI表格迷你图如何动态显示最近15日数据趋势?
PowerBI星球的最新版内容合辑,值得你收藏学习:
Power BI星球