前のページ|次のページ

%DO %UNTILステートメント

条件がtrueになるまでマクロのセクションを繰り返し実行します。

種類: マクロステートメント
制限事項: マクロ定義でのみ使用可能
参照項目: %ENDステートメント

構文

%DO %UNTIL (expression);

text and macro language statements
%END;

必須引数

expression

論理値に置換される任意のマクロ式を指定します。マクロプロセッサは、各反復の末尾でこの式を評価します。この式の値がゼロ以外の整数である場合、この式はtrueになります。この式の値がゼロである場合、この式はfalseになります。この式がヌル値に置換されるか、または非数値文字を含む値に置換される場合、マクロプロセッサはエラーメッセージを発行します。

%DO %UNTILステートメントに指定する式の例を次に示します。
 
  • %do %until(&hold=no);
  • %do %until(%index(&source,&excerpt)=0);

詳細

%DO %UNTILステートメントは、各反復の末尾で、条件の値をチェックします。このため、%DO %UNTILループは最低1回は必ず反復されます。

例: パラメータの検証

次の例では、%DO %UNTILステートメントを使用してオプションのリストをスキャンし、パラメータTYPEの有効性を検証しています。
%macro grph(type);
   %let type=%upcase(&type);
   %let options=BLOCK HBAR VBAR;
   %let i=0;
   %do %until (&type=%scan(&options,&i) or (&i>3)) ;
      %let i = %eval(&i+1);
   %end;
   %if &i>3 %then %do;
      %put ERROR: &type type not supported;
   %end;
   %else %do;
      proc chart;&type sex / group=dept;
      run;
   %end;
%mend grph;
値HBARを引数とするマクロGRPHを呼び出すと、次のステートメントが生成されます。
PROC CHART;
HBAR SEX / GROUP=DEPT;
RUN;
値PIEを引数とするマクロGRPHを呼び出すと、次の行がSASログに書き込まれます。
Error:PIE type not supported
前のページ|次のページ|ページの先頭へ