Forum Discussion
Days between dates of same column using DAX
- Anonymous2 years ago
Hi POSPOS ,
Please try:Column = VAR _cur_protocol = 'export'[Protocol Number] VAR _cur_index = 'export'[Index] VAR _next_index = CALCULATE(MIN('export'[Index]),FILTER(ALL('export'),'export'[Protocol Number]=_cur_protocol && 'export'[Index]>_cur_index)) VAR _next_date = CALCULATE(MIN('export'[Status Date]),ALLEXCEPT('export','export'[Index]),'export'[Index]=_next_index) VAR _result = COALESCE(DATEDIFF('export'[Status Date],_next_date,DAY),0) RETURN _resultBest Regards,
Gao
Community Support TeamIf there is any post helps, then please consider Accept it as the solution to help the other members find it more quickly.
If I misunderstand your needs or you still have problems on it, please feel free to let us know. Thanks a lot!How to get your questions answered quickly -- How to provide sample data in the Power BI Forum -- China Power BI User Group
Data-estDog - thank for the response.
When the dates are same, the values are not showing as expected. In this example, "Staff" comes before "Assigning", hence staff should be 9 and Assigning should be 0.
But 9 is repeated for both the statuses.
- Data-estDog2 years agoResolver II
You would need a more granular date/time stamp. Or a sequence number (order the status was changed in) in order to achieve that.
- Data-estDog2 years agoResolver II
If you want to assume status always happens in alphabetical order:
DaysTillNextStatus =VAR CurrentStatusDate = Min('export'[Status Date])VAR CurrentProtocol = SELECTEDVALUE('export'[Protocol Number])VAR CurrentStatus = SELECTEDVALUE('export'[Status])var NextDate = CALCULATE(Min('export'[Status Date]),FILTER(ALL('export'),('export'[Status Date] > CurrentStatusDate && CurrentProtocol = 'export'[Protocol Number])))var NextDate2 = CALCULATE(Min('export'[Status Date]),FILTER(ALL('export'),( 'export'[Status Date] = CurrentStatusDate&& CurrentProtocol = 'export'[Protocol Number]&& 'export'[Status] > CurrentStatus)))VAR vDifference = DATEDIFF(CurrentStatusDate , NextDate, DAY)VAR vDifference2 = DATEDIFF(CurrentStatusDate , NextDate2, DAY)RETURN IF(ISBLANK(COALESCE(vDifference2, vDifference)), 0, COALESCE(vDifference2, vDifference)) - POSPOS2 years agoPost Partisan
Data-estDog - Can we add a index col and then use this code ? as the statuses are not always in alphabetical order and can vary case by case.
- Data-estDog2 years agoResolver II
Yes. I see that as the same as a sequence number. With the absence of time, its just something that gives indication of order.
Don't forget to mark this as the solution if and give me a thumbs up if I have helped you!