Forum Discussion

Warren10976's avatar
Warren10976
Regular Visitor
4 years ago
Solved

Copy values from one column to another

I have a column containg text and date in power query, how do I copy text values only to new column and date values only to another column. I need this information to be in seperate columns. Thank you for your help.

 

  • You should copy the formula as it is rather than writing.

    You put one comma after null and also ommitted try part. Copy and paste the below formula

    = try if Value.Is(DateTime.From([Opened]), type datetime) then null else [Opened] otherwise [Opened]

4 Replies

  • Vijay_A_Verma's avatar
    Vijay_A_Verma
    Most Valuable Professional

    Use below formulas assuming your column name is Data

    for date part
    = try Date.From(DateTime.From([Data])) otherwise null
    for text part
    = try if Value.Is(DateTime.From([Data]), type datetime) then null else [Data] otherwise [Data]

     See the working here - Open a blank query - Home - Advanced Editor - Remove everything from there and paste the below code to test 

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WSkxK1lGoqKxSitWJVjLTt9Q3MjAyUjA0sjIytTK1VAjwBUuY6hvBZKzMrQxNFRwh4mDC0MjYpKikUik2FgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Data = _t]),
        #"Added Custom" = Table.AddColumn(Source, "Date Part", each try Date.From(DateTime.From([Data])) otherwise null, type date),
        #"Added Custom1" = Table.AddColumn(#"Added Custom", "Text Part", each try if Value.Is(DateTime.From([Data]), type datetime) then null else [Data] otherwise [Data], type text)
    in
        #"Added Custom1"
    • Warren10976's avatar
      Warren10976
      Regular Visitor

      Thank you so much for the solution, 

      • The date part worked like a charm (
        Date.From(DateTime.From([Data])) otherwise null​
      • The text part is not working, See below 
      • Your assitance is much appreciated.

      • Vijay_A_Verma's avatar
        Vijay_A_Verma
        Most Valuable Professional

        You should copy the formula as it is rather than writing.

        You put one comma after null and also ommitted try part. Copy and paste the below formula

        = try if Value.Is(DateTime.From([Opened]), type datetime) then null else [Opened] otherwise [Opened]