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!
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
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.