data work.expertise; INPUT ID Name $ Level; if level = . then expertise = 'Unknown'; else if level = 1 then expertise = 'Low'; else if level = 2 or 3 then expertise = 'Medium'; else expertise = 'High'; DATALINES; 1 Frank 1 2 Joan 2 3 Sui 2 4 Jose 3 5 Burt 4 6 Kelly . 7 Juan 1 ; run;
I see what the problem is right away. else if level = 2 or 3 then expertise = 'Medium'; It should be level=2 OR level=3.
What I don't understand is the code produces this output? Any explanation would be nice. Thanks.
@mcypert16 May I ask where these questions are coming from?
Yes. They are from a website called BI exam academy. I understand the question now. The else if level=2 or 3 is always true because 3 is nonmissing and not 0. So the code never gets past line 3.
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.