Forum Discussion
rename column name
- Anonymous2 years ago
Hi kb177 ,
Here I create a sample to have a test.
Name Table:
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("LcjJCQAgDETRXnJWcInb0Tok/bdhhsnh8+G9JzdXSXJLwY5XxRK4kbHtteBOxpbXg5WMTU+DBxljZh8=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Department = _t, Employee = _t, Score = _t, Ranking = _t]), #"Changed Type1" = Table.TransformColumnTypes(Source,{{"Department", type text}, {"Employee", type text}, {"Score", Int64.Type}, {"Ranking", Int64.Type}}), #"Column Name" = Table.ColumnNames(#"Changed Type1"), #"Converted to Table" = Table.FromList(#"Column Name", Splitter.SplitByNothing(), null, null, ExtraValues.Error), #"Renamed Columns" = Table.RenameColumns(#"Converted to Table",{{"Column1", "From"}}), #"Added Index" = Table.AddIndexColumn(#"Renamed Columns", "Index", 0, 1, Int64.Type), #"Added Custom" = Table.AddColumn(#"Added Index", "To", each if [Index] = 0 then "Default" else "Subsequent Column"&" "&Number.ToText([Index])), #"Changed Type2" = Table.TransformColumnTypes(#"Added Custom",{{"To", type text}, {"From", type text}}) in #"Changed Type2"Data Table:
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("LcjJCQAgDETRXnJWcInb0Tok/bdhhsnh8+G9JzdXSXJLwY5XxRK4kbHtteBOxpbXg5WMTU+DBxljZh8=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Department = _t, Employee = _t, Score = _t, Ranking = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"Department", type text}, {"Employee", type text}, {"Score", Int64.Type}, {"Ranking", Int64.Type}}), #"Column Name" = Table.ColumnNames(#"Changed Type"), #"Converted to Table" = Table.FromList(#"Column Name", Splitter.SplitByNothing(), null, null, ExtraValues.Error), #"Merged Queries" = Table.NestedJoin(#"Converted to Table", {"Column1"}, #"Name Table", {"From"}, "Query1", JoinKind.LeftOuter), #"Expanded Query1" = Table.ExpandTableColumn(#"Merged Queries", "Query1", {"To"}, {"To"}), #"Merged Columns" = Table.CombineColumns(#"Expanded Query1",{"Column1", "To"},Combiner.CombineTextByDelimiter(",", QuoteStyle.None),"Merged"), #"Added Custom" = Table.AddColumn(#"Merged Columns", "Custom", each Text.Split([Merged], ",")), NewColumnNames = #"Added Custom"[Custom], #"New Table"= Table.RenameColumns(Source, NewColumnNames) in #"New Table"Default Table:
New Table:
Everytime you add a new column, it will show new column name dynamicly.
For reference:Rename column names in a dynamic way with #Excel #PowerQuery | wmfexcel
Best Regards,
Rico ZhouIf this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi kb177 ,
Here I create a sample to have a test.
Name Table:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("LcjJCQAgDETRXnJWcInb0Tok/bdhhsnh8+G9JzdXSXJLwY5XxRK4kbHtteBOxpbXg5WMTU+DBxljZh8=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Department = _t, Employee = _t, Score = _t, Ranking = _t]),
#"Changed Type1" = Table.TransformColumnTypes(Source,{{"Department", type text}, {"Employee", type text}, {"Score", Int64.Type}, {"Ranking", Int64.Type}}),
#"Column Name" = Table.ColumnNames(#"Changed Type1"),
#"Converted to Table" = Table.FromList(#"Column Name", Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Renamed Columns" = Table.RenameColumns(#"Converted to Table",{{"Column1", "From"}}),
#"Added Index" = Table.AddIndexColumn(#"Renamed Columns", "Index", 0, 1, Int64.Type),
#"Added Custom" = Table.AddColumn(#"Added Index", "To", each if [Index] = 0 then "Default" else "Subsequent Column"&" "&Number.ToText([Index])),
#"Changed Type2" = Table.TransformColumnTypes(#"Added Custom",{{"To", type text}, {"From", type text}})
in
#"Changed Type2"
Data Table:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("LcjJCQAgDETRXnJWcInb0Tok/bdhhsnh8+G9JzdXSXJLwY5XxRK4kbHtteBOxpbXg5WMTU+DBxljZh8=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Department = _t, Employee = _t, Score = _t, Ranking = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Department", type text}, {"Employee", type text}, {"Score", Int64.Type}, {"Ranking", Int64.Type}}),
#"Column Name" = Table.ColumnNames(#"Changed Type"),
#"Converted to Table" = Table.FromList(#"Column Name", Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Merged Queries" = Table.NestedJoin(#"Converted to Table", {"Column1"}, #"Name Table", {"From"}, "Query1", JoinKind.LeftOuter),
#"Expanded Query1" = Table.ExpandTableColumn(#"Merged Queries", "Query1", {"To"}, {"To"}),
#"Merged Columns" = Table.CombineColumns(#"Expanded Query1",{"Column1", "To"},Combiner.CombineTextByDelimiter(",", QuoteStyle.None),"Merged"),
#"Added Custom" = Table.AddColumn(#"Merged Columns", "Custom", each Text.Split([Merged], ",")),
NewColumnNames = #"Added Custom"[Custom],
#"New Table"= Table.RenameColumns(Source, NewColumnNames)
in
#"New Table"
Default Table:
New Table:
Everytime you add a new column, it will show new column name dynamicly.
For reference:Rename column names in a dynamic way with #Excel #PowerQuery | wmfexcel
Best Regards,
Rico Zhou
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.