Power BI is turning 10, and we’re marking the occasion with a special community challenge. Use your creativity to tell a story, uncover trends, or highlight something unexpected.
Get startedJoin us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.
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],", ")
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.
User | Count |
---|---|
11 | |
11 | |
10 | |
9 | |
8 |
User | Count |
---|---|
17 | |
12 | |
11 | |
11 | |
10 |