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

DAX如何计算去年同期对应前n天区间的数值总和?

DAX 上一年对应时段求和实现方案

前置依赖

  • 已搭建独立的日期维度表,且标记为官方日期表,日期维度表和事实表通过日期列建立一对多关联
  • 可直接配置固定天数n,也可新建动态参数实现n的灵活调整

核心度量值代码

去年同期对应区间求和 = 
VAR 当前上下文最大日期 = MAX('日期表'[日期])
VAR n = 5 -- 此处可替换为动态参数引用,按需调整数值
VAR 本期区间起始 = 当前上下文最大日期 - n
VAR 本期区间结束 = 当前上下文最大日期 - 1
VAR 去年同期起始 = DATE(YEAR(本期区间起始)-1, MONTH(本期区间起始), DAY(本期区间起始))
VAR 去年同期结束 = DATE(YEAR(本期区间结束)-1, MONTH(本期区间结束), DAY(本期区间结束))
RETURN
CALCULATE(
    SUM('事实表'[待求和的数值字段]),
    REMOVEFILTERS('日期表'), -- 旧版DAX可替换为ALL('日期表')
    '日期表'[日期] >= 去年同期起始,
    '日期表'[日期] <= 去年同期结束
)

规则匹配验证

  • 当n=1时:本期区间为单天(当前日期往前推1天),计算结果为去年同一天的数值总和,完全匹配示例中2017.05.30对应2016.05.30的计算要求
  • 当n=5时:本期区间为当前日期往前推5天的范围,计算结果为去年同起止日期区间的总和,完全匹配示例中2017.05.252017.05.30对应2016.05.252016.05.30的计算要求

可选优化

如果需要兼容闰年2月29日的特殊场景,可在日期转换逻辑中新增判断,若去年对应日期不存在则自动调整为2月28日即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 20:54:01