Forum Discussion

olebel's avatar
olebel
Frequent Visitor
3 years ago

Remove rows based on the values in another column

Hi,

How can I remove all "duplicate" records (rows) if one of the associated values in another column contains a ceratain value? 

 

1 Reply

  • Vijay_A_Verma's avatar
    Vijay_A_Verma
    Most Valuable Professional

    Insert this as your next step where Source must be replaced with your previous step

    = Table.Combine(List.RemoveNulls(List.Transform(Table.Group(Source, {"ID"}, {{"All", each _}})[All], (x)=> if List.Contains(x[Status], "Closed") then null else x)))

     Complete code for testing

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjZR0lFyTC7JLEtVitUB8i2A/AAEE0nKBKQ0MSk5BcFzzskvToXyTYF8j9ScnHww19QAZE5qXkpmXjpCAKY+FgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [ID = _t, Status = _t]),
        #"Grouped Rows" = Table.Combine(List.RemoveNulls(List.Transform(Table.Group(Source, {"ID"}, {{"All", each _}})[All], (x)=> if List.Contains(x[Status], "Closed") then null else x)))
    in
        #"Grouped Rows"