美文网首页BI学习笔记
函数周期表丨时间智能丨值丨DATEADD(修)

函数周期表丨时间智能丨值丨DATEADD(修)

作者: Fabric丨白茶 | 来源:发表于2020-09-13 14:15 被阅读0次

    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的初学者。

    相关文章

      网友评论

        本文标题:函数周期表丨时间智能丨值丨DATEADD(修)

        本文链接:https://www.haomeiwen.com/subject/jafsektx.html