Can someone please tell me why the following code doesn't work as an expression in the mapping tab of a DI Studio transformation?
case EMAIL
when not contains "@" then NULL
when contains "æ" then NULL
when contains "ø" then NULL
when contains "å" then NULL
else EMAIL
end
I get this error message: Syntax error, expecting one of the following: !, !!, &, *, **, +, -, /, , =, , =, >, >=, ?, AND, CONTAINS, EQ, EQT, GE, GET, GT, GTT, LE, LET, LIKE, LT, LTT, NE, NET, OR, ^=, |, ||, ~=.
Thanks.
NULL has just a meaning when it comes to boolean expression, it's not a value that you can use in an assignment.
...
when email not contains "@" then ' '
...
When you hace specified a column at the case, you can't use expressions that implies the column at the bueginning of the expression.
Move EMAIL to each when statment to keep the logic.
Thanks. I seem to get the exact same error message when I try the following code though. Can you see what's wrong?
case
when EMAIL not contains "@" then NULL
when EMAIL contains "@." then NULL
when EMAIL contains "æ" then then NULL
when EMAIL contains "ø" then NULL
when EMAIL contains "å" then NULL
else EMAIL
end
NULL has just a meaning when it comes to boolean expression, it's not a value that you can use in an assignment.
...
when email not contains "@" then ' '
...
Problem solved. Many thanks!
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Need to connect to databases in SAS Viya? SAS’ David Ghan shows you two methods – via SAS/ACCESS LIBNAME and SAS Data Connector SASLIBS – in this video.
Find more tutorials on the SAS Users YouTube channel.