Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
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],", ")
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
49 | |
25 | |
20 | |
15 | |
12 |
User | Count |
---|---|
57 | |
49 | |
44 | |
19 | |
18 |