一、背景
DAX中已经有诸如YTD,QTD,MTD时间智能函数。用起来也比较方便。
但很多时候需要看历史累计至今的数据,需要自己根据实际情况写dax。
今天抛砖引玉,写一个示例。
二、数据源:
就两列
date:2017/8/1…2018/8/23(今天刚好是23号,就模拟来一个这样的数据)
value:1(都是1方便观测)
如图:
习惯先写总计方便后续调用
total:=SUM([value])
1、用filter写的如下:
leiji_F:=
var sd=firstdate(all('data'[date]))
var ed=lastdate('data'[date])
var t=filter(all('data'),'data'[date]>=sd&&'data'[date]<=ed)
return
calculate('data'[total],t)
2、用calculatetable写的如下:
leiji_C:=
var sd=firstdate(all('data'[date]))
var ed=lastdate('data'[date])
var t1=datesbetween('data'[date],sd,ed)
var t=calculatetable('data',t1,all('data'[日期 (季度)],'data'[日期 (年)],'data'[日期 (月)]))
return
calculate('data'[total],t)
3、效果如下:
切片7月
切片8月
by焦棚子