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

如何在DAX中对同一列按ID条件应用不同计算逻辑?

DAX公式返回空值的解决方法

你的问题出在连续写了两个独立的IF函数——DAX中一个计算列或度量值只会返回最后一个表达式的结果:

  • 当ID≤1733时,第一个IF的执行结果被丢弃,第二个IF因不满足条件返回空值,最终整体返回空;
  • 当ID>1733时,第一个IF不执行,第二个IF能返回正确结果,但你看到的空值来自ID≤1733的行。

另外注意你原代码里写的是[Value]/23*100,和需求的Value/3*100不一致,下面的代码已按你的需求修正,若实际需要/23可自行调整。

正确写法1:单IF嵌套(最简洁)

Result = 
IF(
    'Data'[ID] <= 1733,
    [Value]/3*100,
    [Value]*100
)

IF函数的标准结构是IF(判断条件, 满足条件的结果, 不满足条件的结果),用第二个参数和第三个参数分别对应两种情况,覆盖所有ID值。

正确写法2:SWITCH函数(多条件场景更易读)

如果后续有更多判断条件,用SWITCH会更清晰:

Result = 
SWITCH(
    TRUE(),
    'Data'[ID] <= 1733, [Value]/3*100,
    'Data'[ID] > 1733, [Value]*100
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 00:25:19