Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago
Solved

Which data type to be application for this column

  • This is a duration data type but hh:mm:ss will need to be converted to d.hh:mm:ss format when hh>24.

    See the working here - Open a blank query - Home - Advanced Editor - Remove everything from there and paste the below code to test (later on when you use the query on your dataset, you will have to change the source appropriately.

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WsjS2MjawMjBQitWJVjKxQOKYWloZmAD5YI6hIZKMoSGICebFAgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Hours = _t]),
        Custom1 = Table.ReplaceValue(Source,each [Hours],each [d=List.Transform(Text.Split([Hours],":"), each Number.From(_)), Result=#duration(Number.IntegerDivide(d{0},24),Number.Mod(d{0},24),d{1},d{2})][Result],Replacer.ReplaceValue,{"Hours"}),
        #"Changed Type" = Table.TransformColumnTypes(Custom1,{{"Hours", type duration}})
    in
        #"Changed Type"

     -------------------------------------------------------------------------------------------------------

    👍 It's been a pleasure to help you | Help Hours: 11 AM to 9 PM (UTC+05:30)

    How to get your questions answered quickly -- How to provide sample data

    -------------------------------------------------------------------------------------------------------

1 Reply

  • Vijay_A_Verma's avatar
    Vijay_A_Verma
    Most Valuable Professional

    This is a duration data type but hh:mm:ss will need to be converted to d.hh:mm:ss format when hh>24.

    See the working here - Open a blank query - Home - Advanced Editor - Remove everything from there and paste the below code to test (later on when you use the query on your dataset, you will have to change the source appropriately.

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WsjS2MjawMjBQitWJVjKxQOKYWloZmAD5YI6hIZKMoSGICebFAgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Hours = _t]),
        Custom1 = Table.ReplaceValue(Source,each [Hours],each [d=List.Transform(Text.Split([Hours],":"), each Number.From(_)), Result=#duration(Number.IntegerDivide(d{0},24),Number.Mod(d{0},24),d{1},d{2})][Result],Replacer.ReplaceValue,{"Hours"}),
        #"Changed Type" = Table.TransformColumnTypes(Custom1,{{"Hours", type duration}})
    in
        #"Changed Type"

     -------------------------------------------------------------------------------------------------------

    👍 It's been a pleasure to help you | Help Hours: 11 AM to 9 PM (UTC+05:30)

    How to get your questions answered quickly -- How to provide sample data

    -------------------------------------------------------------------------------------------------------