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

Power BI/DAX技术需求:统计Type A与B级别不同的ID数量

DAX解决方案:统计同时包含Type A/B且Level不同的ID数量

需求说明

需要统计满足以下条件的ID数量:

  • 该ID**同时存在Type = "A"和Type = "B"**的记录
  • 该ID对应的Type A与Type B的Level值不相等
    其他Type(如示例中的C)的记录直接忽略,根据给定样本数据,最终结果应为1(仅ID 123符合要求)。

解决方案DAX度量值

以下是两种可行的DAX写法,均可实现需求:

写法一:分步变量清晰版

CountQualifiedIDs = 
VAR IDswithAandB =
    // 筛选出同时包含Type A和Type B的ID集合
    CALCULATETABLE(
        VALUES('SampleTable'[ID]),
        'SampleTable'[Type] IN {"A", "B"},
        GROUPBY(
            'SampleTable',
            'SampleTable'[ID],
            // 确保每个ID至少有两种不同Type(即同时有A和B)
            HASONEVALUE('SampleTable'[Type]) = FALSE()
        )
    )
VAR IDswithDifferentLevels =
    // 从上述ID中筛选出A、B级别不同的ID
    FILTER(
        IDswithAandB,
        VAR LevelA = CALCULATE(MAX('SampleTable'[Level]), 'SampleTable'[Type] = "A")
        VAR LevelB = CALCULATE(MAX('SampleTable'[Level]), 'SampleTable'[Type] = "B")
        RETURN LevelA <> LevelB
    )
RETURN
    COUNTROWS(IDswithDifferentLevels)

写法二:聚合筛选简洁版

CountQualifiedIDs = 
COUNTROWS(
    FILTER(
        SUMMARIZECOLUMNS(
            'SampleTable'[ID],
            "HasA", CALCULATE(COUNTROWS('SampleTable'), 'SampleTable'[Type] = "A") > 0,
            "HasB", CALCULATE(COUNTROWS('SampleTable'), 'SampleTable'[Type] = "B") > 0,
            "LevelA", CALCULATE(MAX('SampleTable'[Level]), 'SampleTable'[Type] = "A"),
            "LevelB", CALCULATE(MAX('SampleTable'[Level]), 'SampleTable'[Type] = "B")
        ),
        [HasA] && [HasB] && [LevelA] <> [LevelB]
    )
)

逻辑说明

  1. 筛选同时有A和B的ID:两种写法都会先过滤出同时存在Type A和Type B记录的ID,排除只有单一Type的ID。
  2. 判断Level是否不同:对每个符合第一步条件的ID,分别提取其Type A和Type B的Level值,判断两者是否不等。
  3. 统计符合条件的ID数量:最后统计满足所有条件的ID行数,得到结果。

样本验证

针对给定的样本数据:

  • ID 123:存在Type A(Level=2)和Type B(Level=1),Level值不等 → 符合条件
  • ID 987:存在Type A和Type B,但Level均为3 → 不符合条件
    最终统计结果为1,与预期一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 13:43:11