
DATEADD函数
DATEADD函数属于使用频率非常高的基本函数之一。国内各个类型、各个规模的企业,都无法绕开同比环比问题。对于上下文理解很吃力的小伙伴,使用DATEADD函数不失为一种过渡的手段。
语法
DAX=
DATEADD(<日期列>,<整数>,<粒度>)
参数
日期列:可以是一个具体的日期,可以是一列日期,也可以是一个日期的表达式。
整数:正数向后平移,负数向前,小数四舍五入。
粒度:表示平移的单位。年、季度、月、日。
返回结果
可以是一个具体的值,也可以是一列日期。
例子
模拟数据:

基础代码:
销售额 =
SUM ( '例子'[销售] )
例子1:
DATEADD年份粒度 =
CALCULATE ( [销售额], DATEADD ( '例子'[日期], -1, YEAR ) )

由于白茶是随机瞎填的数据,所以有很多空值选项。但是在红框中能看出来DATEADD的年份粒度平移一年的销售情况。
例子2:
DATEADD季度粒度 =
CALCULATE ( [销售额], DATEADD ( '例子'[日期], -1, QUARTER ) )
结果:

例子3:
DATEADD月份粒度 =
CALCULATE ( [销售额], DATEADD ( '例子'[日期], -1, MONTH ) )
结果:

例子4:
DATEADD日期粒度 =
CALCULATE ( [销售额], DATEADD ( '例子'[日期], -1, DAY ) )
结果:

这里第四种结果白茶单独拿出来说一下,可以很明显的看出来DAX表达式写的没有问题,但是结果却是空值,那么问题出在哪呢?
反应快的小伙伴已经明白了,就是白茶模拟的数据只有每月1号的销售数据,向前平移一天压根就没有数据,那结果不是空值是啥?
其实这就是我们实际写DAX使用时间智能函数经常遇到的问题,就是日期"空值"现象,也就是特殊情况无营业。记得有很多小伙伴经常发消息给白茶说,你给我看看这个代码,明明没啥问题,但是为啥结果是错误的?这都是一些对于数据处理的基础问题。
要解决也简单,要考虑实际需求,可以使用TOPN函数,也可以就这样空值显示,要看实际业务需求的。
小伙伴们,GET了么?
白茶会不定期的分享一些函数卡片哦。
(文件在知识星球[PowerBI丨需求圈])

这里是白茶,一个PowerBI的初学者。
下面这个知识星球是针对有实际需求的小伙伴,有需要的请加入下面的知识星球。
(这个星球里面有白茶之前所有的案例文件。)


ID:Storysming
本文深入讲解了DAX中的DATEADD函数,包括其语法、参数及返回结果,通过多个实例演示了如何在不同时间粒度下进行日期偏移,解决了常见的时间智能函数应用问题。
4050

被折叠的 条评论
为什么被折叠?



