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

Compete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.

Reply
ladislaocsulak
Frequent Visitor

DAX measure or column to calculate first purchase of every user

Hello,

 

I have a table of transactions and I need to make a report in which we only consider the first transaction that each user made.

 

One way I could solve this is to duplicate the transactions table, sort by ascending date, and remove duplicates from the user field. But I know I could create a DAX measure or DAX column that does it in a more practical way, how could I do it?

 

Table: transactions of every user

Fields involved: Date (I want the first purchase for every user); User (unique id for every user)

1 ACCEPTED SOLUTION
AUaero
Responsive Resident
Responsive Resident

Assuming that your model has transactions table, a date table, and a user table:

# First Transaction Date = 
CALCULATE(
    MIN(Transactions[TransactionDate]),
    ALLEXCEPT(
        Transactions,
        Transactions[UserID],
        'Users'
    )
)

See this article on daxpatterns.com for further reading:
New and returning customers – DAX Patterns

View solution in original post

1 REPLY 1
AUaero
Responsive Resident
Responsive Resident

Assuming that your model has transactions table, a date table, and a user table:

# First Transaction Date = 
CALCULATE(
    MIN(Transactions[TransactionDate]),
    ALLEXCEPT(
        Transactions,
        Transactions[UserID],
        'Users'
    )
)

See this article on daxpatterns.com for further reading:
New and returning customers – DAX Patterns

Helpful resources

Announcements
July 2025 community update carousel

Fabric Community Update - July 2025

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

July PBI25 Carousel

Power BI Monthly Update - July 2025

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