Rename Columns Dynamically from a Mapping Table in Power Query M

Renames columns by joining their current names against a separate mapping table of old and new names.

Column OperationsAdvancedrenamemapping tabledynamiccolumns

Power Query M code

let
    Source = YourTable,
    Mapping = MappingTable,
    CurrentColumns = Table.ColumnNames(Source),
    RenamePairs = Table.ToRows(Table.SelectRows(Mapping, each List.Contains(CurrentColumns, [OldName]))),
    RenamedColumns = Table.RenameColumns(Source, RenamePairs)
in
    RenamedColumns

Notes

Keep MappingTable as a separate query with OldName/NewName columns; edit it instead of the M code when names change.

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 from a Mapping Table.