PowerBI小技巧–动态显示默认日期
在企业报表中,特别是电商或零售企业最常用的报表是日报,那么怎么设置才能每天打报表时默认状态都是最新的日期呢?
我们先来构建一张日期表,用到的都是些基础的日期函数,就不再过多介绍
Date =
ADDCOLUMNS (
CALENDAR (DATE(2020,1,1), TODAY()-1),
"Year", YEAR ( [Date] ),
"Month", Month ( [Date] ),
"YearMonth", FORMAT ( [Date], "YYYYMM" ),
"DayOfMonth", DAY( [Date] ),
"DayOfWeek", WEEKDAY ( [Date], 2),
"Quarter", "Q" & FORMAT ( [Date], "Q" ),
"Week", WEEKNUM( [Date] ),
"YearQuarter", FORMAT ( [Date], "YYYYQQQ" ),
"ISO Week", WEEKNUM( [Date], 21),
"ISO Year", YEAR( [Date] + 26 - WEEKNUM( [Date], 21 ) ),
"Week Start Date", [Date] - WEEKDAY ( [Date], 3 )
)
接下来我们新建三个切片器,分别是年月日,如果我们给切片器设定了值,那默认打开报表就是这个值不会变了,比如现在选择的是2022.5.7,那么明天查看报表还是这个日期,这显然是不符合需求的。
所以我们其实是需要一个辅助列来根据日期的变动而变动,比如我们设置默认年,逻辑就是当年份等于当前年份的时候显示为CY,否则就显示为日期格式,同样的逻辑,继续设置月份和日,最后日期表如下
Date =
ADDCOLUMNS (
CALENDAR ( DATE( 2020,1,1 ), TODAY()-1),
"Year", YEAR ( [Date] ),
"Month", Month ( [Date] ),
"YearMonth", FORMAT ( [Date], "YYYYMM" ),
"DayOfMonth", DAY( [Date] ),
"DayOfWeek", WEEKDAY ( [Date], 2),
"Quarter", "Q" & FORMAT ( [Date], "Q" ),
"Week", WEEKNUM( [Date] ),
"YearQuarter", FORMAT ( [Date], "YYYYQQQ" ),
"ISO Week", WEEKNUM( [Date], 21),
"ISO Year", YEAR( [Date] + 26 - WEEKNUM( [Date], 21 ) ),
"Week Start Date", [Date] - WEEKDAY ( [Date], 3 ),
"DefautYear", IF( YEAR( [Date] ) = YEAR( TODAY() - 1 ), "CY", FORMAT( [Date], "YYYY/MM/DD" ) ),
"DefautMonth", IF( MONTH( [Date] ) = MONTH( TODAY() - 1 ), "CM", FORMAT( [Date], "mm" ) ),
"DefautDay", IF( DAY( [Date] ) = DAY( TODAY() - 1 ), "Today", FORMAT( [Date], "dd" )
))
对应的把刚才的三个切片器的值替换为刚才新的三个默认值就好,效果如下
但是,这样,不熟悉报表的人,首先看到CY,CM这样的选项可能并不知道这究竟是哪一年哪一月。我们只需要在原有的切片器上添加筛选即可,比如年份的筛选器,我们把DefautYear添加到Year的视觉对象筛选器上,然后设置默认值
同样的方法再设置月份和日,就会得到这样的效果,但是问题又来了,我们无法选择其他日期了,这又要借助书签了,创建两个书签,一个是添加了视觉对象筛选器的,一个是没添加视觉对象筛选的。
效果如下
上海疫情还不知道要到什么时候,现在小区居委每天都在小区喊我们还是封控小区,请不要在外面走动,不要遛狗。不过,现在应该没先前严重了吧,因为上海又重新定义了密接,以前哪怕是同一户有阳性,也只是拉走阳性的,现在是同层的都要拉走。这也说明了现在资源没那么紧缺了吧,希望疫情早日过去,小区那么大,我想去走走。
本篇文章来源于微信公众号: PowerBI木小桼