You need to enable JavaScript to run this app. 如何创建Power BI度量值,过滤含指定ID的编码并统计符合条件的编码数量
优惠活动
大模型
产品
解决方案
定价
更多

如何创建Power BI度量值,过滤含指定ID的编码并统计符合条件的编码数量

问题原因

你写的DAX返回错误结果的核心逻辑问题是:FILTER('Table', NOT('Table'[ID] in {2,8}))是逐行过滤原表,仅排除ID为2/8的单独行,编码45对应的ID=5、7的行仍然会被保留,所以去重计数时仍然会把45算入,最终得到错误结果2。

正确实现方案

你需要的逻辑是按编码聚合判断:只要某编码下存在任意一条ID为2或8的记录,就直接排除整个编码,符合要求的写法有两种:

写法1:逐编码校验筛选

Unsuccessful = 
CALCULATE(
    DISTINCTCOUNT('Table'[Code]),
    FILTER(
        VALUES('Table'[Code]), // 取所有不重复的编码逐个判断
        // 统计当前编码下ID为2/8的记录数,为0则符合要求
        CALCULATE(COUNTROWS('Table'), 'Table'[ID] IN {2,8}) = 0
    )
)

写法2:集合差集计算(逻辑更直观)

Unsuccessful = 
COUNTROWS(
    EXCEPT(
        VALUES('Table'[Code]), // 所有编码的集合
        // 所有关联过ID=2/8的编码集合
        CALCULATETABLE(VALUES('Table'[Code]), 'Table'[ID] IN {2,8})
    )
)

两种写法都会返回正确结果1。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 02:27:01