Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

July 7 - July 17 | Round 2 of the Power BI Dataviz World Championships. Don't miss your chance! Learn more

Reply
FelipMark
Helper II
Helper II

Conditional column with null value error

Hey guys, i created a conditional column of a date field, but when the field is "null" the conditional column returns error. Can you tell the reason?

 

= Table.AddColumn(#"Colunas Removidas1", "Status",
each if [DTENTREGA] < [DTPREVENT] then "Early"
else if [DTENTREGA] > [DTPREVENT] then "Late"
else if [DTENTREGA] = [DTPREVENT] then "On Time"
else if [DTENTREGA] = null then "In Progress"
else "Dispatch")

FelipMark_0-1679929226268.png

Error: Expression.Error: We are unable to convert null value to Logical type. Details: Value= Type=[Type]

1 ACCEPTED SOLUTION
jennratten
Super User
Super User

Hello - you have to either filter out the nulls first, or use try-otherwise to step over them.

 

Filter out the nulls first would be like this:

= Table.AddColumn(#"Colunas Removidas1", "Status",
each if [DTENTREGA] = null or [DTPREVENT] = null then null
else if [DTENTREGA] < [DTPREVENT] then "Early"
else if [DTENTREGA] > [DTPREVENT] then "Late"
else if [DTENTREGA] = [DTPREVENT] then "On Time"
else if [DTENTREGA] = null then "In Progress"
else "Dispatch")

Using try-otherwise would be like this, but it is riskier since there could be other errors that are overstepped. 

= Table.AddColumn(#"Colunas Removidas1", "Status",
each try 
if [DTENTREGA] < [DTPREVENT] then "Early"
else if [DTENTREGA] > [DTPREVENT] then "Late"
else if [DTENTREGA] = [DTPREVENT] then "On Time"
else if [DTENTREGA] = null then "In Progress"
else "Dispatch" otherwise null)

 

 

View solution in original post

3 REPLIES 3
jennratten
Super User
Super User

Hello - you have to either filter out the nulls first, or use try-otherwise to step over them.

 

Filter out the nulls first would be like this:

= Table.AddColumn(#"Colunas Removidas1", "Status",
each if [DTENTREGA] = null or [DTPREVENT] = null then null
else if [DTENTREGA] < [DTPREVENT] then "Early"
else if [DTENTREGA] > [DTPREVENT] then "Late"
else if [DTENTREGA] = [DTPREVENT] then "On Time"
else if [DTENTREGA] = null then "In Progress"
else "Dispatch")

Using try-otherwise would be like this, but it is riskier since there could be other errors that are overstepped. 

= Table.AddColumn(#"Colunas Removidas1", "Status",
each try 
if [DTENTREGA] < [DTPREVENT] then "Early"
else if [DTENTREGA] > [DTPREVENT] then "Late"
else if [DTENTREGA] = [DTPREVENT] then "On Time"
else if [DTENTREGA] = null then "In Progress"
else "Dispatch" otherwise null)

 

 

it worked, thanks for the help!!

You're welcome!

Helpful resources

Announcements
FabCon and SQLCon Barcelona 2026

FabCon & SQLCon – Barcelona 2026

Join us in Barcelona for FabCon and SQLCon, the Fabric, Power BI, SQL, and AI community event. Save €200 with code FABCMTY200.

July Power BI Update Carousel

Power BI Monthly Update - July 2026

Check out the July 2026 Power BI update to learn about new features.

60 days of Data Days Carousel

Data Days 2026

Join Data Days 2026: 60 days of free live/on-demand sessions, challenges, study groups, and certification opportunities.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.

Top Solution Authors