如何在Power BI中创建计算列提取表格单元格唯一值
在Power BI中创建计算列去除逗号分隔值的重复项
完全可以通过DAX计算列实现这个需求,以下是具体的实现方案:
基础版DAX公式
假设你的原列名为原列,新建计算列时输入以下DAX代码:
去重后的值 = VAR SplitValues = PATHITEMSUBSTITUTE([原列], ",", 0) VAR UniqueValues = VALUES(SplitValues) RETURN CONCATENATEX(UniqueValues, [Value], ", ")
处理空格优化版(推荐)
如果原列中每个值前后可能带有空格(比如Springfield, Springfield),可以加入TRIM函数避免因空格导致的重复识别问题:
去重后的值 = VAR SplitValues = ADDCOLUMNS(PATHITEMSUBSTITUTE([原列], ",", 0), "TrimmedValue", TRIM([Value])) VAR UniqueValues = DISTINCT(SplitValues[TrimmedValue]) RETURN CONCATENATEX(UniqueValues, [TrimmedValue], ", ")
公式说明
PATHITEMSUBSTITUTE([原列], ",", 0):将原列的逗号分隔字符串拆分成一个包含所有值的临时表TRIM([Value]):去除每个值前后的空格,确保Springfield和Springfield被识别为同一个值DISTINCT/VALUES:提取临时表中的唯一值CONCATENATEX:将去重后的唯一值重新用逗号连接成字符串
效果验证
- 当原列值为
Springfield, Springfield, Pueblo West时,计算列返回Springfield, Pueblo West - 当原列值为
Springfield, Springfield, Springfield时,计算列返回Springfield
操作步骤
- 切换到Power BI的数据视图,选中目标表
- 点击顶部菜单栏的新建列
- 在公式栏中输入上述DAX代码,替换
[原列]为你实际的列名 - 按回车确认,即可生成去重后的计算列
内容的提问来源于stack exchange,提问作者L.Jov
相关产品推荐
相关产品推荐

