Power Query如何将新增列添加至第3位(适配动态列名)
Power Query动态将「Total Cost」列移至第3位的实现方法
完全可行,通过动态生成列名列表的方式就能实现,无需固定指定所有列名。修改后的代码如下:
TotalSum = Table.AddColumn(#"Pivoted Column", "Total Cost", each List.Sum(Record.FieldValues(Record.SelectFields(_, List.Difference(Table.ColumnNames(#"Pivoted Column"), {"Bütçe Kodu", "Bütçe Kalemi", "Ay-Yıl"} ))))), OriginalColumns = Table.ColumnNames(#"Pivoted Column"), RemainingColumns = List.RemoveRange(OriginalColumns, 0, 2), NewColumnOrder = List.Combine({{"Bütçe Kodu", "Bütçe Kalemi"}, {"Total Cost"}, RemainingColumns}), #"Reordered Columns" = Table.ReorderColumns(TotalSum, NewColumnOrder)
逻辑说明:
OriginalColumns:获取添加「Total Cost」列之前的原始列名列表,确保后续动态列的顺序和原有顺序一致RemainingColumns:用List.RemoveRange提取前两列之后的所有动态列,避免手动硬编码列名NewColumnOrder:通过List.Combine拼接出目标列顺序:固定前两列 → 「Total Cost」 → 剩余动态列- 最终用动态生成的
NewColumnOrder执行列重排,就能让「Total Cost」固定在第3位,同时保留其他动态列的原有顺序
内容的提问来源于stack exchange,提问作者Umut K
相关产品推荐
相关产品推荐

