Forum Discussion
Success Rate (%) by category
Hello all!
I am struggling with what seems to be an easy task.
I have a table named "success" that looks like the one below. I have the Category and the Outcome, and I would like to calculate the Success Rate for each category, such that the numbers are as the ones indicated in the column "Success Rate". I tried different methods with Count and Filter but failed every time. Thank you!
Category Outcome Success Rate
| A | TRUE | 100% |
| B | FALSE | 0% |
| D | TRUE | 100% |
| A | TRUE | 100% |
| B | FALSE | 50% |
| C | FALSE | 50% |
| E | FALSE | 50% |
| A | TRUE | 100% |
| E | FALSE | 50% |
| C | TRUE | 50% |
Anonymous - Here is the column you asked for. PBIX is attached below sig. Table (19)
Success Rate = VAR __True = COUNTROWS(FILTER('Table (19)',[Category]=EARLIER([Category]) && [Outcome])) VAR __False = COUNTROWS(FILTER('Table (19)',[Category]=EARLIER([Category]) && NOT([Outcome]))) VAR __Result = DIVIDE(__True,__True+__False,0) RETURN IF(ISBLANK(__Result),0,__Result)
2 Replies
- amitchandak
Super User
Anonymous ,
A new measure like
Calculate(Divide(calculate(Count(Table[Outcome]),[Outcome] ="TRUE") ,Count(Table[Outcome])), allexcept(Table,Table[Category]))
Or a new column
column =
var _cnt =countx(filter(Table , [Category] =earlier([Category])),[Category])
var _cntTR =countx(filter(Table , [Category] =earlier([Category]) && [Outcome] ="TRUE"),[Category])
return
divide( _cntTR,_cnt) - Greg_Deckler
Community Champion
Anonymous - Here is the column you asked for. PBIX is attached below sig. Table (19)
Success Rate = VAR __True = COUNTROWS(FILTER('Table (19)',[Category]=EARLIER([Category]) && [Outcome])) VAR __False = COUNTROWS(FILTER('Table (19)',[Category]=EARLIER([Category]) && NOT([Outcome]))) VAR __Result = DIVIDE(__True,__True+__False,0) RETURN IF(ISBLANK(__Result),0,__Result)