liuyong2730

2020-06-25   阅读量: 2453

Power BI

求上月汇总时应该使用previousmonth 还是 dateadd? Power BI的 时间智能函数 previousmonth、dateadd和totalMTD

扫码加入数据分析学习群

昨天课上介绍了三个时间智能函数:previousmonth、dateadd和totalMTD。

我在power BI 里做了测试,感觉dateadd函数比其它两个复杂。

先说下昨天的两个思考题:

    • dateadd函数参照时间段时的汇总逻辑:按照指定的参考时间段、方向和偏移量以及单位返回结果时间段,并且参考时间段的起点和终点在偏移后不能跨单位。

      如:指定时间段为20190329-20190331,方向和偏移量为-1,单位为月,则结果时间段为20190228-20190228。

    • 做环比分析时,求上月汇总应该使用dateadd。

      因为月汇总是对月初到该月最后一天这个时间段内的值的求和,而dateadd是参考时间段的。

      image.png

      但是我用previousmonth也可以得到正确结果,只是总计值没有,不知道为什么。我觉得这种情况下这么用也没错吧,至少结果是对的。当然如果能深入理解这个函数,知其然并知其所以然,就可以灵活使用了。

      image.png


Previousmonth, dateadd和totalMTD之间的区别主要在于两个方面,参数和结果时间区间。

  • Previousmonth参考的是一个时间点,返回的时间区间是上个月的月初到月末。

    如果参考给的是一个时间段,那么它是以起点为参考的。(如果是这样,所以环比分析时使用它也可以得到上月的汇总?)

  • totalMTD参考的也是时间点,是对当前时间点所在月份的月初至当前时间点的量求和。

    如果参考给的是一个时间段,那么它是以终点为参考的。

    totalMTD的使用方式为:MtD = totalmtd(sum('调用的函数'[金额]),'调用的函数'[日期])

  • dateadd参考的是时间段,返回的时间区间是偏移后的时间区间,它是把参考的时间段的起点和终点分别偏移,且不能跨单位。

    比如 指定参考时间段为20190301-20190331,偏移-1,单位为月,结果应该是20190201-20190228,

    指定参考时间段为20190329-20190331,偏移-1,单位为月,结果应该是20190228-20190228 (因为不能跨单位,所以结果时间段长度就成了1天了)。


以上是我目前对这三个时间函数的认识,也许有的地方目前的认识是不对,接下来的学习中再不断实践,也许会有更多发现。

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
39.2110 4 4 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子