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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Anonymous
Not applicable

DAX Function to Output Multiple Comma-Separated Values

I have an Ice Cream Order Table with one column being Customer Order Description. An example of a data cell from that column is "The customer ordered a small vanilla ice cream with rainbow sprinkles, chocolate chips, and caramel syrup." I have a new column called Toppings Used where I want to list the toppings that were contained in the string of text from Customer Order Description. For example for the previously mentioned order description have "rainbow sprinkles, chocolate chips, caramel syrup" as a data cell with toppings separated by a comma and a space.

 

Currently I have the DAX function:

Toppings Used = Switch (TRUE(), Containsstring('Ice Cream Order Table'[Customer Order Description], "chocolate chip"), "chocolate chip", Containsstring('Ice Cream Order Table'[Customer Order Description], "fudge"), "fudge sauce", ...)

However, this only gives me one of the toppings. How can I change this code to output multiple values? Thanks in advance.

1 ACCEPTED SOLUTION
Jos_Woolley
Solution Sage
Solution Sage

Hi,

Assuming you have another table named 'Toppings' which comprises a single column (named 'Topping') of all possible toppings, this Calculated Column in the Ice Cream Order Table:

 

Toppings Used = 
VAR ThisOrder = 'Ice Cream Order Table'[Customer Order Description]
RETURN
    CONCATENATEX(
        FILTER( Toppings, SEARCH( Toppings[Topping], ThisOrder,, 0 ) ),
        Toppings[Topping],
        ", "
    )

 

Regards

 

View solution in original post

2 REPLIES 2
Jos_Woolley
Solution Sage
Solution Sage

Hi,

Assuming you have another table named 'Toppings' which comprises a single column (named 'Topping') of all possible toppings, this Calculated Column in the Ice Cream Order Table:

 

Toppings Used = 
VAR ThisOrder = 'Ice Cream Order Table'[Customer Order Description]
RETURN
    CONCATENATEX(
        FILTER( Toppings, SEARCH( Toppings[Topping], ThisOrder,, 0 ) ),
        Toppings[Topping],
        ", "
    )

 

Regards

 

Anonymous
Not applicable

This solved my problem, thank you!

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors