cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
kaka
Helper II
Helper II

How to subtract hours from DateTime data using DAX?

I am creating a new column using DAX where I need to display a date by subtracting five hours from it. 

 

So, if my date is 2016-12-21 09:40 pm, it should be 2016-12-21 04:40 pm. 


The function duration() suggested in this post does not even show up in power bi while typing. Would appreciate yuor help. 

1 ACCEPTED SOLUTION

Try this in DAX:

 

MaxDateFiveHourDiff = MAX(Table1[DateTime]) - 5/24

 

View solution in original post

11 REPLIES 11
Shamsbutt
Helper II
Helper II

Create new column with following Dax

Column = 'DateTime'[YourColumn] - TIME(0, 5, 0)
Hope it'll help. 
mattbrice
Solution Sage
Solution Sage

Power Pivot (and Excel) store stores dates and times as a number representing the number of days since 1900-Jan-0, plus a fractional portion of a 24 hour day: ddddd.tttttt . This is called a serial date, or serial date-time.  Value to the left of the decimal point are days.  The value to the right of the decimal point are a decimal representation of the 24 hour clock.

 

So in your case you can simple subtract 5 / 24 = .2083 from the date-timestamp to subtract 5 hours.

 

new column = table[Date-timestamp] - .2083

 

If you wanted to subtract 5 hours and 15 minutes from the date-timestamp you would subtract 5.25 / 24 = .2187.  If you needed to subtract 4 hours and 8 minutes, you would subtract 8 / 60 = .133 and therefore 4.133 / 24 = .17222.  And so on...

 

Not sure if this is the best way, but what comes to mind for me.

Thanks for ths info. 

parry2k
Super User
Super User

On your table, click (...) and selet add column, let's say new column name is myHours and DAX will be something like this:

 

myHours = DateDiff(myStartDate, myEndDate, hour)

Post you referred to is related to Power Query "M" language not DAX. 

 






Did I answer your question? Mark my post as a solution.

Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.





The DATEDIFF funtion will return an hour.. However, I want to just subtract five hours from my datetime value and display the subtracted date time value. 

 

So, original datetime value: 2016-12-21 09:40 PM.  -> (Appy some dax function to subtract the hour by 5) -> New dateimt value: 2016-12-21 04:40 PM.

@kaka: What @parry2k meant by saying it's M rather than DAX is that the function mentioned in the linked article was applied in the Query Editor - see below.

 

PBI Modify Time.jpg

could you tell name of the function used here?

Ok, so that would be an unnecessary column for me because what am actually doing in DAX is grabbing the maximum date from the table and then subtracting it's hour by 5. So, am creating a column called MaxDateFiveHourDiff: 

 

MaxDateFiveHourDiff = MAX(due_date) - 5 hours. Question is, how do you subtract the 5 in DAX ? 

Try this in DAX:

 

MaxDateFiveHourDiff = MAX(Table1[DateTime]) - 5/24

 

I actually came here looking for someone to explain this. how does the -5/24 or +8/24 works? is it supposed to be ashortcut for datediff? can it work for days/weeks/months/years...etc?

Thanx

Fantastic. Thank you. 

Helpful resources

Announcements
June 2022 update 768X460.jpg

Check it out!

Click here to read more about the June 2022 updates!

Power Platform Conf 2022 768x460.jpg

Join us for Microsoft Power Platform Conference

The first Microsoft-sponsored Power Platform Conference is coming in September. 100+ speakers, 150+ sessions, and what's new and next for Power Platform.

Power BI Dev Camp Session 23 768x460.jpg

Check it Out!

Mark your calendars and join us on Thursday, June 30 at 11a PDT for a great session with Ted Pattison!

June 20 episode 7 with aka link 768x460.jpg

The Power BI Community Show

Join us on June 20 at 11 am PDT when Kim Manis shares the latest on Azure Synapse analytics, the Microsoft Intelligent Data Platform, and notable Power BI Updates from Microsoft Build 2022.

Top Solution Authors