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

Compete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.

Reply
lisaburton
Frequent Visitor

average time function

I am trying to gain an average 'tip time' of a lorry for last week and yesterday.

I can't seem to be able to select the average the usual way, i only have the option to select the 'fastest' and 'earliest'

lisaburton_0-1672915324546.png

Any ideas if there is a Dax code that could get an average time?

 

Many thanks 

Lisa 

 

3 REPLIES 3
Anonymous
Not applicable

In PowerQuery, Duplicate the time column and convert the data type to Decimal.
Let's say your new column is "TimeFieldinDecimal"
 
DAX:
Avg Time (Time) =

var _duration = Avg(TimeFieldinDecimal)
var _hrs = _duration * 24
var _mins =  (_hrs - int(_hrs)) * 60
var _sec =  (_mins - int(_mins)) * 60

return FORMAT(int(_hrs), "#00") & ":" & FORMAT(int(_mins), "#00") & ":" & FORMAT(int(_sec), "#00")
tamerj1
Super User
Super User

Hi @lisaburton 
Please try the following measure

 

=
VAR AverageSeconds =
    AVERAGEX (
        'Table',
        VAR TipTime = 'Table'[Tip Time]
        RETURN
            3600 * HOUR ( TipTime )
                + 60 * MINUTE ( TipTime )
                + SECOND ( TipTime )
    )
VAR Hours =
    FORMAT ( QUOTIENT ( AverageSeconds, 3600 ), "00" )
VAR Minutes =
    FORMAT ( QUOTIENT ( MOD ( AverageSeconds, 3600 ), 60 ), "00" )
VAR Seconds =
    FORMAT ( MOD ( MOD ( AverageSeconds, 3600 ), 60 ), "00" )
RETURN
    Hours & ":" & Minutes & ":" & Seconds

You can also simplify as you don't have "Seconds"

=
VAR AverageMinutes =
    AVERAGEX (
        'Table',
        VAR TipTime = 'Table'[Tip Time]
        RETURN
            60 * HOUR ( TipTime )
                + MINUTE ( TipTime )
    )
VAR Hours =
    FORMAT ( QUOTIENT ( AverageMinutes, 60 ), "00" )
VAR Minutes =
    FORMAT ( MOD ( AverageMinutes, 60 ), "00" )
RETURN
    Hours & ":" & Minutes & ":" & "00"

 

TOK
Helper II
Helper II

Hi @lisaburton,
I would consider converting data type from time to duration.
Working with durations you can get an average as easy as usual.

If you need a tutorial on this topic, please let me know. Then I would upload one shortly.

Liked this post? More Content on:
https://www.youtube.com/channel/UC2lAgCgfyLCHsRv0h-ETBWQ

Helpful resources

Announcements
August Power BI Update Carousel

Power BI Monthly Update - August 2025

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

August 2025 community update carousel

Fabric Community Update - August 2025

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