Forum Discussion

Till__'s avatar
Till__
Helper I
3 years ago
Solved

Renaming multiple Headers

Dear all,    I have multiple Headers which contain an ID before some text occurs. For example like in the table below. EF-1.1.1) Text1 EF-1.1.2) Text 2 EF-2.1.1) Text 3       Is there ...
  • BA_Pete's avatar
    BA_Pete
    3 years ago

     

    Okay, try this as a custom step instead:

     

    Table.RenameColumns(
        previousStepName,
        List.Transform(
            Table.ColumnNames(previousStepName),
            each {_, if Text.StartsWith(_, "EF") then Text.BeforeDelimiter(_, ")") else _}
        )
    )

     

    Working example query:

     

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WSlTSUUoC4mQgTgHiVKXYWAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"EF-1.1.1) Some text" = _t, #"EF-1.1.2) Some Words" = _t, #"EF-2.1.1) Some Writing" = _t, #"AB-1.1.1) Some Stuff" = _t, #"TT-1.1.1) Blah Blah" = _t]),
        
        Custom2 =
        Table.RenameColumns(
            Source,
            List.Transform(
                Table.ColumnNames(Source),
                each {_, if Text.StartsWith(_, "EF") then Text.BeforeDelimiter(_, ")") else _}
            )
        )
        
    in
        Custom2

     

    Example output:

     

    Pete