Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount.
Register nowThe Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.
Hello
How can i count how many times the user changes category?
How to calculate the value of n changes?
ps the changes column doesn't exist in my table
thanks
id | start date | end date | category | changes | n changes |
9100 | 11/07/2019 | 05/07/2019 | category 1 | ||
9100 | 11/10/2019 | 11/10/2019 | category 2 | x | 1 |
9100 | 02/12/2019 | 29/11/2019 | category 2 | ||
2222 | 02/11/1982 | 30/09/1990 | category 1 | x | |
2222 | 01/10/1990 | 30/09/1993 | category 2 | x | |
2222 | 01/10/1993 | 28/02/1994 | category 3 | x | 3 |
3698 | 01/03/2004 | 31/12/2005 | category 5 | ||
3698 | 01/01/2006 | 31/12/9999 | category 5 | 0 |
Solved! Go to Solution.
Hi @Anonymous ,
Pls use the below dax to create a new column:
n change1 =
VAR maxdate =
CALCULATE ( MAX ( 'Table'[start date] ), ALLEXCEPT ( 'Table', 'Table'[id] ) )
RETURN
IF (
'Table'[start date] = maxdate,
IF (
CALCULATE (
COUNT ( 'Table'[id] ),
ALLEXCEPT ( 'Table', 'Table'[id] ),
'Table'[changes] = "x"
)
= BLANK (),
0,
CALCULATE (
COUNT ( 'Table'[id] ),
ALLEXCEPT ( 'Table', 'Table'[id] ),
'Table'[changes] = "x"
)
),
BLANK ()
)
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Best Regards,
Lucien
Hi @Anonymous ,
Pls use the below dax to create a new column:
n change1 =
VAR maxdate =
CALCULATE ( MAX ( 'Table'[start date] ), ALLEXCEPT ( 'Table', 'Table'[id] ) )
RETURN
IF (
'Table'[start date] = maxdate,
IF (
CALCULATE (
COUNT ( 'Table'[id] ),
ALLEXCEPT ( 'Table', 'Table'[id] ),
'Table'[changes] = "x"
)
= BLANK (),
0,
CALCULATE (
COUNT ( 'Table'[id] ),
ALLEXCEPT ( 'Table', 'Table'[id] ),
'Table'[changes] = "x"
)
),
BLANK ()
)
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Best Regards,
Lucien
Thanks for your response @v-luwang-msft .
but the changes column doesn't exist in my data model. how can i create it?
Hi @Anonymous ,
Use the following dax to create a new column:
change1 =
VAR rank1 =
RANKX (
FILTER ( ALL ( 'Table' ), 'Table'[id] = EARLIER ( 'Table'[id] ) ),
'Table'[end date],
,
ASC,
DENSE
)
RETURN
IF (
rank1 <> 1
&& CALCULATE (
MAX ( 'Table'[category] ),
FILTER (
ALL ( 'Table' ),
'Table'[id] = EARLIER ( 'Table'[id] )
&& RANKX (
FILTER ( ALL ( 'Table' ), 'Table'[id] = EARLIER ( 'Table'[id] ) ),
'Table'[end date],
,
ASC,
DENSE
) = rank1 - 1
)
) <> 'Table'[category],
"x",
BLANK ()
)
Output:(And I think the first id=2222 not need "x" )
Best Regards
Lucien
Hello,
Thanks for your response @lbendlin .
only changes of a new category are important.
any idea how to do this?
Do a distinct count of categories per user and subtract 1
User 2222 only changed category twice, not three times.
Do you want to report on any changes or only on changes to a new category?
Let's say the third line of 9100 would be category 1. Does this now count as two changes?
User | Count |
---|---|
139 | |
70 | |
68 | |
52 | |
52 |
User | Count |
---|---|
209 | |
92 | |
64 | |
60 | |
57 |