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! Learn more

Reply
HMAnnex
Frequent Visitor

Multiple value per column best way to visualise

Hi Guys, 

 

So I am having a hard time figuring out whats the best way to showcase a report that I pull using microsoft forms. 

The data contains multiple value per column depending on the entry and we would need to show whats the most and least chosen option, look for the gaps and sort that issue.

 

This is what it looks in forms, and we wanted to link this report to powerbi with drill through of a summary per 'person/entry'

Screenshot 2024-03-26 101534.png

 

At the moment, the form data has this as columns, delimted with a semicolon. 

 

NameQuestion 1Question 2Rating
Daveapple;orange;pineapple;grapescinema;book;trams4
Jonorange;pineapplebook;trams3
Markapple;grapescinema1

 

I tried delimiting the report via column and rows this columns i end up with millions of rows as the options per question can vary from 4 options to 12 and there are about 35 questions all together. It also doesnt allign the options chosen properly as the first entry is the first option chosen. so apple might usually be the first entry but its not always the case.

 

What I am looking to get to is a report where a graph(maybe small multiple)/table of all the question represented. 

 

Is there an efficient way on moving this to powerbi without breaking my computer? 😄 

Thank you so much!

 

1 ACCEPTED SOLUTION
Anonymous
Not applicable

Hi @HMAnnex ,

The Table data is shown below:

vzhouwenmsft_0-1711522620407.png

Please follow these steps:
1. Use Power Query to aggregate each question into a separate table

vzhouwenmsft_1-1711522658152.png

vzhouwenmsft_2-1711522666401.png

2. Split columns into rows by separator, For more information, please refer to the following article:

Split columns by delimiter - Power Query | Microsoft Learn

vzhouwenmsft_3-1711522715055.png

vzhouwenmsft_4-1711522724062.png

vzhouwenmsft_5-1711522734779.png

3. Use the following DAX expression to create a table named ‘Question1’

 

Question 1 = SUMMARIZE('Table','Table'[Question 1],"count",COUNT('Table'[Question 1]))

 

4. Use the following DAX expression to create a measure

 

Top choices for question 1 = 
VAR _a = MAX('Question 1'[count])
VAR _b = CONCATENATEX(FILTER('Question 1','Question 1'[count] = _a),'Question 1'[Question 1],",")
RETURN _b

 

5. Use the following DAX expression to create a measure

 

Minimum choices for question 1 = 
VAR _a = MIN('Question 1'[count])
VAR _b = CONCATENATEX(FILTER('Question 1','Question 1'[count] = _a),'Question 1'[Question 1],",")
RETURN _b

 

6. Use the following DAX expression to create a column

 

Rank = RANKX('Question 1','Question 1'[count],,DESC,Dense)

 

7. Final output

vzhouwenmsft_6-1711522854931.png

vzhouwenmsft_7-1711522862755.png

vzhouwenmsft_8-1711522877980.png

vzhouwenmsft_9-1711522885123.png

 


Best Regards,
Wenbin Zhou
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

 

View solution in original post

2 REPLIES 2
Anonymous
Not applicable

Hi @HMAnnex ,

The Table data is shown below:

vzhouwenmsft_0-1711522620407.png

Please follow these steps:
1. Use Power Query to aggregate each question into a separate table

vzhouwenmsft_1-1711522658152.png

vzhouwenmsft_2-1711522666401.png

2. Split columns into rows by separator, For more information, please refer to the following article:

Split columns by delimiter - Power Query | Microsoft Learn

vzhouwenmsft_3-1711522715055.png

vzhouwenmsft_4-1711522724062.png

vzhouwenmsft_5-1711522734779.png

3. Use the following DAX expression to create a table named ‘Question1’

 

Question 1 = SUMMARIZE('Table','Table'[Question 1],"count",COUNT('Table'[Question 1]))

 

4. Use the following DAX expression to create a measure

 

Top choices for question 1 = 
VAR _a = MAX('Question 1'[count])
VAR _b = CONCATENATEX(FILTER('Question 1','Question 1'[count] = _a),'Question 1'[Question 1],",")
RETURN _b

 

5. Use the following DAX expression to create a measure

 

Minimum choices for question 1 = 
VAR _a = MIN('Question 1'[count])
VAR _b = CONCATENATEX(FILTER('Question 1','Question 1'[count] = _a),'Question 1'[Question 1],",")
RETURN _b

 

6. Use the following DAX expression to create a column

 

Rank = RANKX('Question 1','Question 1'[count],,DESC,Dense)

 

7. Final output

vzhouwenmsft_6-1711522854931.png

vzhouwenmsft_7-1711522862755.png

vzhouwenmsft_8-1711522877980.png

vzhouwenmsft_9-1711522885123.png

 


Best Regards,
Wenbin Zhou
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

 

Thank you so much! It'll be hefty but it does work.

Helpful resources

Announcements
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!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

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

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