需求梳理:powerbi仅对区间类型的筛选器才会默认选出最大日期,但下拉列表或者列表筛选器,都只能在发布时默认选中一个值。这样就导致如果发布时日期选中的1号的值,那在3号打开报表时想看2号最新数据时,需要重新筛选日期列表。因为PowerBI筛选器功能的限制,所以我们可以采用如下的方法:默认一直选中一个名称,但是可以筛选实际的最新日期数据。
1.第一步:获取事实表中最大日期
maxdate = MAXX(ALL(T_FACT),T_FACT[DATA_TIME])
2.第二步:判断日期列是否为最大日期,如果日期列值等于表中最大日期则为current date,否则展示实际日期
新建字段:Current Date = IF(T_FACT[DATA_TIME]=[maxdate],"Current Date",T_FACT[DATA_TIME])
实际效果如下:
写在最后:实现默认选中最新日期的方法有很多种,万变不离其宗!!!这边我仅介绍了使用DAX的实现方法,感兴趣的小伙伴还可以实现M函数等方法实现。
实用小技能:单MONTH默认选中最新月份筛选器,可能会导致排序有问题,因为使用MONTH函数取出来的值是:1、2、3.....11、12,再加上current month这个字符串,Month这列会变成text类型,text类型是字符类型,powerbi对字符类型的排序是1、11、12、2......。小伙伴可以判断拼接上"0",这样排序就正常,或者是FORMAT这个日期类型字段为("MM")效果如下: