Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago
Solved

Rename multiple column names along with changing their column numbers to Letters

I have a table imported into Power Query editor. The columns have the following names:   ID | Agg | Cluster1 | Cluster2 | Cluster3... ------------------------------------------ 1234 | 0.232 | abd...
  • ImkeF's avatar
    ImkeF
    6 years ago

    Hi Anonymous ,

    your formula won't work in a "Table.TransformColumnNames"-formula. You have to use Table.RenameColumns instead like so:

     

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUTICYmMgNlGKjQUA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [ID = _t, Agg = _t, Cluster1 = _t, Cluster2 = _t]),
        Custom1 = 
            Table.RenameColumns(
                Source, 
                List.Zip(
                    {
                        Table.ColumnNames(Source), 
                        List.Transform(
                            List.ReplaceValue(
                                List.FindText(
                                    Table.ColumnNames(Source),
                                    ""),
                                "Cluster",
                                "TC",
                                Replacer.ReplaceText), 
                            each if Text.Contains(_,"TC") 
                                    then Text.Replace("_", "_","TC " & Character.FromNumber(Number.FromText(Text.Middle(_,2))+64)) 
                                    else _ )
                    } ))
    in
        Custom1