Forum Discussion
Anonymous
7 years agoNot applicable
Create a calculated column based on another value in the same table
Hello. I have a table with 3 columns (SessionID, UserID, UsedFeature) and I want to create a calculated column with a flag that is 0 if a user has never used the feature in all of his sessions, 1...
- 7 years ago
Hi Anonymous ,
Try this:
NewColumn = VAR Num_Yes_ = CALCULATE ( COUNT ( Table1[UsedFeature] ), ALLEXCEPT ( Table1, Table1[UserID] ), Table1[UsedFeature] = "Yes" ) VAR Num_No_ = CALCULATE ( COUNT ( Table1[UsedFeature] ), ALLEXCEPT ( Table1, Table1[UserID] ), Table1[UsedFeature] = "No" ) VAR Num_Total_ = Num_Yes_ + Num_No_ RETURN SWITCH ( Num_Total_, Num_No_, 0, Num_Yes_, 1, 2 )
Anonymous
7 years agoNot applicable
AlB Thank you it works perfectly. I should really start looking into using variables. They are very useful.
Anonymous Thanks for your answer. I didn't try your solytion as AIB's answer worked for me, but it looks like it will work as well.
- AlB7 years ago
Community Champion
Hi Anonymous
Interesting solution. I'm curious, why do you need the CALCULATETABLE in VAR a? Wouldn't you get exactly the same table without it? i.e.:
VAR a = FILTER ( ALL ( 'Session' ), 'Session'[UserID] = EARLIER ( 'Session'[UserID] ) )in fact, the ALL() is superfluous since no filter context is present:
VAR a = FILTER ( 'Session', 'Session'[UserID] = EARLIER ( 'Session'[UserID] ) )- Anonymous7 years agoNot applicable
AlB - You're absolutely correct - thank you for catching that!