Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
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],", ")
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
| User | Count |
|---|---|
| 14 | |
| 5 | |
| 5 | |
| 3 | |
| 3 |
| User | Count |
|---|---|
| 24 | |
| 10 | |
| 10 | |
| 6 | |
| 6 |