Forum Discussion
Abdel_Spateof
7 years agoFrequent Visitor
Duration format
Hello Community This is my first time I post here :) I have a problem, I have a column with duration formatting as follows 9h 53m 38s and I want to convert it to HH:MM (09:53) How can ...
- 7 years ago
Abdel_Spateof, in response to your message, perhaps create DAX columns like this:
Hours = VAR __h = FIND("h",[Time],,BLANK()) VAR __final = IF(NOT(ISBLANK(__h)),__h-1,BLANK()) RETURN IF(NOT(ISBLANK(__final)),LEFT([Time],__final),BLANK()) Minutes = VAR __h = FIND("h",[Time],,BLANK()) VAR __finalh = IF(NOT(ISBLANK(__h)),__h-1,BLANK()) VAR __m = FIND("m",[Time],,BLANK()) VAR __finalm = IF(NOT(ISBLANK(__m)),__m-1,BLANK()) RETURN IF(ISBLANK(__finalm),BLANK(),IF(ISBLANK(__h),LEFT([Time],__finalm),MID([Time],__finalh+3,__finalm-__finalh-2))) Seconds = VAR __m = FIND("m",[Time],,BLANK()) VAR __finalm = IF(NOT(ISBLANK(__m)),__m-1,BLANK()) VAR __s = FIND("s",[Time],,BLANK()) VAR __finals = IF(NOT(ISBLANK(__s)),__s-1,BLANK()) RETURN IF(ISBLANK(__finals),BLANK(),IF(ISBLANK(__m),LEFT([Time],__finals),MID([Time],__finalm+3,__finals-__finalm-2)))After that, you can just concatenate them together as needed.
AkhilAshok
Solution Sage
7 years agoYou could achieve this in Power Query Editor. Please find the M code steps for that below with sample data:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WssxQMDXOVTC2KFaK1YlWMjTIUDAyyFUwMoLyDTMUDIFcIC8WAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Column = _t]),
#"Split Column by Delimiter" = Table.SplitColumn(Source, "Column", Splitter.SplitTextByDelimiter(" ", QuoteStyle.Csv), {"Column.1", "Column.2", "Column.3"}),
#"Removed Columns" = Table.RemoveColumns(#"Split Column by Delimiter",{"Column.3"}),
#"Replaced Value" = Table.ReplaceValue(#"Removed Columns","h","",Replacer.ReplaceText,{"Column.1"}),
#"Replaced Value1" = Table.ReplaceValue(#"Replaced Value","m","",Replacer.ReplaceText,{"Column.2"}),
#"Changed Type2" = Table.TransformColumnTypes(#"Replaced Value1",{{"Column.1", Int64.Type}, {"Column.2", Int64.Type}}),
#"Merged Columns" = Table.CombineColumns(Table.TransformColumnTypes(#"Changed Type2", {{"Column.1", type text}, {"Column.2", type text}}, "en-GB"),{"Column.1", "Column.2"},Combiner.CombineTextByDelimiter(":", QuoteStyle.None),"Merged"),
#"Changed Type3" = Table.TransformColumnTypes(#"Merged Columns",{{"Merged", type time}})
in
#"Changed Type3"Abdel_Spateof
7 years agoFrequent Visitor
Hello Akhil,
thank you very much for your response;
the Code is not giving the right time ( pls see the screenshot)
I hope there is a simple solution for this .)