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

基于已有度量值实现多月份连续滚动预测的DAX问题求助

连续滚动预测的DAX度量值修改方案

需求说明

现有三个度量值:[% Accepted]、[% Accepted Prior Month]、[Avg % Change],需要实现:

  • 当[% Accepted]因当月无数据为空时,通过「上月值(含预测值) + 当月[Avg % Change]」计算预测值
  • 支持多月份连续滚动预测:以上一月的预测值作为下一月的前置值,叠加对应月份的[Avg % Change]持续计算

当前DAX度量值

Forecast = 
VAR _CurrentValue = [% Accepted]
VAR _ProjectedValue = [% Accepted Prior Month] +  [Avg % Change]

RETURN
IF(ISBLANK(_CurrentValue), _ProjectedValue, _CurrentValue)

问题

该度量值仅能计算第一个空白月份的预测值,后续空白月份无法引用上月的预测值,仅返回[Avg % Change]本身。

效果对比

预期效果

Month Year% Accepted% Accepted Prior MonthAvg % ChangeForecast
Apr 2023NullNull-2.0010.03
Mar 2023NullNull-1.512.03
Feb 2023NullNull2.0013.53
Jan 2023Null10.31.2311.53
Dec 202210.311.28-3.110.3
Nov 202211.2814.52.1411.28

当前效果

Month Year% Accepted% Accepted Prior MonthAvg % ChangeForecast
Apr 2023NullNull-2.00-2.00
Mar 2023NullNull-1.5-1.5
Feb 2023NullNull2.002.00
Jan 2023Null10.31.2311.53
Dec 202210.311.28-3.110.3
Nov 202211.2814.52.1411.28

修改后的DAX度量值

Forecast = 
VAR CurrentMonthEnd = MAX('Date'[MonthEndDate]) // 需确保日期表包含每月月末日期列
VAR PriorMonthEnd = EOMONTH(CurrentMonthEnd, -1)
VAR ActualValue = [% Accepted]

// 递归获取上月的预测值
VAR PriorForecast = 
    CALCULATE(
        [Forecast],
        'Date'[MonthEndDate] = PriorMonthEnd
    )

// 获取最后一个有实际值的接受率
VAR LastActualValue = 
    CALCULATE(
        [% Accepted],
        FILTER(
            ALL('Date'),
            'Date'[MonthEndDate] < CurrentMonthEnd && NOT(ISBLANK([% Accepted]))
        ),
        LASTNONBLANK('Date'[MonthEndDate], [% Accepted])
    )

RETURN
IF(
    NOT(ISBLANK(ActualValue)),
    ActualValue,
    IF(
        NOT(ISBLANK(PriorForecast)),
        PriorForecast + [Avg % Change],
        LastActualValue + [Avg % Change]
    )
)

说明

  1. 递归逻辑:通过调用自身度量值[Forecast]获取上月的预测值,实现滚动计算
  2. 初始值处理:当是第一个空白月份时,自动获取最后一个有实际值的[% Accepted]作为初始值
  3. 时间准确性:使用月末日期确保时间序列的连续性,避免因月份文本排序问题导致计算错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 03:35:57