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

Power Query应用转换操作后识别重复值时无法识别正确列名问题

问题原因

你报错的核心原因是#"Added Custom3"步骤中调用了Source[Merged.2.1.1],Source是你最开始导入的原始数据表,仅包含Custom.Column1、Custom、Custom.Column3、Custom.Column4、Custom.Column5这5个原始列,Merged.2.1.1是你经过合并、拆分等多步转换后才生成的新列,原始Source中不存在该列,因此触发列不存在的报错。


解决方案

场景1:只要值重复,所有该值的行都标记为duplicate,仅全表唯一的值标记为unique

将你的错误代码行直接替换为以下代码即可,只需将引用的数据源从原始Source改为当前要处理的#"Filtered Rows2":

#"Added Custom3" = Table.AddColumn(#"Filtered Rows2", "Custom.1", each if List.Count(List.FindText(#"Filtered Rows2"[Merged.2.1.1],[Merged.2.1.1]))>1 then "duplicate" else "unique")

修改后in后仍输出#"Added Custom3"即可。


场景2:符合你最初需求,首次出现的值标记为unique,后续重复出现的同值标记为duplicate

上述场景1的公式无法区分首次出现的行,只要值重复所有相关行都会标为duplicate,要实现按出现顺序标记的需求,将错误代码行替换为以下代码即可:

// 新增索引列定位行出现顺序
#"Added Index" = Table.AddIndexColumn(#"Filtered Rows2", "索引", 0, 1, Int64.Type),
// 对比当前行索引与值第一次出现的索引,判断是否为首次出现
#"Added Custom3" = Table.AddColumn(#"Added Index", "Custom.1", (x)=> if List.PositionOf(#"Added Index"[Merged.2.1.1],x[Merged.2.1.1],Occurrence.First) = x[索引] then "unique" else "duplicate"),
// 可选:删除不需要的辅助索引列
#"Removed Columns" = Table.RemoveColumns(#"Added Custom3",{"索引"})

修改后需要将in后的输出改为#"Removed Columns"。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 20:24:03