In the below code:
case when strip(col1) then "DIGIT"
when anyalpha( strip(col1)) then "ALPHA"
else "DIGIT"
I am confused about the first statement. Under what condition will it evaluate to 'DIGIT'? When col1 = null? I understand the second case....if col1 has an alphabet, it will evaluate to "ALPHA"
It makes very little sense to me. You don't say whether col1 is character or numeric, but when I try it with a numeric variable it fails with
ERROR: Function STRIP requires a character expression as argument 1.
so we'll assume that col1 is character.
If it's anything other than blank, the first when clause will be satisfied, and the result will be "DIGIT". If it's blank, the second when clause won't be satisfied, and it will fall through to the else clause, and the result will be "DIGIT".
I can't figure out how to get a result of "ALPHA"!
Tom
Eagles,
The Strip(function) works on character variables. If you were to assume that any value that does not have an alpha, is a numeric, then this code should work for you.
case
when anyalpha( strip(col1)) then "ALPHA"
else "DIGIT" end as variable_type
It makes very little sense to me. You don't say whether col1 is character or numeric, but when I try it with a numeric variable it fails with
ERROR: Function STRIP requires a character expression as argument 1.
so we'll assume that col1 is character.
If it's anything other than blank, the first when clause will be satisfied, and the result will be "DIGIT". If it's blank, the second when clause won't be satisfied, and it will fall through to the else clause, and the result will be "DIGIT".
I can't figure out how to get a result of "ALPHA"!
Tom
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.
Find more tutorials on the SAS Users YouTube channel.