If-Then-Else statement in SAS Programming
Comparison Operators used while using conditional statements.
Symbol |
Mnemonic |
Meaning |
= |
EQ |
equals |
^= or ~= |
NE |
not equal |
> |
GT |
greater than |
< |
LT |
less than |
>= |
GE |
greater than or equals |
<= |
LE |
less than or equals |
in |
IN |
selecting multiple values |
-
IF statement
Syntax:
IF (condition is true) => It means subsetting a dataset.
Example:
Data readin;
Input R_Num Subj1-Subj3;
cards;
112 21 22 23
105 23 24 26
95 25 25 26
125 26 26 24
122 15 25 16
86 26 16 15
;
Data readin1;
Set readin;
IF R_Num GE 100;
run;
|
Output:
IF R_Num GE 100 => This would tell SAS to retain only those Roll numbers whose values are greater than or equal to 100. In other words, you are removing Roll numbers whose values are less than or equal to 100.
It could be also done using the IF-THEN DELETE statement.
-
IF-THEN DELETE
Syntax:
IF (condition is true) THEN (delete the given statements);
Example:
Data readin;
Input R_Num Subj1-Subj3;
cards;
112 21 22 23
105 23 24 26
95 25 25 26
125 26 26 24
122 15 25 16
86 26 16 15
;
Data readin1;
Set readin;
IF R_Num LT 100 THEN DELETE ;
run;
|
Output:
IF R_Num LT 100 THEN DELETE => This would tell SAS to remove all the Roll numbers whose values are less than 100.
-
IF-THEN-ELSE Statement
Task 2: Suppose you want to set a tag on all the R_Num. The condition is:
If the value of R_Num is less than
or equal to 100 sets "Old" tag
otherwise set "New" tag.
IF (condition is true) THEN (perform this action);
ELSE (perform the set of statements that is set when condition is false);
Data readin;
Input R_Num Subj1-Subj3;
cards;
112 21 22 23
105 23 24 26
95 25 25 26
125 26 26 24
122 15 25 16
86 26 16 15
;
Data readin1;
Set readin;
IF R_Num LE 100 THEN TAG = "Old" ;
ELSE TAG = "New" ;
run;
|
Output:
-
IF-THEN-ELSE IF Statement
Task 3: Let us assume you are asked to update the TAG column.
The conditions for tagging are as follows:
-
If value of R_Num is less than 75 then TAG = “Old”
-
If value of R_Num is greater than or equal to 75 and less than 100 then TAG = “New”
-
If value of R_Num is greater than or equal to 100 then TAG = “Unchecked”
IF (condition is true) THEN (perform this action);
ELSE IF (perform the set of statements when second condition is true);
ELSE IF (perform the set of statements when third condition is true);
Data readin;
Input R_Num Subj1-Subj3;
cards;
112 21 22 23
105 23 24 26
95 25 25 26
125 26 26 24
122 15 25 16
86 26 16 15
;
Data readin1;
Set readin;
length TAG $20;
IF R_Num < 75 THEN TAG = "Old" ;
ELSE IF 75 <= R_Num < 100 THEN TAG = "New" ;
ELSE IF R_Num >= 100 THEN TAG = "Unchecked" ;
run;
|
Output:
Last Updated :
23 Jul, 2019
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...