Forum Discussion
idramadhara
3 years agoFrequent Visitor
Transform Date from DMMYYYY to YYYY-MM-DD
Hi, I have date column as text the format is DMMYYYY, I need to transform it to YYYY-MM-DD. Please help. Thanks
- 3 years ago
Hi idramadhara ,
Assuming your original text date column is called [dateText], enter this as a new custom column:
Text.Combine( { Text.End([dateText], 4), Text.Range([dateText], Text.Length([dateText]) - 6, 2), Text.PadStart(Text.Start([dateText], Text.Length([dateText]) - 6), 2, "0") }, "-" )This outputs in a text format, but will also be recognised perfectly by PQ if you want to convert to native date type.
Example output:
Full example query:
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQwMDICIqVYHRAHwQaz4BwktqWhIZBtDNFgamAOkYgFAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [dateText = _t]), addDate = Table.AddColumn(Source, "date", each Text.Combine( { Text.End([dateText], 4), Text.Range([dateText], Text.Length([dateText]) - 6, 2), Text.PadStart(Text.Start([dateText], Text.Length([dateText]) - 6), 2, "0") }, "-" ) ) in addDatePete
BA_Pete
Super User
3 years agoHi idramadhara ,
Assuming your original text date column is called [dateText], enter this as a new custom column:
Text.Combine(
{
Text.End([dateText], 4),
Text.Range([dateText], Text.Length([dateText]) - 6, 2),
Text.PadStart(Text.Start([dateText], Text.Length([dateText]) - 6), 2, "0")
},
"-"
)
This outputs in a text format, but will also be recognised perfectly by PQ if you want to convert to native date type.
Example output:
Full example query:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQwMDICIqVYHRAHwQaz4BwktqWhIZBtDNFgamAOkYgFAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [dateText = _t]),
addDate = Table.AddColumn(Source, "date", each
Text.Combine(
{
Text.End([dateText], 4),
Text.Range([dateText], Text.Length([dateText]) - 6, 2),
Text.PadStart(Text.Start([dateText], Text.Length([dateText]) - 6), 2, "0")
},
"-"
)
)
in
addDate
Pete