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.
I have a date column that contains date values but some rows also contain text values. I want to replace all text values to null. Using Power Query and the M language ideally.
I have thought of some solutions but the code is returning errors
Solution 1:
= Table.SelectRows(Table, each if Text.Length([Column1]) > 0 then null else [Column1])
this is returning a error message:
Expression.Error: We cannot convert the value #date(2022, 1, 20) to type Text.
Details:
Value=20/01/2022
Type=[Type]
Solved! Go to Solution.
Hi
Change type to date then replace error with null
= Table.ReplaceErrorValues(Table.TransformColumnTypes(PrevStep,{{"Column1", type date}}), {{"Column1", null}})Or replace text with null
= Table.ReplaceValue(PrevStep,each Type.Is(Value.Type([Column1]),type text),null,(x,y,z)=>if y then z else x,{"Column1"}) Stéphane
Yes, you're right
x = record (the entire row)
if "x[Column1].type = text" then null else x[Column1]
Stéphane
thanks
Hi
Change type to date then replace error with null
= Table.ReplaceErrorValues(Table.TransformColumnTypes(PrevStep,{{"Column1", type date}}), {{"Column1", null}})Or replace text with null
= Table.ReplaceValue(PrevStep,each Type.Is(Value.Type([Column1]),type text),null,(x,y,z)=>if y then z else x,{"Column1"}) Stéphane
Can you explain the (x,y,z) => if y then z else x
i get y is the logic type.is
z is null
but not sure what x is i am guessing that is the value that exists already in that column beforehand
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.