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
UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

November Power BI Update 768x460.png

Check it Out!

Click here to read more about the November 2021 Updates!

M365 768x460.jpg

Microsoft 365 Collaboration Conference | December 7–9, 2021

Join us, in-person, December 7–9 in Las Vegas, for the largest gathering of the Microsoft community in the world.