Related Articles
If-Then-Else statement in SAS Programming
• Last Updated : 23 Jul, 2019

Comparison Operators used while using conditional statements.

SymbolMnemonicMeaning
=EQequals
^= or ~=NEnot equal
>GTgreater than
<LTless than
>=GEgreater than or equals
<=LEless than or equals
inINselecting multiple values
1. 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.

2. 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.

3. 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:

4. 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:

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up