Forum Discussion

murali5431's avatar
murali5431
Helper III
5 years ago
Solved

Merge two power BI query steps

Hi,

 

I have a dataset which have a null values and then lots of duplicates in the same column. I need a power query step which would first filter filter out rows with duplicate values not impacting the rows with null values in this column.

 

When I did these steps separately, I got below. Is there a way I can combine it into a single step?

 

Unselected null values - #"Filtered Rows" = Table.SelectRows(#"Added Custom", each ([Custom] <> null)),
Removed rows where this column has duplicate values - #"Removed Duplicates" = Table.Distinct(#"Filtered Rows", {"Custom"})

 

Thanks,

Muralidhar

  • v-kkf-msft's avatar
    v-kkf-msft
    5 years ago

    Hi murali5431 ,

     

    Try the follow query:

     

     

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WSlSK1YlWSsIgwUQyggkmUpDIVKXYWAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t]),
        #"Replaced Value" = Table.ReplaceValue(Source,"",null,Replacer.ReplaceValue,{"Column1"}),
        #"Removed Duplicates" = Table.FromRows(List.Distinct(Table.ToRows(#"Replaced Value"),each if _{0}=null then Text.NewGuid() else _{0}))
    in
        #"Removed Duplicates"

     

     

    If the problem is still not resolved, please provide detailed error information or the expected result you expect. Let me know immediately, looking forward to your reply.

    Best Regards,
    Winniz

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

4 Replies

    • murali5431's avatar
      murali5431
      Helper III

      amitchandak Thanks for the response! I would then need a third step to remove the filter for null values. Hence I felt it would be ideal to perform the duplicate removal as a single step.

       

      Thanks again,

      Muralidhar

    • murali5431's avatar
      murali5431
      Helper III

      amitchandak I did them as two steps as suggested:

      First filtered out null values, the removed duplicates. Now when I want to remove the filter for null values, I dont find the null value filter itself after second step. Can you please assist?

       

      Thanks,

      Muralidhar

      • v-kkf-msft's avatar
        v-kkf-msft
        Community Support

        Hi murali5431 ,

         

        Try the follow query:

         

         

        let
            Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WSlSK1YlWSsIgwUQyggkmUpDIVKXYWAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t]),
            #"Replaced Value" = Table.ReplaceValue(Source,"",null,Replacer.ReplaceValue,{"Column1"}),
            #"Removed Duplicates" = Table.FromRows(List.Distinct(Table.ToRows(#"Replaced Value"),each if _{0}=null then Text.NewGuid() else _{0}))
        in
            #"Removed Duplicates"

         

         

        If the problem is still not resolved, please provide detailed error information or the expected result you expect. Let me know immediately, looking forward to your reply.

        Best Regards,
        Winniz

        If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.