Advance your Data & AI career with 50 days of live learning, dataviz contests, hands-on challenges, study groups & certifications and more!
Get registeredJoin us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM. Register now.
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 syntax
= Table.TransformColumns( Source,
{ "Date", Date.From } )I now also transforms the date type ? which is useful, just wondered why ?
Richard.
Solved! Go to Solution.
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
Query1Hi @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
Query1Thanks ,
RD
(_) as date => Date.From(_)
Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes!
Check out the October 2025 Power BI update to learn about new features.