如何在Power Query中转置表格且避免列名重复(JSON导入场景)
Power Query转置后去重列解决方案
先从根源避免重复列(转置前操作)
- 多JSON文件合并后,选中全部列,点击
开始→删除行→删除重复项,清除重复的行数据,确保字段名无重复。 - 导入多JSON文件时,选择结构统一的示例文件进行合并,避免因不同JSON的结构差异导致冗余字段。
转置后快速处理重复列
方法1:可视化操作步骤
- 完成转置后,选中第一行(原数据的行标签),点击
转换→将第一行用作标题。 - 选中所有列,点击
转换→分组依据,设置:- 分组依据:选择
无 - 新列名:任意命名(比如
合并数据) - 操作:选择
所有行
- 分组依据:选择
- 点击新列的展开按钮,选择
高级选项→取消勾选使用原始列名作为前缀,确认后重复列会自动合并,空值会被同列的非空值覆盖。
方法2:M代码直接实现
打开Power Query编辑器的高级编辑器,替换转置相关的代码段为以下内容(注意将源替换为你实际的前置步骤名称):
let 源 = 你的前置数据步骤, 转置表格 = Table.Transpose(源), 提升表头 = Table.PromoteHeaders(转置表格, [PromoteAllScalars=true]), 合并重复列 = Table.CombineColumns(提升表头, List.Distinct(Table.ColumnNames(提升表头)), each List.RemoveNulls(_){0}, _) in 合并重复列
这段代码会自动识别重复列名,合并后保留非空值,彻底消除冗余列。
内容的提问来源于stack exchange,提问作者abdulrahman
相关产品推荐
相关产品推荐

