Power Query如何合并除Custom列外的所有列(列名动态变化)
Power Query 动态合并指定列的解决方案
先确认你获取目标列名的代码是正确的,注意拼写修正(原代码里的
ConveretedtoDecimal多了一个e,应为ConvertedtoDecimal):columnsToMerge = List.Select(Table.ColumnNames(ConvertedtoDecimal), each _ <> "Custom")你之前用
Table.TransformColumns的写法无效,原因是该函数的each上下文仅指向当前列的单元格值,无法直接引用列名列表去提取整行的其他列数据。正确实现方式如下:方案1:替换原
Custom列,将其转为合并后的文本类型Table.ReplaceColumns(ConvertedtoDecimal, "Custom", {"Custom", (row) => Text.Combine(List.Transform(columnsToMerge, each Text.From(Record.Field(row, _))), ""), type text} )方案2:新增一列存放合并结果,保留原
Custom列Table.AddColumn(ConvertedtoDecimal, "MergedColumns", (row) => Text.Combine(List.Transform(columnsToMerge, each Text.From(Record.Field(row, _))), ""), type text )核心逻辑说明:
(row)代表当前行的完整记录,通过Record.Field(row, 列名)可以精准提取当前行对应列的数值Text.From用于将Decimal类型的数值转换为文本,避免合并时出现类型错误Text.Combine的第二个参数是合并分隔符,当前用空字符串,若需要分隔可替换为","或其他符号
内容的提问来源于stack exchange,提问作者Anushka A
相关产品推荐
相关产品推荐

