Reply
jeroenwmwillems
Advocate I
Advocate I

Help in first occurance based on three columns

Hi all,

 

Hope you can share your wisdom with me and help me set up a column query for the following:

I'm trying to create a colum that tags the first visit of a user to a location. I have a date column, a location column and a user column.

What formula would I have to write up to get the output as in my screenshot?

 

Thanks in advance for your help on this one! 

jeroenwmwillems_0-1684475491267.png

 

 

1 ACCEPTED SOLUTION
rajulshah
Memorable Member
Memorable Member

Hello @jeroenwmwillems ,

 

You can use the following DAX query for a calculated column:

 

Output = 
VAR FirstVisitDate =
    CALCULATE (
        MIN ( Visits[Date] ),
        FILTER (
            Visits,
            Visits[User] = EARLIER ( Visits[User] )
            && Visits[Location] = EARLIER ( Visits[Location] )
                && Visits[Date] <= EARLIER ( Visits[Date] )
        )
    )
VAR FirstVisitLocation =
    CALCULATE (
        MIN ( Visits[Location] ),
        FILTER (
            Visits,
            Visits[User] = EARLIER ( Visits[User] )
            && Visits[Location] = EARLIER ( Visits[Location] )
                && Visits[Date] >= EARLIER ( Visits[Date] )
        )
    )
VAR SelectedUser = Visits[User]
RETURN
    IF (
        Visits[User] = SelectedUser
            && Visits[Date] = FirstVisitDate
            && Visits[Location] = FirstVisitLocation,
        "First Visit",
        "Follow up Visit"
    )

 

 

Please try this and let me know if this didn't work.

View solution in original post

2 REPLIES 2
rajulshah
Memorable Member
Memorable Member

Hello @jeroenwmwillems ,

 

You can use the following DAX query for a calculated column:

 

Output = 
VAR FirstVisitDate =
    CALCULATE (
        MIN ( Visits[Date] ),
        FILTER (
            Visits,
            Visits[User] = EARLIER ( Visits[User] )
            && Visits[Location] = EARLIER ( Visits[Location] )
                && Visits[Date] <= EARLIER ( Visits[Date] )
        )
    )
VAR FirstVisitLocation =
    CALCULATE (
        MIN ( Visits[Location] ),
        FILTER (
            Visits,
            Visits[User] = EARLIER ( Visits[User] )
            && Visits[Location] = EARLIER ( Visits[Location] )
                && Visits[Date] >= EARLIER ( Visits[Date] )
        )
    )
VAR SelectedUser = Visits[User]
RETURN
    IF (
        Visits[User] = SelectedUser
            && Visits[Date] = FirstVisitDate
            && Visits[Location] = FirstVisitLocation,
        "First Visit",
        "Follow up Visit"
    )

 

 

Please try this and let me know if this didn't work.

Thanks heaps for this, that worked!

avatar user

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code FABINSIDER for a $400 discount!

FebPBI_Carousel

Power BI Monthly Update - February 2025

Check out the February 2025 Power BI update to learn about new features.

March2025 Carousel

Fabric Community Update - March 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors (Last Month)
Top Kudoed Authors (Last Month)