Forum Discussion

E_K_'s avatar
E_K_
Helper III
4 years ago
Solved

Power Query - Replace multiple substrings in one list column

I am trying to do this for a column where the are text values listed in all sorts of ways, with comma as delimiter.   Eg Old value New value ALE, AEX, DDI, ELV, PRT, ZAI, ZZI Allegro, Aero...
  • ronrsnfld's avatar
    ronrsnfld
    4 years ago

    One way:

    • Create a two column replacement table
      • I named the columns "LookFor" and "Replace"

     

     

    Then you can use code like below in your 'Main Query'

     

     

    //create a Replacement List from the Replacement Table
    #"Replacement List"=List.Zip({Replacements[LookFor],Replacements[Replace]}),
    
    //Do the actual replacements using the TransformColumns method
        #"Replace Multiple" = Table.TransformColumns(#"Previous Step", 
        {"Column1", (s)=> 
            Text.Combine(
                List.ReplaceMatchingItems(
                    List.Transform(Text.Split(s,","), Text.Trim),
                    #"Replacement List"),
                ",")
        })
    in
      #"Replace Multiple"