首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么给日期加上多少天不能用DATEADD函数?|DAX实战小案例

最近有朋友问到一个Power BI(Pivot)里日期推算的问题:

Q

将一个日期列的所有日期往前推15天,比如2021年11月25日,往前推15天,则是2021年11月10日。

这个问题看似非常简单,但有些朋友会犯一个“高级”错误!因为DAX里有一个“高级”且“简单易懂”的函数DATEADD!

结果,在模型表里新增一列,使用DATEADD函数:

什么鬼?为什么2021年1月15日及以前的日期往前推15天的结果都没了?

其实,这里涉及到一个对“时间智能函数”的理解问题!

首先,时间智能函数调用的日期列,应该是“标记为日期表”的日期(在Power BI里会默认对每个日期列生成一个“日期表”),同时,其结果也会局限在这个“日期表”的范围之内!

上面的2021年1月15日再往前推15天,所得的日期并不在“日期表”的范围之内,所以,其所得结果均为空!

那么,这个问题可以怎么解呢?非常简单,最原始、最“Low”的日期减法,就是正确的解法:

对于时间智能函数,千万不要望文生义地去理解和应用,否则,很容易出了错都不知道。后续我将整理更多的相关案例供大家参考。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20211126A01F7K00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券