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

Power BI如何创建每行含唯一值列表的新列

Power BI 列表文本去重保留格式实现方法

问题背景

现有CSV文件存在格式如下的列,单元格内容为带方括号包裹的逗号分隔文本:

column_1
[text1,text2,text2]
[text3,text3,text1]

需要新建一列,每行保留原有的方括号列表格式,同时移除列表内的重复值,预期输出效果:

column_1             new_column
[text1,text2,text2]  [text1,text2]
[text3,text3,text1]  [text3,text1]

原有代码问题

之前尝试的Power Query M代码存在核心问题:最后调用Text.Combine将去重后的元素拼成了无格式的纯文本,没有补回外层方括号,最终输出不符合列表格式要求。原有代码片段如下:

let...

#"Added Custom" = Table.AddColumn(#"Renamed Columns", "Custom", each Text.Combine(List.Distinct(List.Transform(Text.Split(Text.BetweenDelimiters([Input], "[", "]"), ","), each Text.BetweenDelimiters(_, """" , """" ))), ","), type text)

in
    #"Added Custom"

实现步骤

  • 导入CSV数据后进入Power Query编辑器,确认目标列是文本格式
  • 点击顶部菜单栏「添加列」→「自定义列」,根据需求选择对应公式:
    1. 如果需要新列是带方括号的文本格式(和原列展示效果完全一致),输入以下公式:
    each "[" & Text.Combine(List.Distinct(Text.Split(Text.Trim([column_1], {"[","]"}), ",")), ",") & "]"
    
    1. 如果需要新列是Power Query原生列表类型(支持后续展开、列表计算操作),输入以下公式:
    each List.Distinct(Text.Split(Text.Trim([column_1], {"[","]"}), ","))
    

若原列表的元素外层包裹双引号,可将原有代码中去除双引号的逻辑嵌套到List.Transform方法中使用即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 07:54:24