cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
froxas
Helper II
Helper II

count active users and new user from log events

I have a login events table like that

froxas_0-1634927394370.png

where is event Id, user id and date.

 

I need to count  active users and new users per selected period.

new user is the user who is in selected period and no in previous periods.

active user is user who is in seletced period and can be found in past periods

 

how can i check id user is in one period and another and oposite.

 

link to pbix file 

 

1 ACCEPTED SOLUTION
CNENFRNL
Community Champion
Community Champion

#All Usr = CALCULATE(DISTINCTCOUNT(events[user_id]),REMOVEFILTERS())
#New Usr = 
COUNTROWS(
    FILTER(
        VALUES( events[user_id] ),
        NOT events[user_id]
            IN SELECTCOLUMNS(
                FILTER( ALL( events ), events[event date] < MIN( Calendar[Date] ) ),
                "@usr", events[user_id]
            )
    )
)
#Active Usr = 
COUNTROWS(
    FILTER(
        VALUES( events[user_id] ),
        events[user_id]
            IN SELECTCOLUMNS(
                FILTER( ALL( events ), events[event date] < MIN( Calendar[Date] ) ),
                "@usr", events[user_id]
            )
    )
)
#Lost Usr = 
CALCULATE(
    DISTINCTCOUNT( events[user_id] ),
    FILTER(
        SELECTCOLUMNS(
            FILTER( ALL( events ), events[event date] < MIN( Calendar[Date] ) ),
            "@usr", events[user_id]
        ),
        NOT [@usr] IN VALUES( events[user_id] )
    ),
    ALL()
)

Screenshot 2021-10-23 021806.png

View solution in original post

1 REPLY 1
CNENFRNL
Community Champion
Community Champion

#All Usr = CALCULATE(DISTINCTCOUNT(events[user_id]),REMOVEFILTERS())
#New Usr = 
COUNTROWS(
    FILTER(
        VALUES( events[user_id] ),
        NOT events[user_id]
            IN SELECTCOLUMNS(
                FILTER( ALL( events ), events[event date] < MIN( Calendar[Date] ) ),
                "@usr", events[user_id]
            )
    )
)
#Active Usr = 
COUNTROWS(
    FILTER(
        VALUES( events[user_id] ),
        events[user_id]
            IN SELECTCOLUMNS(
                FILTER( ALL( events ), events[event date] < MIN( Calendar[Date] ) ),
                "@usr", events[user_id]
            )
    )
)
#Lost Usr = 
CALCULATE(
    DISTINCTCOUNT( events[user_id] ),
    FILTER(
        SELECTCOLUMNS(
            FILTER( ALL( events ), events[event date] < MIN( Calendar[Date] ) ),
            "@usr", events[user_id]
        ),
        NOT [@usr] IN VALUES( events[user_id] )
    ),
    ALL()
)

Screenshot 2021-10-23 021806.png

View solution in original post

Helpful resources

Announcements
Power BI December 2021 Update_carousel 768x460.jpg

Check it Out!

Click here to read more about the December 2021 Updates!

Jan 2022 Dev Camp 768x460 copy.png

Power BI Dev Camp- January 27th, 2022

Mark your calendars and join us for our next Power BI Dev Camp!

UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

Top Solution Authors
Top Kudoed Authors