PowerBI DAX度量值开发:按多条件统计符合要求的唯一CallID
PowerBI DAX 统计同时满足多条件的唯一CallID数量
直接用以下DAX度量值即可实现需求:
符合条件的CallID计数 = VAR 目标CallID集合 = FILTER( VALUES('你的数据表'[CallID]), // 检查当前CallID下是否存在Vehicle_Code=H的记录 CALCULATE(COUNTROWS(FILTER('你的数据表', '你的数据表'[Vehicle_Code] = "H"))) > 0 && // 检查当前CallID下是否存在Vehicle_Code=HX的记录 CALCULATE(COUNTROWS(FILTER('你的数据表', '你的数据表'[Vehicle_Code] = "HX"))) > 0 ) RETURN COUNTROWS(目标CallID集合)
代码说明
VALUES('你的数据表'[CallID]):提取数据集中所有不重复的CallID列表- 内层的两个
CALCULATE(COUNTROWS(...)):分别针对单个CallID,统计其对应Vehicle_Code为H和HX的记录数,只有当两者都大于0时,才说明该CallID同时满足两个条件 - 最后通过
COUNTROWS统计筛选出的符合条件的CallID总数
简化写法
如果追求代码简洁,也可以用集合交集的方式实现:
符合条件的CallID计数 = COUNTROWS( FILTER( VALUES('你的数据表'[CallID]), // 检查当前CallID的Vehicle_Code集合是否包含H和HX COUNTROWS(INTERSECT(VALUES('你的数据表'[Vehicle_Code]), {"H", "HX"})) = 2 ) )
测试示例验证
假设你的数据集如下:
| CallID | Vehicle_Code |
|---|---|
| 1 | H |
| 1 | HX |
| 1 | A |
| 2 | H |
| 2 | B |
| 3 | HX |
| 3 | C |
| 4 | H |
| 4 | HX |
使用上述度量值会得到结果为2(仅CallID 1和4同时包含H和HX)。
内容的提问来源于stack exchange,提问作者SarahChapman
相关产品推荐
相关产品推荐

