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

Power BI如何通过多筛选条件计算财年至今实际累计费用

Power BI 对应财年已实际发生费用累计值计算方法

现有逻辑问题

你当前使用的DAX代码仅做了财年范围匹配,没有排除未来日期的预估费用,会把选中财年下所有未到发生日期的预计费用一并统计,不符合仅统计今日之前实际产生费用的需求。
原问题代码:

Cum FY Invoice Total = CALCULATE('Invoice Amounts'[Invoice Total],FILTER(ALL('Calendar'),'Calendar'[Fiscal Year]=2022))

这个写法还有两个额外隐患:

  • 硬编码财年值2022,无法适配报表财年切片器的动态选择
  • 用ALL('Calendar')清空了整个日历表的筛选上下文,会导致挂在日历维度上的其他筛选器(比如部门、费用类型筛选)失效

修正后DAX代码

动态适配切片器选中年份版本(推荐)

自动匹配报表中用户选中的财年,统计该财年下所有发生日期早于今日的实际费用总和:

Cum FY Actual Invoice Total = 
CALCULATE(
    'Invoice Amounts'[Invoice Total],
    FILTER(
        ALL('Calendar'[Fiscal Year], 'Calendar'[Date]),
        'Calendar'[Fiscal Year] = SELECTEDVALUE('Calendar'[Fiscal Year])
        && 'Calendar'[Date] < TODAY()
    )
)

固定财年版本

如果需要固定统计某一个财年(比如FY2022)的实际累计值,直接把财年匹配条件写死即可:

Cum FY 2022 Actual Invoice Total = 
CALCULATE(
    'Invoice Amounts'[Invoice Total],
    FILTER(
        ALL('Calendar'[Fiscal Year], 'Calendar'[Date]),
        'Calendar'[Fiscal Year] = 2022
        && 'Calendar'[Date] < TODAY()
    )
)

注意:如果你的费用数据存在当日入账的场景,可以把日期判断条件从'Calendar'[Date] < TODAY()改成'Calendar'[Date] <= TODAY(),把今日产生的费用也纳入统计范围。

前置校验要求

  • 确保Calendar日期表和Invoice Amounts费用表已经基于日期字段建立了正确的一对多关系
  • 建议将Calendar表标记为Power BI正式日期表,避免时间计算逻辑异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 18:18:41