How to sum over a row

I'm building a card where each row represents a client and each column represents the features they have enabled and the ones they actually use. I need to sum over the columns for each row to count every cell that has a zero or a one to come up with the total feautures enabled or used per client.

 

I've tried with a beast mode using SUM( CASE WHEN `feature_1` IN (0,1) .....WHEN `feature_20`IN (0,1) ELSE 0 END) but this returns '1' for every row instead of a sum of all the 1's for every feature with a zero or a one. What am I doing wrong here?

 

Thanks!

 

 

Best Answer

  • Valiant
    Valiant 🔵
    Accepted Answer

    I'm not quite sure of the full beastMode your'e using, but I think something like this should work for you:

    SUM(
    CASE WHEN `feature_1` IN (0,1) THEN 1 ELSE 0 END
    +
    CASE WHEN `feature_2` IN (0,1) THEN 1 ELSE 0 END
    +
    CASE WHEN `feature_3` IN (0,1) THEN 1 ELSE 0 END
    ....
    CASE WHEN `feature_20` IN (0,1) THEN 1 ELSE 0 END
    )

    That will return a 1 for each feature that has a value of 0 or 1 and sum them into 1 column.

     

    If that's not what you're looking for just let me know.


    Sincerely,

    Valiant

     

    **Please mark "Accept as Solution" if this post solves your problem
    **Say "Thanks" by clicking the "heart" in the post that helped you.

Answers