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

如何替换DAX计算列中的EARLIER函数(累积余额场景)

移除EARLIER函数的DAX累积余额计算方案

原公式因使用EARLIER函数导致大数据集频繁崩溃,可通过**变量(VAR)**替代EARLIER实现相同逻辑,同时提升性能。调整后的DAX代码如下:

_Balance Cumulative =
VAR CurrentInvoiceDate = Invoices[Invoice Date]
RETURN
CALCULATE(
    SUM(Invoices[Balance]),
    ALLEXCEPT(Invoices, Invoices[Customer ID + Company Desc]),
    ALL(Invoices[Invoice Date]),
    Invoices[Invoice Date] <= CurrentInvoiceDate
)

调整说明

  • 变量捕获当前日期:用VAR CurrentInvoiceDate = Invoices[Invoice Date]直接获取当前行的发票日期,避免EARLIER带来的多层上下文切换性能损耗。
  • 保留客户分组逻辑:ALLEXCEPT函数确保计算范围限定在同一Customer ID + Company Desc分组内,和原公式逻辑完全一致。
  • 简化筛选逻辑:拆分原Filter函数,先用ALL(Invoices[Invoice Date])清除日期上下文,再直接通过变量做日期筛选,逻辑更直观,执行效率更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 16:42:33