cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
IgorAM
Frequent Visitor

Compare survey scores

Hi guys,

 

I have a table with the following columns

 

NPS Survey: Column with the survey, for example, 1st survey, 2nd survey, 3th survey

NPS Score: Column with the score for each answer, for example, 0, 1, 2, 3,...10

NPS e-mail: Column with the e-mail that sent the answer

 

What I need is an average of NPS Score from the e-mails who answer the all the 3 surveys. Some e-mails just answered the first survey, some just the seconde or third, what I need its a measure that considers just the e-mails that answer the 3 surveys.

 

The objective it is to compare the score of the 1st survey, with the 2nd and 3 survey, but just looking for the e-mails who follow the rule above.

1 ACCEPTED SOLUTION
djurecicK2
Resident Rockstar
Resident Rockstar

Hi @IgorAM ,

 Here is one way to do it- by creating a calculated column to see how many reponses per email, then summarize the table to show only emails with 3 responses.

(adapt to your table and field names)

 
Survey Responses = COUNTROWS(FILTER('SurveyTable', (EARLIER('SurveyTable'[e-mail])= 'SurveyTable'[e-mail])))
 

djurecicK2_0-1669744272748.png

 

3 Responses = CALCULATETABLE(SUMMARIZE(SurveyTable,SurveyTable[e-mail], "Surveys", AVERAGE(SurveyTable[Survey Responses])), SurveyTable[Survey Responses] >=3)
 
djurecicK2_1-1669744489134.png

 

Please accept as solution if this has answered the question- thanks!


If this post helps, then please consider accepting it as the solution to help other members find it more quickly.

View solution in original post

4 REPLIES 4
djurecicK2
Resident Rockstar
Resident Rockstar

Hi @IgorAM ,

 Here is one way to do it- by creating a calculated column to see how many reponses per email, then summarize the table to show only emails with 3 responses.

(adapt to your table and field names)

 
Survey Responses = COUNTROWS(FILTER('SurveyTable', (EARLIER('SurveyTable'[e-mail])= 'SurveyTable'[e-mail])))
 

djurecicK2_0-1669744272748.png

 

3 Responses = CALCULATETABLE(SUMMARIZE(SurveyTable,SurveyTable[e-mail], "Surveys", AVERAGE(SurveyTable[Survey Responses])), SurveyTable[Survey Responses] >=3)
 
djurecicK2_1-1669744489134.png

 

Please accept as solution if this has answered the question- thanks!


If this post helps, then please consider accepting it as the solution to help other members find it more quickly.

Thank you very much!!

djurecicK2
Resident Rockstar
Resident Rockstar

Hi @IgorAM ,

 Could you please post an image of your table? Seems like you can accomplish this with IF and ISBLANK statements.

 

https://learn.microsoft.com/en-us/dax/isblank-function-dax

 


If this post helps, then please consider accepting it as the solution to help other members find it more quickly.

Hi djurecicK2,

 

Here is an example. Note that the emails eee@gmail, bbb@outlook and ccc@yahoo answered the three surveys, so I need to look only for them in the measure and ignore the others.

 

IgorAM_0-1669736375151.png

 

 

Helpful resources

Announcements
May 2023 update

Power BI May 2023 Update

Find out more about the May 2023 update.

Submit your Data Story

Data Stories Gallery

Share your Data Story with the Community in the Data Stories Gallery.

Top Solution Authors