Dynamically rename a set of columns using Power Query
12:44 18 Jan 2016

I am trying to dynamically rename a set of columns in Power Query, List1 being the original column names and List2 the new column names. I think I need to merge List1 and List2 into a single list of pairs, but can't figure out the correct syntax.

let

//list of original column names 
List1= {"Name1","Name2","Name3","Name4"},

//Create test table
Source = Table.FromRows({{1231,1233,4121,5232},{3546,3426,1246,3464}} , List1),

//list of new column names
List2 = {"NewName 1","NewName 2","NewName 3","NewName 4"},

//Rename columns (in practice, the two lists of names will be dynamic, not hard coded as below)
Result = Table.RenameColumns(Source, {
    {"Name1","NewName 1"},
    {"Name2","NewName 2"},
    {"Name3","NewName 3"},
    {"Name4", "NewName 4"}})

in
    Result
powerquery m