Reply
Tevon713
Helper IV
Helper IV
Partially syndicated - Outbound

Duration Conversion and Calculation

I have incident time stamp column, attempted to convert to duration. It giving the "Expression.Error: We couldn't parse the Duration literal."

 

Searched and found in the community, it now returning "null" for those not having days in custom column. How to correctly format and then take average of this column to display in d:h:m:s ?

 

https://community.powerbi.com/t5/Desktop/Convert-the-column-into-duration-Throwing-an-error/td-p/231...

 

Tevon713_0-1666708055415.png

 

Tevon713_1-1666708102425.png

 

1 ACCEPTED SOLUTION
v-yangliu-msft
Community Support
Community Support

Syndicated - Outbound

Hi @Tevon713 ,

Here are the steps you can follow:

1. Create calculated column.

Convert Time to Second:

seconds =
var _day=VALUE(left('Table'[Incident Duratio:create-resolve],2))
var _hour=VALUE(MID('Table'[Incident Duratio:create-resolve],4,2))
var _minute=VALUE(MID('Table'[Incident Duratio:create-resolve],7,2))
var _second=VALUE(RIGHT('Table'[Incident Duratio:create-resolve],2))
return
_day * 24 * 60* 60
+
_hour * 60 * 60
+
_minute * 60
+
_second

average time:

Duration Average =
RIGHT ( "0" & INT ( AVERAGEA ( 'Table'[seconds] ) / ( 24 * 60 * 60 ) ), 2 ) & ":"
    & RIGHT (
        "0"
            & INT (
                (
                    AVERAGEA ( 'Table'[seconds] )
                        - INT ( AVERAGEA ( 'Table'[seconds] ) / ( 24 * 60 * 60 ) ) * ( 24 * 60 * 60 )
                ) / 3600
            ),
        2
    ) & ":"
    & RIGHT (
        "0"
            & INT (
                (
                    AVERAGEA ( 'Table'[seconds] )
                        - INT ( AVERAGEA ( 'Table'[seconds] ) / 3600 ) * 3600
                ) / 60
            ),
        2
    ) & ":"
    & RIGHT (
        "0"
            & (
                AVERAGEA ( 'Table'[seconds] )
                    - INT ( AVERAGEA ( 'Table'[seconds] ) / 60 ) * 60
            ),
        2
    )

2. Result:

vyangliumsft_0-1666754105453.png

 

Best Regards,

Liu Yang

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

2 REPLIES 2
v-yangliu-msft
Community Support
Community Support

Syndicated - Outbound

Hi @Tevon713 ,

Here are the steps you can follow:

1. Create calculated column.

Convert Time to Second:

seconds =
var _day=VALUE(left('Table'[Incident Duratio:create-resolve],2))
var _hour=VALUE(MID('Table'[Incident Duratio:create-resolve],4,2))
var _minute=VALUE(MID('Table'[Incident Duratio:create-resolve],7,2))
var _second=VALUE(RIGHT('Table'[Incident Duratio:create-resolve],2))
return
_day * 24 * 60* 60
+
_hour * 60 * 60
+
_minute * 60
+
_second

average time:

Duration Average =
RIGHT ( "0" & INT ( AVERAGEA ( 'Table'[seconds] ) / ( 24 * 60 * 60 ) ), 2 ) & ":"
    & RIGHT (
        "0"
            & INT (
                (
                    AVERAGEA ( 'Table'[seconds] )
                        - INT ( AVERAGEA ( 'Table'[seconds] ) / ( 24 * 60 * 60 ) ) * ( 24 * 60 * 60 )
                ) / 3600
            ),
        2
    ) & ":"
    & RIGHT (
        "0"
            & INT (
                (
                    AVERAGEA ( 'Table'[seconds] )
                        - INT ( AVERAGEA ( 'Table'[seconds] ) / 3600 ) * 3600
                ) / 60
            ),
        2
    ) & ":"
    & RIGHT (
        "0"
            & (
                AVERAGEA ( 'Table'[seconds] )
                    - INT ( AVERAGEA ( 'Table'[seconds] ) / 60 ) * 60
            ),
        2
    )

2. Result:

vyangliumsft_0-1666754105453.png

 

Best Regards,

Liu Yang

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly

Syndicated - Outbound

Thank you @v-yangliu-msft.

 

I'm getting this error, tried converting column various format. Attached link to pbix here.

Tevon713_0-1666798834278.png

 

Another quick question: If I wanted to calculate the average of all numbers that belongs to a certain category. I'm thinking something along the line of the follow...


Average Number of Category=
Calculate('Table'[Duration Average],Filter(Table, 'Table'[ColumnName]="XYZ"))

 

avatar user

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

FebPBI_Carousel

Power BI Monthly Update - February 2025

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

Feb2025 NL Carousel

Fabric Community Update - February 2025

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

Top Solution Authors (Last Month)
Top Kudoed Authors (Last Month)