Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago
Solved

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

ATRUE100%
BFALSE0%
DTRUE100%
ATRUE100%
BFALSE50%
CFALSE50%
EFALSE50%
ATRUE100%
EFALSE50%
CTRUE50%
  • 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

  • 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's avatar
    Greg_Deckler
    Icon for Community Champion rankCommunity 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)