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

Get certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now

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
November Carousel

Fabric Community Update - November 2024

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

Live Sessions with Fabric DB

Be one of the first to start using Fabric Databases

Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.

Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.

Nov PBI Update Carousel

Power BI Monthly Update - November 2024

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