在商业场景中,有时会需要计算过去某段时间的指标,以此来预测未来的情况。比如用过去三个月的销售均值预测未来一个月的销售额,用其和未来月份的目标值做对比。
那么怎么计算过去三个月的销售额呢?
我们可以用DATESINPERIOD函数,该函数返回指定时间段的时间值构成的单列的表,即该函数可以返回某个时间段的时间。其参数为:
DATESINPERIOD(<dates>,<start_date>,<number_of_intervals>,<interval>)
其中,各参数含义如下:
所以,如果我们需要从上月算起的过去三个月的时间段的话,公式可以这样写:
DATESINPERIOD('Calendar'[Date],EOMONTH(TODAY(),-1),-3,MONTH)
其中EOMONTH(TODAY(),-1)代表今天的日期向前推移一个月的月末日期。
所以,该公式中的起始时间为上月末,推移时间为往前推移3个月,返回这个时间段的日期。
因此,要想计算过去三个月的销售额,只需要外面嵌套上Calculate即可:
CALCULATE([销售额],
DATESINPERIOD('Calendar'[Date],EOMONTH(TODAY(),-1),-3,MONTH))
如果我们不希望以今天的日期为参考,而是希望过去的这个时间段随着年月切片器的变化而变化呢?
比如,当切片器选择2019年5月时,我们希望获取到2019年3月到2019年5月的数据呢?