Forum Discussion

PSB's avatar
PSB
Helper III
3 years ago
Solved

Power query help for adding conditional count column

Greg_Deckler 

Power Query help to calculate count column.

if Store is same and Brand and type is also same for all rows then count should be 1. (from below example Apple)

If store is same but two different combination of Brand and Type then count should be 2 and so on. (From below example Samsung)

 

Data

BrandTypeStore
AppleIphoneNYC
AppleIphoneNYC
SamsungS22NJ
SamsungS21NJ
SamsungS21

NJ

 

Result

BrandTypeStoreCount
AppleIphoneNYC1
AppleIphoneNYC1
SamsungS22NJ2
SamsungS21NJ2
SamsungS21NJ2
  • Hi PSB!

     

    You can do the column in two steps. First you want to do the distinct count group by brand, then you can expand the result.

     

     

     

    In the advanced editor, it should look like this:

     

     #"Grouped Rows" = Table.Group(#"Changed Type", {"Brand"}, {{"Count", each Table.RowCount(Table.Distinct(_)), Int64.Type}, {"All", each _, type table [Brand=nullable text, Type=nullable text, Store=nullable text]}}),
    #"Removed Columns" = Table.RemoveColumns(#"Grouped Rows",{"Brand"}),
    #"Expanded All" = Table.ExpandTableColumn(#"Removed Columns", "All", {"Brand", "Type", "Store"}, {"Brand", "Type", "Store"})"All.Type", "All.Store"})

     

    Cheers!

  • PSB , DAX, You can try a new rank column

     

    Column = RANKX(Data,[Brand] &[Store],,ASC,Dense)

3 Replies

  • Hi PSB!

     

    You can do the column in two steps. First you want to do the distinct count group by brand, then you can expand the result.

     

     

     

    In the advanced editor, it should look like this:

     

     #"Grouped Rows" = Table.Group(#"Changed Type", {"Brand"}, {{"Count", each Table.RowCount(Table.Distinct(_)), Int64.Type}, {"All", each _, type table [Brand=nullable text, Type=nullable text, Store=nullable text]}}),
    #"Removed Columns" = Table.RemoveColumns(#"Grouped Rows",{"Brand"}),
    #"Expanded All" = Table.ExpandTableColumn(#"Removed Columns", "All", {"Brand", "Type", "Store"}, {"Brand", "Type", "Store"})"All.Type", "All.Store"})

     

    Cheers!

    • amitchandak's avatar
      amitchandak
      Super User

      PSB , DAX, You can try a new rank column

       

      Column = RANKX(Data,[Brand] &[Store],,ASC,Dense)