インデックス変数の値に基づいて、マクロの特定セクションを繰り返し実行します。
| 種類: | マクロステートメント |
| 制限事項: | マクロ定義でのみ使用可能 |
| 参照項目: | %ENDステートメント |
マクロ変数名を指定するか、またはマクロ変数名を生成するテキスト式を指定します。このマクロ変数の値は、%DOループの反復回数を決定するインデックスとして機能します。インデックスとして指定されたマクロ変数が存在しない場合、マクロプロセッサは同変数をローカルシンボルテーブル内に作成します。
反復%DOステートメントと%ENDステートメント間にあるマクロの部分を処理する回数を制御する整数を指定するか、またはそのような整数を生成するマクロ式を指定します。
ループを繰り返すたびにインデックス変数に加算される整数(ゼロ以外)を指定するか、またはそのような整数を生成するマクロ式を指定します。デフォルトでは、incrementは1になります。incrementは、ループの初回反復前に評価されます。このため、この値はループの反復時には変更できません。
%macro create(howmany);
%do i=1 %to &howmany;
data month&i;
infile in&i;
input product cost date;
run;
%end;
%mend create;
%create(3)DATA MONTH1; INFILE IN1; INPUT PRODUCT COST DATE; RUN; DATA MONTH2; INFILE IN2; INPUT PRODUCT COST DATE; RUN; DATA MONTH3; INFILE IN3; INPUT PRODUCT COST DATE; RUN;