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

Power BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.

Reply
Anonymous
Not applicable

duration format

Hello, I have a duration column in Power query, but it transforms in decimals when I go to the data panel. When I do an average, it is all in decimals. I want to be able to show the average in a time format: 00:00:43 (43 secondes). I searched everywhere on the web and there is no solution. Thank you

 

 

guillaume_boism_0-1636477010824.png

 

1 ACCEPTED SOLUTION
v-yingjl
Community Support
Community Support

Hi @Anonymous ,

You can follow these steps to calcualte:

1. Change the data type of duration column to HH:MM:SS:

vyingjl_0-1636695884171.png

2. Create a calculate column to get the seconds:

Second = SECOND('Table'[Duration])

3. Create a measure to calculate the average seconds:

Average =
VAR _avg =
    AVERAGE ( 'Table'[Second] )
VAR HoursPart =
    MOD ( INT ( _avg / 3600 ), 24 )
VAR MinPart =
    MOD ( INT ( _avg / 60 ), 60 )
VAR SecPart =
    MOD ( _avg, 60 )
RETURN
    FORMAT (
        CONVERT ( HoursPart & ":" & MinPart & ":" & SecPart, DATETIME ),
        "hh:mm:ss"
    )

vyingjl_1-1636695975395.png

 

 

Best Regards,
Community Support Team _ Yingjie Li
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

3 REPLIES 3
v-yingjl
Community Support
Community Support

Hi @Anonymous ,

You can follow these steps to calcualte:

1. Change the data type of duration column to HH:MM:SS:

vyingjl_0-1636695884171.png

2. Create a calculate column to get the seconds:

Second = SECOND('Table'[Duration])

3. Create a measure to calculate the average seconds:

Average =
VAR _avg =
    AVERAGE ( 'Table'[Second] )
VAR HoursPart =
    MOD ( INT ( _avg / 3600 ), 24 )
VAR MinPart =
    MOD ( INT ( _avg / 60 ), 60 )
VAR SecPart =
    MOD ( _avg, 60 )
RETURN
    FORMAT (
        CONVERT ( HoursPart & ":" & MinPart & ":" & SecPart, DATETIME ),
        "hh:mm:ss"
    )

vyingjl_1-1636695975395.png

 

 

Best Regards,
Community Support Team _ Yingjie Li
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

What if i need to calculate the Duration in Minutes, Hours or all together?

amitchandak
Super User
Super User

@Anonymous , You need to take avg in decimal and convert it back to duration for display

 

example

quotient(Seconds1,3600 ) & ":" & FORMAT ( quotient(mod(Seconds1,3600 ),60), "00" ) & ":" & FORMAT ( mod(mod(Seconds1,3600 ),60), "00" )

 

 

refer if these solution can help

https://radacad.com/calculate-duration-in-days-hours-minutes-and-seconds-dynamically-in-power-bi-using-dax
https://social.technet.microsoft.com/wiki/contents/articles/33644.powerbi-aggregating-durationtime-in-dax.aspx

Full Power BI Video 20 Hours YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

Helpful resources

Announcements
June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

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

June 2025 community update carousel

Fabric Community Update - June 2025

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