Forum Discussion
Multiple responses from forms combining
- 4 years ago
Hi zaraanderson ,
In this case you need to take a different approach, keeping the responses has you have you can create disconnected tables with the answrs from the multioption. In this case I have created 2 tables:
Now using this I have created the following two measures:
Pet Count = // Character that split phrase into words VAR SplitByCharacter = ";" // Temporary table that splits selected phrase into words VAR Words_table = ADDCOLUMNS ( GENERATE ( SELECTCOLUMNS ( SUMMARIZE ( ALLSELECTED ( 'Sheet1 (2)' ), 'Sheet1 (2)'[Respondent ID], 'Sheet1 (2)'[Pet type (select all that apply)] ), "Find_Text", 'Sheet1 (2)'[Pet type (select all that apply)] ), VAR TokenCount = PATHLENGTH ( SUBSTITUTE ( [Find_Text], SplitByCharacter, "|" ) ) RETURN GENERATESERIES ( 1, TokenCount ) ), "Word", PATHITEM ( SUBSTITUTE ( [Find_Text], SplitByCharacter, "|" ), [Value] ) ) RETURN COUNTROWS ( FILTER ( Words_table, [Word] IN VALUES ( Pets[Pet type] ) ) ) Food Count = // Character that split phrase into words VAR SplitByCharacter = ";" // Temporary table that splits selected phrase into words VAR Words_table = ADDCOLUMNS ( GENERATE ( SELECTCOLUMNS ( SUMMARIZE ( ALLSELECTED ( 'Sheet1 (2)' ), 'Sheet1 (2)'[Respondent ID], 'Sheet1 (2)'[Favourite foods (select all that apply)] ), "Find_Text", 'Sheet1 (2)'[Favourite foods (select all that apply)] ), VAR TokenCount = PATHLENGTH ( SUBSTITUTE ( [Find_Text], SplitByCharacter, "|" ) ) RETURN GENERATESERIES ( 1, TokenCount ) ), "Word", PATHITEM ( SUBSTITUTE ( [Find_Text], SplitByCharacter, "|" ), [Value] ) ) RETURN COUNTROWS ( FILTER ( Words_table, [Word] IN VALUES ( Foods[Favourite foods] ) ) )Has you can see now you can use these two measures on your calculation:
PBIX attach.
Thanks MFelix, I so appreciate your time. So I found that split by delimiter in rows definitely fixed my visuals. Everything is nicely in the independent categories now.
However, it's caused a different problem which I'm not sure how to deal with. Basically in the PowerQuery, it's created duplicates of each response when it has split, which is making it look like I have way more responses than i do...
Is there a way I can add another fix over the top so I can have an accurate representation of the number of respondents?
Thanks,
Zara
Hi,
The number of respondents would now be calculated by the following measure:
=distinctcount(Data[ID})
Hope this heolps.
- zaraanderson4 years agoFrequent Visitor
Thanks Ashish_Mathur for jumping in. I guess the problem is moreso that I have a few more data points with multiple responses that I need to split, which will essentially make my data set grow ridiculously large and effect further other data that I wish to display from other columns, which will have a huge number of duplictaes and then therefore not be accurate?
So here, I have 3 respondents (2 primary, 1 secondary), but because of the split, on my visualisation it now says there are 7 primary and 3 secondary, which of course is inaccurate. Is there a way to fix this? I'd essentially like it to know what is dupllicate and ignore it 😂 as seen in my very technical drawing here:
- Ashish_Mathur4 years agoSuper User
Hi,
Theoretically, you can filter out those rows using the Query Editor but you may nit want to do so because a data point in some other column will also get removed in that process.
- zaraanderson4 years agoFrequent Visitor
Exactly. The logic I'm after I suppose is that if the response id# is the same as the row above, ignore certain columns?
- MFelix4 years agoSuper User
Hi zaraanderson ,
This happens because you have made the split to rows so the other columns get the values repeated, in this case you need to use a MIN or similar on the other responses where you don't want the repeat values.
Other options, can be to create a dimension table with the ID of the answer and the most important information of the answer, like date created completion time and those type of things, then remove create an index for each group of question and the clean the columns you don't need and just keep the values for the 1st row of each response.
If you don't want to have the duplicates another option can be to treat the column where you have the several answers (the original question you did) and make a disconnected table and make a measure that find if the answer is within you column then you can do your visualization.
Can you share a small sample please.
- zaraanderson4 years agoFrequent Visitor
Hi MFelix - thanks for your reply again, really appreciate your time. I can't share a sample of the actual file, but I have made a dummy file that replicates the characteristics. Link to excel file and PBI file
So basically, I have a few multiple response questions (eg. pet type, favourite foods) and if I split all those by delimiter then my file will eventually have hundreds of duplicates. For the multiple responses, I want to split them and count them individually (eg. view how many people have dogs, how many people have birds, how many people have cats) and have no interest in the combination of pets that people have. However, I need to keep the data connected to its original response so that I can use the other single response question data points as filters/slicers (eg. if we just look at 20-29 year olds, what is the dispersion of pet type?)
Hopefully this makes sense? Again I really appreciate you taking such a close look at this.
Kind regards,
Zara