昨天课上介绍了三个时间智能函数:previousmonth、dateadd和totalMTD。
我在power BI 里做了测试,感觉dateadd函数比其它两个复杂。
先说下昨天的两个思考题:
dateadd函数参照时间段时的汇总逻辑:按照指定的参考时间段、方向和偏移量以及单位返回结果时间段,并且参考时间段的起点和终点在偏移后不能跨单位。
如:指定时间段为20190329-20190331,方向和偏移量为-1,单位为月,则结果时间段为20190228-20190228。
做环比分析时,求上月汇总应该使用dateadd。
因为月汇总是对月初到该月最后一天这个时间段内的值的求和,而dateadd是参考时间段的。
但是我用previousmonth也可以得到正确结果,只是总计值没有,不知道为什么。我觉得这种情况下这么用也没错吧,至少结果是对的。当然如果能深入理解这个函数,知其然并知其所以然,就可以灵活使用了。
Previousmonth, dateadd和totalMTD之间的区别主要在于两个方面,参数和结果时间区间。
Previousmonth参考的是一个时间点,返回的时间区间是上个月的月初到月末。
如果参考给的是一个时间段,那么它是以起点为参考的。(如果是这样,所以环比分析时使用它也可以得到上月的汇总?)
totalMTD参考的也是时间点,是对当前时间点所在月份的月初至当前时间点的量求和。
如果参考给的是一个时间段,那么它是以终点为参考的。
totalMTD的使用方式为:MtD = totalmtd(sum('调用的函数'[金额]),'调用的函数'[日期])
dateadd参考的是时间段,返回的时间区间是偏移后的时间区间,它是把参考的时间段的起点和终点分别偏移,且不能跨单位。
比如 指定参考时间段为20190301-20190331,偏移-1,单位为月,结果应该是20190201-20190228,
指定参考时间段为20190329-20190331,偏移-1,单位为月,结果应该是20190228-20190228 (因为不能跨单位,所以结果时间段长度就成了1天了)。
以上是我目前对这三个时间函数的认识,也许有的地方目前的认识是不对,接下来的学习中再不断实践,也许会有更多发现。








暂无数据