Forum Discussion

Dicken's avatar
Dicken
Icon for Post Prodigy rankPost Prodigy
1 year ago
Solved

Transform Column / Type

Hello,  Can some one explain this ;    = Table.TransformColumns( Source, { "Date", each Date.From(_) } which does what it say   "date"  now = a date ;  but if I dispense with the full ...
  • MasonMA's avatar
    1 year ago

    Hi Dicken 

     

    I think it's the behavior of Table.TransformColumns. If you see 

    Table.TransformColumns - Table Function | Power Query M

    this function decides how to apply the transformation function to each value or whether to update the column type metadata.

     

    In { "Date", each Date.From(_) }, Table.TransformColumns only sees a custom lambda, “(x) => Date.From(x)”. It doesn’t know the return type of this lambda, so it leaves the column type metadata unchanged.

    While in { "Date", Date.From }, Table.TransformColumns sees a native function that has a declared return type in the M library (type date). Since it knows that return type, it sets the column’s metadata to date as well.

     

    Ran a simple test below, 

    let
        Query1 = 
      let
        Source = #table(type table [Date = text], {{"2025-08-22"}}),
        Transform1 = Table.TransformColumns(Source, {"Date", each Date.From(_)}),
        Transform2 = Table.TransformColumns(Source, {"Date", Date.From})
      in
        { Transform1, Transform2 }
    in
        Query1