Open In App
Related Articles

If-Then-Else statement in SAS Programming

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Report issue
Report
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
  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:


Last Updated : 23 Jul, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads