Forum Discussion
Calculating active users based on the last 6 months
- 7 years ago
Hi DusterD
Here try this.Past 6 months active = CALCULATE( INT( DISTINCTCOUNT( Table1[CASE_ID] ) >= 3 ), DATESINPERIOD( Table1[DATE_SUBMITED].[Date], MAX( Table1[DATE_SUBMITED].[Date] ), -6, MONTH ) )- DISTINCTCOUNT will count distinct Case ID, if no duplicates you can replace it with COUNTROWS( Table1 )
- >= 3 will convert the count to true \ false
- INT() will convert it to 1/0, so 1 is for active customer with 3 and over
Best Regards,
Mariusz
If this post helps, then please consider Accepting it as the solution.
Please feel free to connect with me. - 7 years ago
Hi DusterD
The below will count the active users
Past 6 months active = VAR _users = CALCULATETABLE( GROUPBY( Table1, Table1[USER_ID], "CaseCount", COUNTX( CURRENTGROUP(), Table1[CASE_ID] ) ), DATESINPERIOD( Table1[DATE_SUBMITED].[Date], MAX( Table1[DATE_SUBMITED].[Date] ), -6, MONTH ) ) RETURN COUNTROWS( FILTER( _users, [CaseCount] > 2 ) )Best Regards,
Mariusz
If this post helps, then please consider Accepting it as the solution.
Please feel free to connect with me.
I appreciate the help Mariusz,
I tried that measure and it's returning 0 for every row, I'm assuming that since all CASE_ID are distinct values it will never reach 3, even using COUNTROWS. Also where does USER_ID fall into this? Will I create another measure to count USER_ID based on the value 1 from this measure?
Hi DusterD
Please see the below.
data used for this scenario.
CASE_IDUSER_IDDATE_SUBMITED
| 1 | 1 | 03/06/2019 00:14:00 |
| 2 | 1 | 03/07/2019 00:14:00 |
| 3 | 1 | 04/04/2019 00:14:00 |
| 4 | 1 | 02/06/2019 00:14:00 |
| 5 | 1 | 01/06/2019 00:14:00 |
| 6 | 1 | 03/06/2019 00:14:00 |
| 7 | 1 | 03/06/2019 00:14:00 |
| 8 | 3 | 03/06/2019 00:14:00 |
| 9 | 3 | 01/06/2019 00:14:00 |
| 10 | 2 | 04/06/2019 00:14:00 |
| 11 | 2 | 05/06/2019 00:14:00 |
| 12 | 2 | 03/01/2019 00:14:00 |
| 13 | 2 | 03/01/2019 00:14:00 |
| 14 | 2 | 03/01/2019 00:14:00 |
| 15 | 2 | 03/01/2019 00:14:00 |
| 16 | 2 | 03/01/2019 00:14:00 |
Please see the below screenshot.
Based on the sample above, in Jun 2019, user 1 and 2 were active because they have raised 3 or more cases with in 6 months Jan to June
Mariusz
If this post helps, then please consider Accepting it as the solution.
Please feel free to connect with me.
- Mariusz7 years ago
Community Champion
Hi DusterD
The below will count the active users
Past 6 months active = VAR _users = CALCULATETABLE( GROUPBY( Table1, Table1[USER_ID], "CaseCount", COUNTX( CURRENTGROUP(), Table1[CASE_ID] ) ), DATESINPERIOD( Table1[DATE_SUBMITED].[Date], MAX( Table1[DATE_SUBMITED].[Date] ), -6, MONTH ) ) RETURN COUNTROWS( FILTER( _users, [CaseCount] > 2 ) )Best Regards,
Mariusz
If this post helps, then please consider Accepting it as the solution.
Please feel free to connect with me. - DusterD7 years agoFrequent Visitor
Hi Mariusz
Digging deeper, I created measure to get a distinctcount user IDs and when I select the 6 months in the slicer the number is exactly what I'm looking for. My end goal here is to be able to have a count of active users per month that I can graph. Thanks so much for your help!
Correct number with 6 months selectedToo low when latest month selectedToo high when all months selected