分享一波常用的日期动态滚动显示的小技巧,类似的方法还有很多,这里举3个小案例参考。
一、根据所选日期滚动显示近12月的数据(日期为年月格式)
效果图:
实现逻辑:
rolloing_month =
//所选日期为年月格式,根据所选日期,滚动展示12月值
var selectedate = SELECTEDVALUE('D_Calendar'[Year&Month])
var startdate =LEFT(SELECTEDVALUE('D_Calendar'[Year&Month]),4)-1&RIGHT(SELECTEDVALUE('D_Calendar'[Year&Month]),2)
var display =
CALCULATE(SUM(financials[ Sales]),
FILTER(('financials'),
FORMAT('financials'[Date],"yyyymm")>startdate&&FORMAT('financials'[Date],"yyyymm")<=selectedate)
)
return display
备注:其中事实表financials表和d_calendar没有创建关联关系。
二、根据所选日期前滚动6个月数据(日期类型)
效果图:
实现逻辑:
var selectedate = SELECTEDVALUE('D_Calendar'[DATE])
var startdate = DATEADD(D_Calendar[DATE],-6,MONTH)
var display =
CALCULATE(SUM(financials[ Sales]),
FILTER(('financials'),
'financials'[Date]>startdate&&'financials'[Date]<=selectedate)
)
return display
三、根据所选日期,显示截止所选日期当年所有的值
效果图:
实现逻辑:
current_year_rolling =
var selectedate = SELECTEDVALUE('D_Calendar'[DATE])
var startdate = DATE(YEAR(selectedate),1,1)
var display =
CALCULATE('Measure'[Measure],
FILTER(('financials'),
'financials'[Date]>=startdate&&'financials'[Date]<=selectedate)
)
return display