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

DAX实现按年统计有效订阅客户的经常性收入总额

DAX 年度经常性收入统计修正方案

原有公式缺陷

原有DAX逻辑存在核心问题,导致统计结果不符合预期:

  • 筛选规则仅覆盖了填写了取消日期、且取消日期晚于统计节点的客户,取消日期为空的在订客户被直接排除
  • 缺失订阅开始日期的判断逻辑,会导致未到生效时间的订阅被提前计入收入
  • 误用计算列承载动态统计逻辑:计算列在数据刷新时计算完成,无法随日期维度的筛选上下文动态调整结果,该场景应该使用度量值实现

修正后DAX度量值

年度经常性收入 = 
VAR CurrentPeriodEnd = MAX('Date S&A'[Date])
RETURN
CALCULATE(
    SUM('Licentie & SA'[recurring revenue]),
    'Licentie & SA'[Date start] <= CurrentPeriodEnd,
    OR(
        ISBLANK('Licentie & SA'[cancellation date]),
        'Licentie & SA'[cancellation date] > CurrentPeriodEnd
    )
)

逻辑说明:统计节点取当前筛选上下文下的最大日期,按年筛选时即为当年年末;仅统计订阅已生效、且未在统计节点前取消的客户收入,取消日期为空的在订客户会被默认纳入统计范围。

样例数据校验结果

基于提供的3条测试数据,按年度维度统计的结果完全匹配预期:

  • 2012年:816欧元(仅客户1订阅生效)
  • 2013年:816欧元(仅客户1在订)
  • 2014年:5151.5欧元(客户1、2、3均已生效,无当年之前取消的记录)
  • 2015年:5151.5欧元(客户1取消日期为2015-06-01,按规则计入当年收入)
  • 2016年:4335.5欧元(客户1已取消,仅统计客户2、3收入)
  • 2017年:4335.5欧元(客户2、3正常在订)
  • 2018年:4335.5欧元(客户2取消日期为2018-11-01,按规则计入当年收入)
  • 2019年:1690.5欧元(客户2已取消,仅统计客户3收入)

业务规则对齐:若客户取消日期为统计年度内的任意日期,该客户当年的经常性收入正常计入,次年及以后年度不再纳入统计,完全符合给定的统计口径。

内容的提问来源于stack exchange,提问作者Jaco van der Laan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 04:57:54