You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Microstrategy:如何用AddDays函数处理数据集日期列计算上周日期?

解决AddDays函数逐行计算上周日期的问题

嘿,我明白你的困扰了——你想给数据集中每一行的delivery_date都减去7天得到上周的对应日期,但发现AddDays好像只能用度量当参数?其实问题出在你用错了计算方式,不是度量,而是要创建计算列来实现逐行处理!

具体操作步骤很简单(以Power BI为例,其他DAX环境比如SSAS Tabular逻辑一致):

  • 切换到数据视图,找到你的数据集表
  • 点击顶部「建模」选项卡的「新建列」
  • 输入下面的DAX表达式,把你的表名替换成你实际的表名称:
    上周日期 = ADDDAYS('你的表名'[delivery_date], -7)
    

这样一来,每一行的delivery_date都会被单独传入AddDays函数,自动减去7天生成对应的上周日期。比如当delivery_date是3/21/2018时,这个计算列就会返回3/14/2018,完全符合你的需求。

为什么之前会觉得AddDays只接受度量?大概率是你在度量里直接引用列的时候,DAX会自动对列做聚合(比如取最大值或者求和),导致不是逐行计算。而计算列本身就是针对每行数据执行的,所以可以直接把日期列作为AddDays的第一个参数来用。

内容的提问来源于stack exchange,提问作者Abhilash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:36:01