How to Use a DO WHILE Statement in SAS


You can use a DO WHILE statement in SAS to do some loop over and over while some condition remains true.

The following examples show two different ways to use this statement in practice.

Example 1: DO WHILE Statement in SAS

The following code shows how to use a DO WHILE statement in SAS to create a dataset that contains two variables called var1 and var2 that continue to generate new values while the value of var1 is less than 100:

/*create dataset using DO WHILE statement*/
data my_data;

var1 = 1;
var2 = 1;

do while(var1 < 100);
    var1 = var1 + var2; 
    var2 = var1 * var2;
    var1 + 1;
    
output;

end;

run;

/*view dataset*/
proc print data=my_data;

The DO WHILE statement continued to generate new values for var1 and var2 while the value of var1 was less than 100.

Once the value of var1 exceeded 100, the DO WHILE statement stopped and new values stopped being added to the dataset.

Example 2: DO WHILE Statement with TO Statement in SAS

The following code shows how to use a DO WHILE statement with a TO statement in SAS to create a dataset that contains two variables called var1 and var2 that continue to generate new values while the value of var1 is less than 10:

/*create dataset using DO WHILE statement with TO statement*/
data my_data;

var1 = 0; 

do var2 = 1 to 5 while(var1 < 10);   
    var1 = var2**3;
    
output;

end;

run;

/*view dataset*/
proc print data=my_data;

The TO statement told SAS to attempt to generate values for var2 ranging from 1 to 5 but only while the value of var1 was less than 10.

Once the value of var1 exceeded 10, the DO WHILE statement stopped and new values stopped getting added to the dataset.

Additional Resources

The following tutorials explain how to perform other common tasks in SAS:

How to Use IF-THEN-DO in SAS
How to Use IF-THEN-ELSE in SAS
How to Remove Duplicates in SAS

Leave a Reply

Your email address will not be published. Required fields are marked *