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

关于DAX中列值加减运算及指定DAX代码优化的技术咨询

DAX中列值加减运算及指定DAX代码优化的技术咨询

嗨,我来帮你优化这段DAX代码啦!你的原代码通过两次CALCULATE分别计算两个不同账户类别的值再相加,逻辑没问题但在数据量较大时,两次筛选上下文切换会带来不必要的性能开销。我们可以把两个筛选条件合并成一次计算,效率会更高:

优化后的DAX代码如下:

Total Operating Profit = 
CALCULATE(
    [mymeasure],
    dimAccount[FS Header Description] IN {
        "Total Other Operating(Inc)/Exp",
        "Direct Overhead without Allocations"
    }
)

优化思路说明:

  • 用IN运算符把两个目标类别合并到同一个筛选条件里,只需要执行一次CALCULATE,减少了上下文切换的次数,性能更优
  • 因为[mymeasure]本身是可聚合的度量值,一次计算就能自动对符合条件的两个类别值求和,和你原代码_totOther + _direct的结果完全一致(也就是5+10=15)

如果你的[mymeasure]是一个非聚合的计算(比如仅返回单值),也可以用SUMX来确保求和逻辑,代码如下:

Total Operating Profit = 
SUMX(
    FILTER(
        dimAccount,
        dimAccount[FS Header Description] IN {
            "Total Other Operating(Inc)/Exp",
            "Direct Overhead without Allocations"
        }
    ),
    [mymeasure]
)

不过通常情况下,第一种写法就足够满足需求啦,既简洁又高效~

备注:内容来源于stack exchange,提问作者symkly

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 09:04:34