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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
TessGaston
Regular Visitor

How to round minutes in time to the nearest hour

Hello everybody,

 

I have a field in format of time like 9:03:45 or 9:46:12.

 

I need to make a new field where I would round the times to the nearest hour, for example:

 

9:03:45 -> 9:00

9:46:12 -> 10:00

 

How can I do that in Power BI?

 

Thank you.

Tereza

1 ACCEPTED SOLUTION
OwenAuger
Super User
Super User

Hi @TessGaston

 

You can do this in DAX or M languages depending where you want the calculation to happen.

 

If <original time> is the original time value:

 

DAX:

Round time to nearest hour ( TIME(1,0,0) = 1/24 representing an hour) and add a zero time value to ensure the expression is cast as a Time.

MROUND ( <original time>, TIME ( 1, 0, 0 ) ) + TIME ( 0, 0, 0 )

M:

There isn't an equivalent of MROUND in M, so instead multiply the time by 24 to express it as a number of hours, then round, then divide by 24 and convert to a Time type.

Time.From( Number.Round( Number.From( <original time> ) * 24 ) / 24 )

 Regards,

Owen


Owen Auger
Did I answer your question? Mark my post as a solution!
Blog
LinkedIn

View solution in original post

3 REPLIES 3
v-piga-msft
Resident Rockstar
Resident Rockstar

Hi @TessGaston,

 

Have you solved your problem?

 

If you have solved, please always accept the replies making sense as solution to your question so that people who may have the same question can get the solution directly.

 

Best Regards,

Cherry

Community Support Team _ Cherry Gao
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
OwenAuger
Super User
Super User

Hi @TessGaston

 

You can do this in DAX or M languages depending where you want the calculation to happen.

 

If <original time> is the original time value:

 

DAX:

Round time to nearest hour ( TIME(1,0,0) = 1/24 representing an hour) and add a zero time value to ensure the expression is cast as a Time.

MROUND ( <original time>, TIME ( 1, 0, 0 ) ) + TIME ( 0, 0, 0 )

M:

There isn't an equivalent of MROUND in M, so instead multiply the time by 24 to express it as a number of hours, then round, then divide by 24 and convert to a Time type.

Time.From( Number.Round( Number.From( <original time> ) * 24 ) / 24 )

 Regards,

Owen


Owen Auger
Did I answer your question? Mark my post as a solution!
Blog
LinkedIn

Thank you very much! Simple and very effective solution

Helpful resources

Announcements
July 2025 community update carousel

Fabric Community Update - July 2025

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

July PBI25 Carousel

Power BI Monthly Update - July 2025

Check out the July 2025 Power BI update to learn about new features.