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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
QuasemS
Frequent Visitor

Calculating day/time difference

I have two columns, both with dates and times in the same format. I want to create a new column to calculate the days/times differences between the two columns. But when I try to change the data type to date/time, it gives me an error which makes sense because it's looking for an actualy date, whereas I am trying to calculate the difference between two dates.

 

Anybody know a good way to do this?

 

Thanks

1 ACCEPTED SOLUTION

@QuasemS

 

You can also add a custom column in Query Editor.

=Duration.ToText([AlarmClearedUTC]-[AlarmSentUTC])

 

Capture.PNG

 

And then in DAX

Column = 
IF (
    LEFT ( Table1[Duration], IFERROR ( SEARCH ( ".", Table1[Duration] ), 1 ) - 1 )
        = "",
    0,
    LEFT ( Table1[Duration], IFERROR ( SEARCH ( ".", Table1[Duration] ), 1 ) - 1 )
)
    & " DAY "
    & RIGHT ( Table1[Duration], 8 )

Capture.PNG

 

Or Duration.ToRecord and expand?

Duration.ToRecord([AlarmClearedUTC]-[AlarmSentUTC])

Capture.PNG

View solution in original post

11 REPLIES 11
Anonymous
Not applicable

Also can use a measure, i feel little faster loading time with this 


TimeDiff = CONVERT(SELECTEDVALUE(Table[Date1],0)-SELECTEDVALUE(Table[Date2],0),DATETIME)

 
and then change the format to time hh:mm:ss
Cheers

Thanks, this idea helped me on a similar issue i was batttling with. 

Eric_Zhang
Employee
Employee


@QuasemS wrote:

I have two columns, both with dates and times in the same format. I want to create a new column to calculate the days/times differences between the two columns. But when I try to change the data type to date/time, it gives me an error which makes sense because it's looking for an actualy date, whereas I am trying to calculate the difference between two dates.

 

Anybody know a good way to do this?

 

Thanks


@QuasemS

 

What is the format of those two column? The data type conversion error indicates the format can't predicated correctly. Please post some sample of those column, if they're in the same format, it can be easy to re-format and convert to date.

Here's a snapshot of the two columns. I'm trying to find the difference between the second and the first one:

snap1.PNG

 

So the result wouldn't be a date, but in days/minutes/seconds format.

 

 

In your Query Editor window, add a custom column with a formula of:

 

[AlarmSentUTC] - [AlarmClearedUTC]

This will result in a Duration field that you can then use the blog article I posted earlier to format into the format you want.


Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

I would get a raw number for that column. Do I format it using this:

 

Hours = INT([Duration in Seconds]/3600)
Minutes = INT(MOD([Duration in Seconds],3600)/60)
Seconds = MOD(MOD([Duration in Seconds],3600),60)
H = IF(LEN([Hours])=1,CONCATENATE("0",[Hours]),CONCATENATE("",[Hours]))
M = IF(LEN([Minutes])=1,CONCATENATE("0",[Minutes]),CONCATENATE("",[Minutes]))
S = IF(LEN([Seconds])=1,CONCATENATE("0",[Seconds]),CONCATENATE("",[Seconds]))

@QuasemS

 

You can also add a custom column in Query Editor.

=Duration.ToText([AlarmClearedUTC]-[AlarmSentUTC])

 

Capture.PNG

 

And then in DAX

Column = 
IF (
    LEFT ( Table1[Duration], IFERROR ( SEARCH ( ".", Table1[Duration] ), 1 ) - 1 )
        = "",
    0,
    LEFT ( Table1[Duration], IFERROR ( SEARCH ( ".", Table1[Duration] ), 1 ) - 1 )
)
    & " DAY "
    & RIGHT ( Table1[Duration], 8 )

Capture.PNG

 

Or Duration.ToRecord and expand?

Duration.ToRecord([AlarmClearedUTC]-[AlarmSentUTC])

Capture.PNG

My data doesnt contain any days, when i use this power BI won't move the ifo to the table because of the zero days.

 

Anonymous
Not applicable

This is exactly what I'm looking for, but it doesn't work in Direct Query mode, do you have any alternatives for that?

Importing the data?

Greg_Deckler
Super User
Super User

Does this help?

 

http://community.powerbi.com/t5/DAX-Commands-and-Tips/Days-Between-Dates-with-Negatives/m-p/58303#U5...

 

Or this?

 

http://community.powerbi.com/t5/Community-Blog/Aggregating-Duration-Time/ba-p/22486


Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

Helpful resources

Announcements
Fabcon_Europe_Social_Bogo

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

Power BI Carousel June 2024

Power BI Monthly Update - June 2024

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

RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.