Forum Discussion

DanFromMontreal's avatar
1 year ago
Solved

Agregate multiple names into one cell

Heelo dear community,

I'm struggling to develop the code to obtain the 3 output below.

My table contains 2 columns... Fruit and Name.

It surely as to do with List but cannot make it work.

Help would be appreciated.

 

  Output 1Output 2Output 3
FruitNameCount Fruit FrequencyCustomer (no duplication)Customer (w/duplication)
AppleDan2Dan , IreneDan , Irene
BananaJustin1JustinJustin
AppleIrene2Dan , IreneDan , Irene
PearDan4Dan, Bob, JackDan, Bob, Jack, Dan
PearBob4Dan, Bob, JackDan, Bob, Jack, Dan
PearJack4Dan, Bob, JackDan, Bob, Jack, Dan
PearDan4Dan, Bob, JackDan, Bob, Jack, Dan

 

  • You can add Custom Column:

     

    For Customer with duplications, in the Custom Column dialog box:

    Text.Combine(
    Table.SelectRows(#"Changed Type", (r)=>r[Fruit]=[Fruit])[Name], ", ")

     

    For Customer with no duplications:

    Text.Combine(List.Distinct(
    Table.SelectRows(#"Changed Type", (r)=>r[Fruit]=[Fruit])[Name]), ", ")

     

4 Replies

  • Hi DanFromMontreal , here's the solution to your query. I'll attach the output image and the snippet of the M code used below for reference. Thanks

     

     

  • Hi DanFromMontreal , You could Achive this with Power Query with Group By Try this please

    1.Count Fruit Frequency
    Table.Group(#"PreviousStep", {"Fruit"}, {{"Count Fruit Frequency", each Table.RowCount(_), Int64.Type}})

    2. Customer (No Duplication)
    Table.Group(#"PreviousStep", {"Fruit"}, {{"Customer (no duplication)", each Text.Combine(List.Distinct([Name]), ", "), type text}})

    3. Customer (With Duplication)
    Table.Group(#"PreviousStep", {"Fruit"}, {{"Customer (w/duplication)", each Text.Combine([Name], ", "), type text}})

    If this post helped please do give a kudos and accept this as a solution
    Thanks In Advance

  • You can add Custom Column:

     

    For Customer with duplications, in the Custom Column dialog box:

    Text.Combine(
    Table.SelectRows(#"Changed Type", (r)=>r[Fruit]=[Fruit])[Name], ", ")

     

    For Customer with no duplications:

    Text.Combine(List.Distinct(
    Table.SelectRows(#"Changed Type", (r)=>r[Fruit]=[Fruit])[Name]), ", ")