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

DAX需求:数据透视表逐年计算未来5年累计利润(含当前年)

解决Power BI中按年份计算未来N年利润总和的问题

直接给你能实现需求的度量值,核心思路是先确定每个年份对应的有效计算区间,再汇总该区间的利润:

Rolling 5-Year Profit = 
VAR CurrentYear = SELECTEDVALUE('Calendar'[YEARS])
VAR MaxYear = CALCULATE(MAX('Calendar'[YEARS]), ALL('Calendar'))
VAR EndYear = MIN(CurrentYear + 4, MaxYear) -- 计算结束年份:当前年+4(含当前共5年)或最后一年,取较小值
RETURN
    CALCULATE(
        [Profit],
        DATESBETWEEN('Calendar'[YEARS], CurrentYear, EndYear)
    )

关键逻辑说明:

  • CurrentYear:获取透视表当前列对应的年份(利用SELECTEDVALUE捕捉上下文年份)
  • MaxYear:获取日历表中所有年份的最大值(用ALL('Calendar')忽略当前上下文,拿到全局最大年份)
  • EndYear:确定计算的截止年份——如果当前年+4不超过总年份的最大值,就取当前年+4;如果超过(比如第6年,总8年),就取最后一年,这样自然就会汇总当前年到最后一年的所有剩余年份
  • 最后用DATESBETWEEN锁定时间区间,计算该区间内的利润总和

注意事项:

  • 确保Calendar表的YEARS列是整数类型,且和Data表的年份字段建立了正确的关系
  • 如果你的YEARS列是日期格式(比如2023/1/1),只需把SELECTEDVALUE和MAX部分改成YEAR('Calendar'[DateColumn])即可适配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 20:12:10