Forum Discussion

newbie_2023's avatar
newbie_2023
New Member
2 years ago
Solved

Advanced Filter | Power Query

I am trying to find an efficient way to filter a data set using powerquery.  I need to filter out all rows representing a company only when there is no data in another column. But I need to retain all the rows of a company when there is at least one row of data in that column. So for the below table, I need to filter out all rows of Company B as it does not have any data in the "Descr" column. But I need to retain all rows of Company A (including those where the Descr column is empty) and Company C.

 

 

I am currently using a two-step process. The first step involves finding companies like A and C by filtering the Descr column for non-null values and then creating a company list (after removing the duplicates). Then I apply inner join as seen below to filter out Company B. 

 

 

Is there a straightforward way to perform this filter?

 

Thank you.

 

  • NewStep=Table.Combine(Table.Group(YourTable,"Company Name",{"n",each if List.NonNullCount([Descr])=0 the #table(0,{}) else _)})[n])

2 Replies

Replies have been turned off for this discussion
  • wdx223_Daniel's avatar
    wdx223_Daniel
    Community Champion

    NewStep=Table.Combine(Table.Group(YourTable,"Company Name",{"n",each if List.NonNullCount([Descr])=0 the #table(0,{}) else _)})[n])

  • Thank you. It did work. But it does take time for a large data set over 100K rows.