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

DATEADD如何移除日期表其他列筛选?为何无需REMOVEFILTERS?

DATEADD为啥不用额外移除筛选就能正常工作?

你的场景回顾

  • 表格视觉对象包含Year、Month、TotalCases三列
  • 写的度量公式:
Test = CALCULATE(SUM(FACTSALES['TOTALCASES']), DATEADD(DATETBL['date'], -1, Month))
  • 已禁用自动日期时间,日期表未标记为日期表(因为包含多客户日历数据)

核心原因:DATEADD本身就会替换原日期筛选

当你的表格用Year和Month做筛选时,本质是给DATETBL['date']加了一个范围筛选(比如选中2023年10月,就相当于筛选出该月所有日期)。

DATEADD的逻辑是接收当前上下文里的日期筛选范围,对范围内的每个日期做偏移计算,生成一个全新的日期范围——比如把2023年10月的所有日期往前推1个月,得到2023年9月的所有日期。

而CALCULATE会自动用这个新生成的日期范围,替换掉原来Year和Month对应的日期筛选条件,根本不需要额外加REMOVEFILTERS(DATETBL)来清除原筛选。

补充:未标记日期表也生效的原因

虽然你的日期表没标记为日期表,但只要DATETBL['date']和FACTSALES里的日期列有正确的关联关系,DATEADD依然能正常工作。它的计算基于当前筛选的日期值集合,不是必须依赖日期表的标记属性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 10:11:04