Sas で do until ステートメントを使用する方法
SAS でDO UNTILステートメントを使用すると、条件が満たされるまで繰り返しループできます。
次の例は、この命令を実際に使用する 2 つの異なる方法を示しています。
例 1: SAS の DO UNTIL ステートメント
次のコードは、SAS でDO UNTILステートメントを使用して、 var1とvar2という 2 つの変数を含むデータセットを作成する方法を示しています。これらの変数は、 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の値が 100 を超えるまで、 var1とvar2の新しい値を生成し続けました。
var1の値が 100 を超えると、 DO UNTILステートメントが停止し、新しい値がデータ セットに追加されなくなりました。
例 2: SAS の TO ステートメントを含む DO UNTIL ステートメント
次のコードは、SAS でDO UNTILステートメントとTOステートメントを使用して、 var1とvar2という 2 つの変数を含むデータセットを作成し、 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命令は、 var1の値が 10 より大きくなるまで、1 から 5 の範囲のvar2の値を生成しようとするよう SAS に指示しました。
var1の値が 10 を超えると、 DO UNTILステートメントが停止し、新しい値がデータ セットに追加されなくなりました。
追加リソース
次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。
SAS で IF-THEN-DO を使用する方法
SAS で IF-THEN-ELSE を使用する方法
SAS で DO WHILE ステートメントを使用する方法