Forum Discussion

AmyBeth's avatar
AmyBeth
New Member
6 years ago
Solved

Remove repeated text within a row

Good morning, How can I remove repeating values across columns within a row?  I don't have a fixed delimiter to split the cells.  Is there any logic that can look within the row and remove contents ...
  • ImkeF's avatar
    6 years ago

    Hi AmyBeth 

    you can strip out the occurrences of the strings from "ColumnA" from other columns like so:

     

    Text.Replace([ColumnName], [Column A], "")

     

    If you have many columns, unpivoting and pivoting back might be the most efficient solution:

     

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WcsytVHBKLclQ0oEzFYJzM7EIKPgWYxELVkjMS1FwS8zNzKlUitWJVvIszkhMzAOqhDAUvBLTczD5Cp6eWIQUykFmupemFpcoxcYCAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [#"Column A" = _t, #"Column B" = _t, #"Column C" = _t, #"Column D" = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column A", type text}, {"Column B", type text}, {"Column C", type text}, {"Column D", type text}}),
        #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"Column A"}, "Attribute", "Value"),
        #"Added Custom" = Table.AddColumn(#"Unpivoted Other Columns", "Custom", each Text.Replace([Value], [Column A], "")),
        #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Value"}),
        #"Trimmed Text" = Table.TransformColumns(#"Removed Columns",{{"Custom", Text.Trim, type text}}),
        #"Pivoted Column" = Table.Pivot(#"Trimmed Text", List.Distinct(#"Trimmed Text"[Attribute]), "Attribute", "Custom")
    in
        #"Pivoted Column"