Table of Contents
A DO UNTIL statement in SAS is a looping construct that allows a set of SAS statements to be executed repeatedly until a specified condition is met. This allows for efficient and flexible programming, as the number of iterations is not predetermined and can vary based on the condition. The DO UNTIL statement is typically used to validate data or perform calculations until a certain threshold is reached. It is an effective tool for controlling the flow of SAS programs and ensuring accurate results.
Use a DO UNTIL Statement in SAS
You can use a DO UNTIL statement in SAS to do some loop over and over until some condition has been met.
The following examples show two different ways to use this statement in practice.
Example 1: DO UNTIL Statement in SAS
The following code shows how to use a DO UNTIL statement in SAS to create a dataset that contains two variables called var1 and var2 that continue to generate new values until the value of var1 is greater than 100:
/*create dataset using DO UNTIL statement*/
data my_data;
var1 = 1;
var2 = 1;
do until(var1 > 100);
var1 = var1 + var2;
var2 = var1 * var2;
var1 + 1;
output;
end;
run;
/*view dataset*/
proc printdata=my_data;

The DO UNTIL statement continued to generate new values for var1 and var2 until the value of var1 was greater than 100.
Once the value of var1 exceeded 100, the DO UNTIL statement stopped and new values stopped being added to the dataset.
Example 2: DO UNTIL Statement with TO Statement in SAS
The following code shows how to use a DO UNTIL 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 until the value of var1 is greater than 10:
/*create dataset using DO UNTIL statement with TO statement*/
data my_data;
var1 = 0;
do var2 = 1 to 5 until(var1 > 10);
var1 = var2**2;
output;
end;
run;
/*view dataset*/
proc printdata=my_data;

The TO statement told SAS to attempt to generate values for var2 ranging from 1 to 5 but only until the value of var1 was greater than 10.
Once the value of var1 exceeded 10, the DO UNTIL statement stopped and new values stopped getting added to the dataset.
The following tutorials explain how to perform other common tasks in SAS:
Cite this article
stats writer (2024). How can a DO UNTIL statement be used in SAS?. PSYCHOLOGICAL SCALES. Retrieved from https://scales.arabpsychology.com/stats/how-can-a-do-until-statement-be-used-in-sas/
stats writer. "How can a DO UNTIL statement be used in SAS?." PSYCHOLOGICAL SCALES, 23 Jun. 2024, https://scales.arabpsychology.com/stats/how-can-a-do-until-statement-be-used-in-sas/.
stats writer. "How can a DO UNTIL statement be used in SAS?." PSYCHOLOGICAL SCALES, 2024. https://scales.arabpsychology.com/stats/how-can-a-do-until-statement-be-used-in-sas/.
stats writer (2024) 'How can a DO UNTIL statement be used in SAS?', PSYCHOLOGICAL SCALES. Available at: https://scales.arabpsychology.com/stats/how-can-a-do-until-statement-be-used-in-sas/.
[1] stats writer, "How can a DO UNTIL statement be used in SAS?," PSYCHOLOGICAL SCALES, vol. X, no. Y, ص Z-Z, June, 2024.
stats writer. How can a DO UNTIL statement be used in SAS?. PSYCHOLOGICAL SCALES. 2024;vol(issue):pages.
