Rename Columns Dynamically in Power Query M

Renames columns from a lookup list, skipping any pair whose old name isn't present.

Column OperationsIntermediaterenamedynamiccolumns

Power Query M code

let
    Source = YourTable,
    RenameList = {{"col1", "OrderID"}, {"col2", "OrderDate"}},
    ExistingRenames = List.Select(RenameList, each List.Contains(Table.ColumnNames(Source), _{0})),
    RenamedColumns = Table.RenameColumns(Source, ExistingRenames)
in
    RenamedColumns

Notes

Each pair is {"OldName", "NewName"}.

Requirements

How to use this snippet

  1. In Power BI Desktop, choose Transform data to open Power Query, then open the Advanced Editor on a query (or start from a blank query).
  2. Paste the snippet and replace the placeholder names (tables, columns, file paths) with your own. Check the requirements above first.
  3. Run it through the Power Query M Formatter to tidy the layout.

Related Power Query M snippets

More Power Query M resources

Browse all 145 snippets in the Power Query M Code Snippets, or search the library for something similar to Rename Columns Dynamically.