Power BI表格图表去重求助:用DAX公式实现唯一值显示
解决Power BI表格重复值与0值隐藏问题
一、用DAX实现表格显示唯一值
Power Query里数据唯一但报表表格显示重复,通常是因为视觉对象的字段上下文关联了其他表,或字段组合触发了重复行渲染。可以通过以下两种DAX方案解决:
- 创建唯一值计算表
直接基于原始表生成仅包含唯一值的新表,后续用这个表做表格数据源:
唯一值数据集 = DISTINCT('你的原始表'[目标列])
如果需要保留多列且确保组合唯一,改用SUMMARIZE:
唯一值组合表 = SUMMARIZE('你的原始表', '你的原始表'[列1], '你的原始表'[列2])
- 在视觉对象中用度量值过滤重复
如果不想新建表,可添加一个辅助度量值,配合视觉对象的筛选器:
是否唯一行 = VAR 当前行标识 = CONCATENATEX(VALUES('你的原始表'[列1]), '你的原始表'[列1], "|") & "|" & CONCATENATEX(VALUES('你的原始表'[列2]), '你的原始表'[列2], "|") VAR 重复次数 = CALCULATE(COUNTROWS('你的原始表'), ALL('你的原始表'), '你的原始表'[列1] = SELECTEDVALUE('你的原始表'[列1]), '你的原始表'[列2] = SELECTEDVALUE('你的原始表'[列2])) RETURN IF(重复次数 = 1, 1, 0)
将这个度量值拖到视觉对象的「筛选器」面板,设置为「等于1」即可只显示唯一行。
二、移除带重复能力项的0值
针对重复出现的能力项且对应值为0的行,可通过自定义度量值替换原数值字段,自动隐藏符合条件的0值:
过滤后能力值 = VAR 当前能力项 = SELECTEDVALUE('你的表'[能力项]) VAR 能力项出现次数 = CALCULATE(COUNTROWS('你的表'), ALL('你的表'), '你的表'[能力项] = 当前能力项) VAR 当前数值 = SUM('你的表'[数值列]) RETURN IF(能力项出现次数 > 1 && 当前数值 = 0, BLANK(), 当前数值)
使用时,把表格里的原数值字段替换成这个度量值,Power BI会自动隐藏返回BLANK()的行。
内容的提问来源于stack exchange,提问作者Mikhail
相关产品推荐
相关产品推荐

