Forum Discussion
Rolling DateDiff to compare dates within a Table
Hi,
I need to calculate date diff within a table to the prior row,
Here's a sample dataset:
CustomerID;OrderID;OrderDate;DaysBetweenOrders
123;12;'2009-04-01';0
123;12;'2009-04-23';22
123;12;'2009-05-14';21
123;43;'2009-05-13';0
123;43;'2009-05-29';16
432;54;'2009-06-01';0
432;54;'2009-06-04';3
432;54;'2009-06-04';0
555;65;'2009-06-22';0
555;67;'2009-06-30';0
653;89;'2009-07-04';0
Please help me here to how can we achieve this in Power BI.
Thanks,
Ganesh
this code below almost works - the issue is it gives 3 for both rows dated 2009-06-04
in order to solve this you would need to either
1) add row id as a column and use that as criteria instead of date
2) have time of the order as well as the date, so you could specify that orders did not happen in the same momentColumn = VAR CurrentCustomerID = 'Table'[CustomerID] VAR CurrentOrderID = 'Table'[OrderID] VAR CurrentDate = 'Table'[OrderDate] VAR PreviousDate = CALCULATE ( LASTDATE ( 'Table'[OrderDate] ), FILTER ( ALL ( 'Table' ), 'Table'[CustomerID] = CurrentCustomerID && 'Table'[OrderID] = CurrentOrderID && 'Table'[OrderDate] < CurrentDate ) ) RETURN IF ( PreviousDate = 0, 0, CurrentDate - PreviousDate )
1 Reply
- StachuCommunity Champion
this code below almost works - the issue is it gives 3 for both rows dated 2009-06-04
in order to solve this you would need to either
1) add row id as a column and use that as criteria instead of date
2) have time of the order as well as the date, so you could specify that orders did not happen in the same momentColumn = VAR CurrentCustomerID = 'Table'[CustomerID] VAR CurrentOrderID = 'Table'[OrderID] VAR CurrentDate = 'Table'[OrderDate] VAR PreviousDate = CALCULATE ( LASTDATE ( 'Table'[OrderDate] ), FILTER ( ALL ( 'Table' ), 'Table'[CustomerID] = CurrentCustomerID && 'Table'[OrderID] = CurrentOrderID && 'Table'[OrderDate] < CurrentDate ) ) RETURN IF ( PreviousDate = 0, 0, CurrentDate - PreviousDate )