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

Power BI:计算过去3个月及12个月的MTD平均销售额

Power BI 计算过去3/12个月的MTD销售额平均值

前提准备

确保你的模型满足以下条件:

  • 存在一张标记为日期表的Date表(右键表 > 标记为日期表),包含完整日期序列,且需添加YearMonth列(公式:YearMonth = FORMAT('Date'[Date], "YYYY-MM"))
  • 包含sales列的事实表(如Sales),且与Date表通过日期字段建立关联关系

过去3个月MTD销售额平均值度量

过去3个月MTD销售额平均值 = 
VAR CurrentDay = DAY(MAX('Date'[Date]))
VAR Past3Months = 
    DATESINPERIOD(
        'Date'[Date],
        MAX('Date'[Date]) - 1, // 排除当前月份
        -3,
        MONTH
    )
VAR MonthlyMTDData = 
    SUMMARIZE(
        Past3Months,
        'Date'[YearMonth],
        "月度MTD销售额", 
        CALCULATE(
            SUM(Sales[sales]),
            DATESBETWEEN(
                'Date'[Date],
                STARTOFMONTH('Date'[Date]),
                STARTOFMONTH('Date'[Date]) + CurrentDay - 1
            )
        )
    )
RETURN
    AVERAGEX(MonthlyMTDData, [月度MTD销售额])

过去12个月MTD销售额平均值度量

过去12个月MTD销售额平均值 = 
VAR CurrentDay = DAY(MAX('Date'[Date]))
VAR Past12Months = 
    DATESINPERIOD(
        'Date'[Date],
        MAX('Date'[Date]) - 1, // 排除当前月份
        -12,
        MONTH
    )
VAR MonthlyMTDData = 
    SUMMARIZE(
        Past12Months,
        'Date'[YearMonth],
        "月度MTD销售额", 
        CALCULATE(
            SUM(Sales[sales]),
            DATESBETWEEN(
                'Date'[Date],
                STARTOFMONTH('Date'[Date]),
                STARTOFMONTH('Date'[Date]) + CurrentDay - 1
            )
        )
    )
RETURN
    AVERAGEX(MonthlyMTDData, [月度MTD销售额])

逻辑说明

  1. CurrentDay:提取当前上下文日期的日部分(如4月3日则返回3)
  2. PastNMonths:筛选出过去N个完整月份(排除当前月)的日期范围
  3. MonthlyMTDData:按月份分组,计算每个月截至对应日数的销售额总和
  4. AVERAGEX:对所有月份的MTD销售额取平均值

注意事项

  • 若过去月份的天数少于当前日数(如当前为31日,目标月份只有30天),度量会自动取该月最后一天的销售额总和
  • 结果受报表中日期筛选器(切片器、页面筛选等)影响,需确保筛选上下文正确
  • 若需包含当前月的MTD数据,只需将MAX('Date'[Date]) - 1改为MAX('Date'[Date])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 09:15:32