Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
We would like to make a DAX measure that shows users that have had their first order in a period.
I tried using:
FirstInteractionDate = CALCULATE(MIN(orders[created_date]),DATESBETWEEN('Date'[Date],MINX(all('Calendar'),'Calendar'[Date]),MAX('Calendar'[Date]))) and New Customers = COUNTROWS(FILTER(VALUES(orders[customer.id]),[FirstInteractionDate] >= MIN('Calendar'[Date]))) to try and calculate it,
but it shows the active users, which are measured with this:
ordered_user_count = CALCULATE(DISTINCTCOUNT(orders[customer.id]), FILTER(orders, orders[order_count_per_customer] > 0))+0
with the order_count_per_customer being:
order_count_per_customer = CALCULATE(COUNTROWS(orders),FILTER(orders,orders[customer.id]=EARLIER(orders[customer.id])))
How would I calculate the first order users in a given period of time?
Thanks
@Kareem_Amr_IT Maybe something along the lines of:
Measure =
VAR __MinDateInPeriod = MIN('Calendar'[Date])
VAR __MaxDateInPeriod = MAX('Calendar'[Date])
VAR __PreviousCustomers =
SELECTCOLUMNS(
FILTER('orders',[created_date]<__MinDateInPeriod),
"__customerID",[customer.id]
)
VAR __CustomersInPeriod =
SELECTCOLUMNS(
FILTER('orders',[created_date]>=__MinDateInPeriod && [created_date]<=__MaxDateInPeriod),
"__customerID",[customer.id]
)
RETURN
CONCATENATEX(EXCEPT(__CustomersInPeriod,__PreviousCustomers),[__customerID],", ")
Check out the July 2025 Power BI update to learn about new features.
User | Count |
---|---|
24 | |
10 | |
6 | |
6 | |
6 |
User | Count |
---|---|
30 | |
11 | |
11 | |
10 | |
6 |