Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

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.

Reply
michael_knight
Post Prodigy
Post Prodigy

Date Difference Between two columns and rows

Hi,

 

I'm trying to create a formula which will display the difference between The End Date and the Start Date. This is showing how long it took to start a process after finishing one. In the case for ID 1, they finished the process and then started another one, it took 23 days to start the next process

 

 

IDStart DateEnd DateExpected Outcome
105/05/202123/05/20210
115/06/2021 23
225/03/2021 0
302/07/202106/07/20210
317/07/202120/07/202111
329/07/2021 9
409/09/2021 0
525/09/202127/09/20210
515/10/202120/10/202118

The Expected Outcome is what I manually did, I want to create that column within Power BI

 

I posted the table because I'm to upload to OneDrive etc. 

 

Thanks,

Mike

1 ACCEPTED SOLUTION

@michael_knight , Try a new column like

 

Column = var _max1 = maxx(FILTER('Table',[ID] =EARLIER([ID]) && [Start Date] <EARLIER('Table'[Start Date])),[Start Date]) 
var _max  = maxx(FILTER('Table',[ID] =EARLIER([ID]) && [Start Date] =_max1),[End Date] ) 

return if(ISBLANK(_max), BLANK(), DATEDIFF(_max,[Start Date],DAY))

View solution in original post

6 REPLIES 6
michael_knight
Post Prodigy
Post Prodigy

Hi,

Does anyone know how I can fix the issue above?

Thanks

@michael_knight , Try a new column like

 

Column = var _max1 = maxx(FILTER('Table',[ID] =EARLIER([ID]) && [Start Date] <EARLIER('Table'[Start Date])),[Start Date]) 
var _max  = maxx(FILTER('Table',[ID] =EARLIER([ID]) && [Start Date] =_max1),[End Date] ) 

return if(ISBLANK(_max), BLANK(), DATEDIFF(_max,[Start Date],DAY))
amitchandak
Super User
Super User

@michael_knight , a new column

new column =

var _max = maxx(filter(Table, [ID] =earlier([ID]) && [Start Date] < earlier([Start Date]) ) , [End Date])

return

if( Isblank(_max), blank(), datediff(_max, [Start Date], day))

Hi @amitchandak 

 

Thank you for the reply. That's brilliant but one thing which I forgot to mention, if there is two processes on going, it must displace the earlier version. For example, for ID #3 

 

IDStart DateEnd DateExpected Outcome
105/05/202123/05/20210
115/06/2021 23
225/03/2021 0
302/07/202106/07/20210
317/07/202120/07/202111
329/07/2021 9
305/08/2021  
409/09/2021 0
525/09/202127/09/20210
515/10/202120/10/202118

 

There are two ongoing processes, it should only display the date difference for earliest version with the latest version being left blank

@michael_knight , Try a new column like

 

Column = var _max1 = maxx(FILTER('Table',[ID] =EARLIER([ID]) && [Start Date] <EARLIER('Table'[Start Date])),[Start Date]) 
var _max  = maxx(FILTER('Table',[ID] =EARLIER([ID]) && [Start Date] =_max1),[End Date] ) 

return if(ISBLANK(_max), BLANK(), DATEDIFF(_max,[Start Date],DAY))

Brilliant, thank you @amitchandak 

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.