DATA Step, Macro, Functions and more

Can someone please explain this code to me?

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 5
Accepted Solution

Can someone please explain this code to me?

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.

 

Screen Shot 2016-03-05 at 1.56.56 PM.png 


Accepted Solutions
Solution
‎03-05-2016 03:15 PM
Trusted Advisor
Posts: 1,115

Re: Can someone please explain this code to me?


All Replies
Solution
‎03-05-2016 03:15 PM
Trusted Advisor
Posts: 1,115

Re: Can someone please explain this code to me?

Hi @mcypert16,

 

Have you seen this thread?

Super User
Posts: 17,942

Re: Can someone please explain this code to me?

@mcypert16 May I ask where these questions are coming from?

Occasional Contributor
Posts: 5

Re: Can someone please explain this code to me?

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.  

 

 

Occasional Contributor
Posts: 5

Re: Can someone please explain this code to me?

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 4 replies
  • 274 views
  • 0 likes
  • 3 in conversation