Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago
Solved

Measure or Calculated Column adding +1 per condition met

Hi all,

 

Per row, I want to check how many conditions the associated data meets.

 

E.g. if I have the following table People:

 

NameCashEye ColorShoe ColorHair Color
John20BrownBrownBlond
Jane80GreenYellowBrown
Doe0BrownYellowBrown

 

I want to do several checks like:

if(cash >50 && eye color == Green), counter +1

if(cash <10 && eye color == Brown), counter +1

if(Shoe Color == Yellow && eye color == Green), counter +1

if(Shoe Color == Brown && eye color == Brown), counter +1

 

Resulting in:

 

NameCashEye ColorShoe ColorHair ColorCounter
John20BrownBrownBlond1
Jane80GreenYellowBrown3
Doe0BrownYellowBrown1

 

 

I know this is possible by creating calculated columns for each check and then adding the results of those calculated columns, but I'd like to contain the complexity within 1 measure/calculated column, rather than spread over the table.

 

Can anyone tell me if this is possible, and if so, how?

 

Thanks in advance!

  • Anonymous , not very clear

    create a new column =if( [cash] > 50 && [eye color] = "Green",1,0) + if( [cash] <10 && [eye color] = "Brown",1,0) + if( [Shoe Color] "Yellow" && [eye color] = "Green",1,0)
    + if( [Shoe Color] "Brown" && [eye color] = "Brown",1,0)

4 Replies

  • Anonymous , not very clear

    create a new column =if( [cash] > 50 && [eye color] = "Green",1,0) + if( [cash] <10 && [eye color] = "Brown",1,0) + if( [Shoe Color] "Yellow" && [eye color] = "Green",1,0)
    + if( [Shoe Color] "Brown" && [eye color] = "Brown",1,0)

  • dedelman_clng's avatar
    dedelman_clng
    Community Champion

    Hi Anonymous 

     

    You can create a measure with this general formula pattern:

    Counter = 
    var __Check1 = COUNTROWS( 
            FILTER (Table, Table[Cash] > 50 && Table[Eye Color] = "Green") )
    var __Check2 = COUNTROWS( FILTER (Table, **Check2 Conditions**) )
    ...
    var __CheckN = COUNTROWS( FILTER (Table, **CheckN Conditions**) )
    
    RETURN
    __var1 + __var2 + ... + __varN + 0  //The +0 at the end keeps the result from being BLANK

     

    Hope this helps

    David

     

  • Anonymous's avatar
    Anonymous
    Not applicable

    Is this what you're looking for?

     

     

  • Anonymous's avatar
    Anonymous
    Not applicable

    Thanks all! I feel daft now for not think of just adding the if statements together.