1-1如何在Power BI中筛选一个年份之后,显示该年份最近N年的数据,这是一个有趣的话题,这篇文章将分享如何实现。最终实现的效果如图1-1。
第一步:加载数据
将需要分析的数据加载到Power BI中。
第二步:做两个日期表
其中一个日期表与事实表正常关联,另一个日期表不与任何表做关联。
日期表
第三步:将年份筛选器,从DM日期表2中拖到画布中。
拖放年份到筛选器第四步:将年份筛选器,从DM日期表中拖到右侧表中。
拖放年份到表第五步:编写DAX并拖放到右侧表中
销售 数量 动态 最近2年 =
VAR t1 = MAX( 'DM日期表 2'[@日期] )
VAR t2 = EDATE( t1, - 24 )
VAR t3 =
CALCULATE(
[销售 数量],
KEEPFILTERS(
FILTER(
ALL( 'DM日期表'[@日期] ),
'DM日期表'[@日期] > t2 &&
'DM日期表'[@日期] <= t1
)
)
)
RETURN t3
最终效果如下:
1-1
总结:
从日期表中直接使用年份作为筛选器,由于与事实表有关联,则无法达到看非筛选年份的效果,因此新建一个日期表与事实表不做任何关联,当从新建表DM日期表2中筛选年份时,右侧表中将显示全部年份的数据。获取DM日期表2的最大日期,由于与事实表无关联,因此对于右侧表中每一年都将得到同一个最大日期,不会受到筛选上下文的影响。根据得到的最大日期往前进行推移,减去24个月则相当于向前推移2年。在DM日期表中筛选两个日期之间的数据,将获得最近2年的数据。最终结果如预期一样正确显示。如果需要使用DM日期表2作为该画布页的筛选器,则需要对被筛选的度量值做相关处理,比如使用TREATAS进行重新挂载。
网友评论