Як використовувати оператор do until у sas


Ви можете використовувати оператор DO UNTIL у SAS, щоб виконувати цикл знову і знову , доки не буде виконано умову.

Наступні приклади показують два різні способи використання цієї інструкції на практиці.

Приклад 1: оператор DO UNTIL у SAS

У наступному коді показано, як використовувати оператор DO UNTIL у SAS для створення набору даних, що містить дві змінні під назвою var1 і var2 , які продовжують генерувати нові значення , доки значення var1 не перевищить 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 print data =my_data;

Оператор DO UNTIL продовжував генерувати нові значення для var1 і var2 , поки значення var1 не перевищувало 100.

Як тільки значення var1 перевищило 100, оператор DO UNTIL припинився, і нові значення припинили додаватися до набору даних.

Приклад 2: оператор DO UNTIL із оператором TO у SAS

У наведеному нижче коді показано, як використовувати оператор DO UNTIL із оператором TO у SAS, щоб створити набір даних, що містить дві змінні під назвою var1 і var2 , які продовжують генерувати нові значення , доки значення var1 не перевищить 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 print data =my_data;

Інструкція TO наказала SAS спробувати згенерувати значення для var2 в діапазоні від 1 до 5, але лише до тих пір, поки значення var1 не перевищить 10.

Як тільки значення var1 перевищило 10, оператор DO UNTIL припинився, і нові значення припинили додаватися до набору даних.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в SAS:

Як використовувати IF-THEN-DO в SAS
Як використовувати IF-THEN-ELSE у SAS
Як використовувати оператор DO WHILE у SAS

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *