Как использовать оператор 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