Forum Discussion

idramadhara's avatar
idramadhara
Frequent Visitor
3 years ago
Solved

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    
  • BA_Pete's avatar
    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
        addDate

     

    Pete