# SAS : IF-Then-Else Statements

#### Live Online Training :SAS Programming with Practical Examples - Explain Programming Concepts in Simple English - Live Projects - Scenario Based Questions - Mock Interview - 100+ Base and Advanced SAS Certification Questions - Get 10% off till Jan 22, 2018 - Batch starts from February 10, 2018

Task 1 : Suppose you are asked to exclude some of the observations in a SAS data set from an analysis that you are generating. For example, you want to exclude all IDs whose values are greater than 100.

To accomplish this task, we can use IF, IF-THEN DELETE.

Comparison Operators

 Symbolic Mnemonic Meaning Example = EQ equals IF gender = ‘M’; or IF gender EQ ‘M’; ^= or ~= NE not equal IF salary NE . ; > GT greater than IF salary GT 4500; < LT less than IF salary LT 4500; >= GE greater than or equal IF salary GE 4500; <= LE less than or equal IF salary LE 4500; in IN selecting multiple values IF country IN(‘US’ ’IN’);

1. IF statement

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

The output is shown below :

IF ID LE 100 => This would tell SAS to retain only those IDs whose values are less than or equal to 100. In other words, you are removing IDs whose values are greater than or equal to 100.

This can also be done using the IF-THEN DELETE statement.

2. IF-THEN DELETE

IF (condition is true) THEN (delete the selected observations);

IF ID GT 100 THEN DELETE => This would tell SAS to remove all the IDs whose values are greater than 100.

II. IF-THEN-ELSE Statement

Task 2: Suppose you want to set a tag on all the IDs. The condition is :

If value of ID is less than or equal to 100 set "Old" tag otherwise set "New" tag.

IF (condition is true) THEN (perform this action);
ELSE (perform the action that is set when condition is false);

Syntax of IF-THEN-ELSE :

The output is shown below :

III. IF-THEN-ELSE IF Statement

The conditions for tagging are as follows :
• If value of ID is less than 75 then TAG = "Old"
• If value of ID is greater than or equal to 75 and less than 100 then TAG = "New"
• If value of ID is greater than or equal to 100 then TAG = "Unchecked"
IF (condition is true) THEN (perform this action);
ELSE IF (perform the action when second condition is true);
ELSE IF (perform the action when third condition is true);

Syntax of IF-THEN-ELSE IF :

The output is shown below :

LOGICAL OPERATORS

 Symbolic Mnemonic Meaning Example & AND Both conditions true IF gender =’M’ and age =1; | OR Either condition true IF gender =’M’ or age =1; ~ or ^ NOT Reverse the statement IF country not IN(‘US’,’IN’);

Task 4: Suppose you want to generate an analysis for Q1 including only responses that are valid (non-missing) and less than 3.

IF (Q1 LT 3) AND (Q1 NE .) => Since missing values are smaller than any other value, we need to give SAS an additional command to separate out missing values.

The output is shown below:

Selecting Multiple Observations :

Suppose you want to set tag "Incorrect" to the specified IDs 1,5,45,76

For this case, the logical statement would look like any one of the following statements. It can be written in three ways shown below.

IN Operator

IN operator is used to select multiple values of a variable. It is an awesome alternative to OR operator.

#### SAS Tutorials :100 Free SAS Tutorials

Deepanshu founded ListenData with a simple objective - Make analytics easy to understand and follow. He has over 7 years of experience in data science and predictive modeling. During his tenure, he has worked with global clients in various domains like banking, Telecom, HR and Health Insurance.

While I love having friends who agree, I only learn from those who don't.

Let's Get Connected: Email | LinkedIn