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

Power BI:基于当前日期计算过去五年动态YTD销售额

解决方案

核心思路是提取当前日期的月日部分,以此为基准筛选各年度内从年初到对应月日的销售额,同时限定计算范围为过去五年。以下是具体DAX度量值及说明:

动态年度截至当日销售额 = 
VAR CurrentDate = TODAY()  -- 获取当前日期(示例为5/22)
VAR CurrentMonthDay = FORMAT(CurrentDate, "MMDD")  -- 提取月日格式字符串,如"0522"
VAR Past5Years = DATESINPERIOD('日期表'[日期], CurrentDate, -5, YEAR)  -- 锁定过去五年的日期范围
VAR FilteredDates = 
    FILTER(
        Past5Years,
        FORMAT('日期表'[日期], "MMDD") <= CurrentMonthDay  -- 筛选各年度内早于/等于当前月日的日期
    )
RETURN
    CALCULATE(
        SUM('销售表'[销售额]),
        FilteredDates,
        ALL('日期表'[年份])  -- 确保各年度独立计算,不受当前年份上下文限制
    )

关键细节说明

  • CurrentMonthDay:统一用月日字符串匹配各年度截止点,避免因闰年、不同月份天数导致的日期匹配误差。
  • FilteredDates:替代内置YTD函数的固定逻辑,精准筛选到对应年度的当日,而非整月数据。
  • ALL('日期表'[年份]):若报表存在年份切片器或上下文,该函数可保证每个年度的YTD计算独立生效。

闰年特殊处理(可选)

若当前日期为2月29日,可将非闰年的截止日自动替换为2月28日,修改CurrentMonthDay变量即可:

VAR CurrentMonthDay = 
    IF(
        FORMAT(CurrentDate, "MMDD") = "0229",
        "0228",
        FORMAT(CurrentDate, "MMDD")
    )

使用前提

  1. 模型中需包含独立日期表,并在Power BI中标记为日期表(建模 > 标记为日期表)。
  2. 销售表与日期表通过日期字段建立正确关联。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 11:04:50