Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now

Reply
Anonymous
Not applicable

concatenate all values for specific value over multiple rows

dear all,

 

I like to find combinations in sales where i want to find all categories that someone bought on a day for every row in the sales table.

i have a table like this:

CustomerDateVisitkeyCategory
101-01-221/01-01-22a
101-01-221/01-01-22b
201-01-222/01-01-22c
201-01-222/01-01-22a
102-01-221/02-01-22a
102-01-221/02-01-22a
202-01-222/02-01-22b
202-01-222/02-01-22a
202-01-222/02-01-22c

and per visit i wish to determine all the categorynames per visit

the dimension table looks like this:

Categorycategoryname
aa1
bb1
cc1
dd1

 

 

and the result should look like this:

CustomerDateVisitkeyCategoryResult
101-01-221/01-01-22aa1, b1
101-01-221/01-01-22ba1, b1
201-01-222/01-01-22ca1, c1
201-01-222/01-01-22aa1, c1
102-01-221/02-01-22aa1
102-01-221/02-01-22aa1
202-01-222/02-01-22ba1, b1, c1
202-01-222/02-01-22aa1, b1, c1
202-01-222/02-01-22ca1, b1, c1

there is a relationship from category to sales table between category column from 1 - *

 

 

1 ACCEPTED SOLUTION
Anonymous
Not applicable

HI @Anonymous,

You can try to use the following calculated column formula to directly lookup and concatenate dimension table values based on the current category.

Result=
VAR list =
    CALCULATETABLE (
        VALUES ( Table[Category] ),
        FILTER ( Table, [Customer] = EARLIER ( Table[Customer] ) )
    )
RETURN
    CONCATENATEX ( FILTER ( dimension, [Category] IN list ), [categoryname], "," )

Regards,

Xiaoxin Sheng

View solution in original post

3 REPLIES 3
Anonymous
Not applicable

HI @Anonymous,

You can try to use the following calculated column formula to directly lookup and concatenate dimension table values based on the current category.

Result=
VAR list =
    CALCULATETABLE (
        VALUES ( Table[Category] ),
        FILTER ( Table, [Customer] = EARLIER ( Table[Customer] ) )
    )
RETURN
    CONCATENATEX ( FILTER ( dimension, [Category] IN list ), [categoryname], "," )

Regards,

Xiaoxin Sheng

Anonymous
Not applicable

thanks, its working! and lets say if you have a *-* relationship between those two tables, is there a way to solve it then?

 

rohit_singh
Solution Sage
Solution Sage

Hi @Anonymous ,

Please try the steps given below :

1) Create a 1:M relationship between the dim and fact tables on the category field.

 

rohit_singh_0-1652968924159.png

2) Using the relationship defined above, create a new calculated column on the fact table.

 

Cat name = RELATED(dim_categoryname[categoryname])

 

rohit_singh_1-1652969330297.png

 

3) Finally, create another calculated column using the column created above that will give you the desired result.

 

rohit_singh_2-1652969350106.png

 

Daily Categories =
CALCULATE(
CONCATENATEX(VALUES(fact_categorynames[Cat name]), fact_categorynames[Cat name], " , "),
ALLEXCEPT(fact_categorynames,fact_categorynames[Date],fact_categorynames[Customer])
)


Kind regards,

Rohit


Please mark this answer as the solution if it resolves your issue.
Appreciate your kudos! 😊

Helpful resources

Announcements
November Power BI Update Carousel

Power BI Monthly Update - November 2025

Check out the November 2025 Power BI update to learn about new features.

Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Solution Authors