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.
Hi,
I have a model where I have a Customers table and an Orders Table. I want to add a new mesure in the Customers table where i want to compute the average buying cyle. So i add this DAX mesure:
BUYING_CYCLE =
AVERAGEX(ORDERS;
DATEDIFF( CALCULATE (
MAX ( 'ORDERS'[ORDER_DATE] ) ;
FILTER(ORDERS; EARLIER('ORDERS'[ORDER_DATE]) >= 'ORDERS'[ORDER_DATE] )
); 'ORDERS'[ORDER_DATE]
; DAY )
)
This works fine but it's not correct. I should add a second filter like this:
FILTER(ORDERS; EARLIER('ORDERS'[ORDER_DATE]) >= 'ORDERS'[ORDER_DATE] ) && EARLIER('ORDERS'[ID]) <> 'ORDERS'[ID] )
But if I add this second expression the query is really slow and the memory gets to 98 plus %. There aren't a lot of records in the Orders table, like 25000.
Can anybody tell me how can i understand what is happening here?
Thank you.
My understanding from your requierment .
U have customer table, Order Table.
U want to know the Customer average ? am right ?
if yes ? do u have relarionship between this two tables right ?
then u can use direct average function . i know i misunderstood.
Can u please share your sample data, and your expected output i will help u.
I think u want to know the Customer Running Average.
I think you can do the filter without the earlier() function.
try: FILTER(ORDERS; VALUES('ORDERS'[ORDER_DATE]) >= 'ORDERS'[ORDER_DATE] ) && VALUES('ORDERS'[ID]) <> 'ORDERS'[ID] )
as you cycle through all of your orders, you could create a calculated column in your orders table to get the 'previous order date'. You would have to add a condition for 'the same customer':
CALCULATE (
MAX ( 'ORDERS'[ORDER_DATE] ) ;
FILTER(ORDERS; EARLIER('ORDERS'[ORDER_DATE]) >= 'ORDERS'[ORDER_DATE] ) && EARLIER('ORDERS'[ID]) <> 'ORDERS'[ID] && EARLIER('CUSTOMER'[ID]) = 'CUSTOMER'[ID])
)
Regards,
Dries
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 |
---|---|
110 | |
98 | |
78 | |
64 | |
55 |
User | Count |
---|---|
143 | |
109 | |
89 | |
84 | |
66 |