Jak używać instrukcji do until w sas-ie


Możesz użyć instrukcji DO UNTIL w SAS-ie, aby powtarzać pętlę , aż spełniony zostanie warunek.

Poniższe przykłady pokazują dwa różne sposoby wykorzystania tej instrukcji w praktyce.

Przykład 1: Instrukcja DO UNTIL w SAS-ie

Poniższy kod pokazuje, jak użyć instrukcji DO UNTIL w SAS-ie, aby utworzyć zestaw danych zawierający dwie zmienne zwane var1 i var2 , które generują nowe wartości , aż wartość var1 będzie większa niż 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;

Instrukcja DO UNTIL kontynuowała generowanie nowych wartości dla var1 i var2 , aż wartość var1 była większa niż 100.

Gdy wartość var1 przekroczyła 100, instrukcja DO UNTIL została zatrzymana i zaprzestano dodawania nowych wartości do zbioru danych.

Przykład 2: Instrukcja DO UNTIL z instrukcją TO w SAS-ie

Poniższy kod pokazuje, jak używać instrukcji DO UNTIL z instrukcją TO w SAS-ie, aby utworzyć zestaw danych zawierający dwie zmienne zwane var1 i var2 , które generują nowe wartości , aż wartość var1 będzie większa niż 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;

Instrukcja TO instruowała SAS-a, aby podjął próbę wygenerowania wartości dla var2 z zakresu od 1 do 5, ale tylko do momentu, gdy wartość var1 będzie większa niż 10.

Gdy wartość zmiennej var1 przekroczyła 10, instrukcja DO UNTIL została zatrzymana i zaprzestano dodawania nowych wartości do zbioru danych.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w SAS-ie:

Jak używać JEŻELI-TO-ZROBIĆ w SAS-ie
Jak używać JEŻELI-TO-ELSE w SAS-ie
Jak używać instrukcji DO WHILE w SAS-ie

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *