Forum Discussion

ayoubb's avatar
ayoubb
Icon for Helper IV rankHelper IV
6 years ago
Solved

converting hour format to seconds

plz could you help me to convert this: 00:06:30 to seconds in power bi

Thank you

  • az38's avatar
    az38
    6 years ago

    Hi ayoubb 

    for average with v-alq-msft solution you can try AVERAGE([TotalSecond column])

    or

    AVERAGEX(Table, HOUR([Time])*3600+MINUTE([Time])*60+SECOND([Time]) )

4 Replies

  • v-alq-msft's avatar
    v-alq-msft
    Icon for Community Support rankCommunity Support

    Hi, ayoubb 

     

    You mau try to create a custom in 'Query Editor' or create a calculated column/measure in Power BI Desktop. I created data to reproduce your scenario. The pbix file is attached in the end.

     

    Table:

     

    Query Editor:
    You may create a custom column as below.

     

    Here is the code in 'Advanced Editor'.

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjCwMjCzMjZQitWBcCyQOZZWhqZKsbEA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Time = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Time", type time}}),
        Custom1 = Table.AddColumn(#"Changed Type","TotalSecond",each Time.Hour([Time])*3600+Time.Minute([Time])*60+Time.Second([Time])
    )
    in
        Custom1

     

    Calculated column:

    TotalSecond Column = HOUR([Time])*3600+MINUTE([Time])*60+SECOND([Time])

     

    Or

     

    Measure:

    TotalSecond Measure = 
    var _time = SELECTEDVALUE('Table'[Time])
    return
    HOUR(_time)*3600+MINUTE(_time)*60+SECOND(_time)

     

    Result:

     

    Best Regards

    Allan

     

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

     

     

     

    • ayoubb's avatar
      ayoubb
      Icon for Helper IV rankHelper IV

      Thank you so much for your help, 

       

      if i want to calculate the average of this colonne after using this formula : TotalSecond column = HOUR([Time])*3600+MINUTE([Time])*60+SECOND ([Time]) 

       

      is it gona be: 

       

      Average in seconds = Average ([Time])????

      • az38's avatar
        az38
        Icon for Community Champion rankCommunity Champion

        Hi ayoubb 

        for average with v-alq-msft solution you can try AVERAGE([TotalSecond column])

        or

        AVERAGEX(Table, HOUR([Time])*3600+MINUTE([Time])*60+SECOND([Time]) )