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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

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.