Forum Discussion

Jtischler's avatar
Jtischler
Helper I
3 years ago
Solved

Need expression explained please

I found this formula in another post that takes text duration and converts it and it works perfect to give total hours sum, but I don't understand what its doing and I would like to gain that underst...
  • KNP's avatar
    3 years ago

    Hi Jtischler,

     

    let
        DurationFromYourText = (text as text) as duration =>
            let
                Split = Text.Split(text, ":"), //splits the text duration field into a list for every ':' it finds
                AsNumbers = List.Transform(Split, Number.FromText), //sets the type for each item in the list to a number
                Duration = #duration(0, AsNumbers{0}, AsNumbers{1}, AsNumbers{2}) //creates an actual duration field from the items in the list. Assuming the field is hours, minutes, seconds. Power Query uses zero based index, so 0 is the first item, 1 the second etc.
            in
                Duration,
        Invoked = DurationFromYourText([UpTime]) //uses a column called 'UpTime' in the function to convert
    in
        Invoked
    

     

    What format is your text in for duration, not hours:minutes:seconds ?

    Paste some example data.

     

    You can just do this if you want 0.

    Duration = #duration(0, AsNumbers{0}, AsNumbers{1}, 0) 

     

     

  • KNP's avatar
    3 years ago

    Glad I could help.

    M is the language used in Power Query, DAX is everything to do with creating measures, calculated columns, tables.

    ā€ƒ

     

    ā€ƒ

     

    If this is solved please accept solution on one of my answers above.