Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

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
Super User
Super User

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
Super User
Super User

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!

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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

Top Solution Authors
Top Kudoed Authors