data work.expertise;
set work.levels;
if level = . then expertise = 'Unknown';
else if level = 1 then expertise = 'Low';
else if level = 2 or 3 then expertise = 'Medium';
else expertise = 'High';
run;
when i supply level=4 why its taking expertise = "Medium" instead of "High" ?
it gives proper output when i define if condition like " level=2 or level=3 " why so ?
curious to know how sas is processing level=2 or 3 ! Thanks !
3 is always true. It has nothing to do with LEVEL, as if you had coded:
else if (3) or (level=2) then expertise='Medium';
In SAS, 0 and missing values are false, and all other numbers are true.
This syntax would work:
else if level in (2, 3) then expertise='Medium';
3 is always true. It has nothing to do with LEVEL, as if you had coded:
else if (3) or (level=2) then expertise='Medium';
In SAS, 0 and missing values are false, and all other numbers are true.
This syntax would work:
else if level in (2, 3) then expertise='Medium';
SAS is not natural language, it makes fewer assumptions;
else if level = 2 or 3 then expertise = 'Medium';
should be coded as:
else if level = 2 or level = 3 then expertise = 'Medium';
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.