Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.
Hello,
I have customers with their "individual" create dates in one table and "multiple" order dates in another table linked using customer id. I have to calculate the "earliest/first order" date and then subtract it from the "create date" for each indicvidual customer to get the number of days between.
Please help. Thanks!
Solved! Go to Solution.
The simplest solution would be to add a calculated column to the 'Customers' table.
DaysUntilFirstOrder = VAR CustomerFirstOrderDate = CALCULATE( MIN('Orders'[Order Date]) ) RETURN DATEDIFF( 'Customers'[Create Date]; CustomerFirstOrderDate; DAY )
This formula assumes a relationship between 'Customers' and 'Orders' table.
The CALCULATE statement enforces that the first order date is found in the context of a single customers. Without CALCULATE the formula would find the first order for ANY customer.
Be aware that DATEDIFF can return an error if any order date found is less that the corresponding 'Customers'[Create Date]. Such an exception can be handled using IFERROR() - but this can have negative performance impact at processing time.
The simplest solution would be to add a calculated column to the 'Customers' table.
DaysUntilFirstOrder = VAR CustomerFirstOrderDate = CALCULATE( MIN('Orders'[Order Date]) ) RETURN DATEDIFF( 'Customers'[Create Date]; CustomerFirstOrderDate; DAY )
This formula assumes a relationship between 'Customers' and 'Orders' table.
The CALCULATE statement enforces that the first order date is found in the context of a single customers. Without CALCULATE the formula would find the first order for ANY customer.
Be aware that DATEDIFF can return an error if any order date found is less that the corresponding 'Customers'[Create Date]. Such an exception can be handled using IFERROR() - but this can have negative performance impact at processing time.
Hi @gng
you have to create these measures
DateCreatedMeasure = MAX(Customer[DateCreated])
EarlierOrderDate = MIN(Orders[OrderDate])
and the result
Diff = VALUE([EarlierOrderDate]-[DateCreatedMeasure])
VALUE() is the poorly named 'convert to numeric type' function.
User | Count |
---|---|
117 | |
73 | |
58 | |
49 | |
48 |
User | Count |
---|---|
171 | |
122 | |
60 | |
59 | |
56 |