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
  1. IF statement

    Syntax:

    IF (condition is true) => It means subsetting a dataset.

    Example:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    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; 

    chevron_right

    
    

    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:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    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;

    chevron_right

    
    

    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);
    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    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;

    chevron_right

    
    

    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);
    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    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; 

    chevron_right

    
    

    Output:



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.