为什么给日期加上多少天不能用DATEADD函数?| DAX实战小案例
2023-03-20 15:42:56 时间
最近有朋友问到一个Power BI(Pivot)里日期推算的问题:
将一个日期列的所有日期往前推15天,比如2021年11月25日,往前推15天,则是2021年11月10日。
这个问题看似非常简单,但有些朋友会犯一个“高级”错误!因为DAX里有一个“高级”且“简单易懂”的函数DATEADD!
结果,在模型表里新增一列,使用DATEADD函数:
什么鬼?为什么2021年1月15日及以前的日期往前推15天的结果都没了?
其实,这里涉及到一个对“时间智能函数”的理解问题!
首先,时间智能函数调用的日期列,应该是“标记为日期表”的日期(在Power BI里会默认对每个日期列生成一个“日期表”),同时,其结果也会局限在这个“日期表”的范围之内!
上面的2021年1月15日再往前推15天,所得的日期并不在“日期表”的范围之内,所以,其所得结果均为空!
那么,这个问题可以怎么解呢?非常简单,最原始、最“Low”的日期减法,就是正确的解法:
对于时间智能函数,千万不要望文生义地去理解和应用,否则,很容易出了错都不知道。后续我将整理更多的相关案例供大家参考。
相关文章
- 金融服务领域的大数据:即时分析
- 影响大数据、机器学习和人工智能未来发展的8个因素
- 从0开始构建一个属于你自己的PHP框架
- 如何将Hadoop集成到工作流程中?这6个优秀实践必看
- SEO公司使用大数据优化其模型的5种方法
- 关于Web Workers你需要了解的七件事
- 深入理解HTTPS原理、过程与实践
- 增强分析:数据和分析的未来
- PHP协程实现过程详解
- AI专家:大数据知识图谱——实战经验总结
- 关于PHP的错误机制总结
- 利用数据分析量化协同过滤算法的两大常见难题
- 怎么做大数据工作流调度系统?大厂架构师一语点破!
- 2019大数据处理必备的十大工具,从Linux到架构师必修
- OpenCV中的KMeans算法介绍与应用
- 教大家如果搭建一套phpstorm+wamp+xdebug调试PHP的环境
- CentOS下三种PHP拓展安装方法
- Go语言HTTP Server源码分析
- Go语言HTTP Server源码分析
- 2017年4月编程语言排行榜:Hack首次进入前五十