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

如何在DAX中基于Error type对Volume列求和?能否用IF语句实现?

DAX度量值实现特定错误类型的Volume求和

可以通过IF语句实现该需求,以下是具体的DAX写法及说明:

单上下文判断场景(如表格行级计算)

如果需要在单个Error type的上下文下判断并求和,使用SELECTEDVALUE获取当前值进行判断:

Sum_Volume_Range = 
IF(
    SELECTEDVALUE('你的表名'[Error type]) >= 200 && SELECTEDVALUE('你的表名'[Error type]) < 500,
    SUM('你的表名'[Volume]),
    BLANK()
)

逻辑说明:当当前上下文的Error type落在[200, 500)区间时,返回该范围内的Volume总和;否则返回空值。

全局筛选求和场景

如果需要直接对整个数据集中符合条件的记录求和,也可以用IF结合CALCULATE实现:

Sum_Volume_Range = 
IF(
    TRUE(),
    CALCULATE(
        SUM('你的表名'[Volume]),
        '你的表名'[Error type] >= 200 && '你的表名'[Error type] < 500
    ),
    BLANK()
)

注:这种场景下其实可以省略IF直接用CALCULATE+筛选条件,但IF语句确实能满足你的需求逻辑。

另外,也可以用SUMX+FILTER的组合实现相同效果,写法更直观:

Sum_Volume_Range = 
SUMX(
    FILTER('你的表名', '你的表名'[Error type] >= 200 && '你的表名'[Error type] < 500),
    '你的表名'[Volume]
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 10:12:09