Forum Discussion
Anonymous
8 years agoNot applicable
Calculating Percentage using Groupby
I need to make a table with the percentage of compliance per person. Percentage of compliance is equivalent to the number of YES over the number of rows related to a particular person. How am I suppo...
- 8 years ago
Anonymous
If you directly want a calculated table as an OUTPUT,,, then goto Modelling Tab>>New Table and use this formula
Table = SUMMARIZE ( TableName, TableName[Person], "%age of compliance", VAR totalCountforaperson = CALCULATE ( COUNT ( TableName[Person] ), ALLEXCEPT ( TableName, TableName[Person] ) ) VAR CountwithYes = CALCULATE ( COUNT ( TableName[Person] ), FILTER ( ALLEXCEPT ( TableName, TableName[Person] ), TableName[Compliance] = "Yes" ) ) RETURN DIVIDE ( CountwithYes, totalCountforaperson ) ) - 8 years ago
Hi Anonymous
The below calculated table will gget you pretty close
New Table = ADDCOLUMNS( SUMMARIZECOLUMNS( 'Table1'[Person], "Rows Total",COUNTROWS('Table1') , "Compliant",COUNTROWS(Filter('Table1','Table1'[Compliance]="Yes"))+0 ), "Ratio" , DIVIDE([Compliant],[Rows Total]) )
Phil_Seamark
8 years agoMicrosoft Employee
Hi Anonymous
The below calculated table will gget you pretty close
New Table =
ADDCOLUMNS(
SUMMARIZECOLUMNS(
'Table1'[Person],
"Rows Total",COUNTROWS('Table1') ,
"Compliant",COUNTROWS(Filter('Table1','Table1'[Compliance]="Yes"))+0
),
"Ratio" , DIVIDE([Compliant],[Rows Total])
)Anonymous
8 years agoNot applicable
Hi Phil_Seamark, thanks for replying. I was wondering what's the +0 for in the formula? This seems to be neat solution :smileyhappy:
- Phil_Seamark8 years agoMicrosoft Employee
HI Anonymous,
The +0 just converts a blank cell to a 0 in this case. Take it out and see. :)
- Anonymous8 years agoNot applicable
Hi Phil_Seamark, this really works well! I'm actually a beginner in DAX and this technique is really helpful for me specially for future use. Thanks! :smileyhappy: