マクロプロセッサが論理演算子IN (#)を認識し評価するかどうかを制御します。
該当要素: | 構成ファイル、OPTIONSウィンドウ、OPTIONSステートメント、SAS起動時 |
カテゴリ: | マクロ |
PROC OPTIONS GROUP= | MACRO |
種類: | システムオプション |
デフォルト: | NOMINOPERATOR |
注: | マクロIN演算子を式で使用するためには、MINOPERATORシステムオプションをデフォルト値のNOMINOPERATORからMINOPERATORに変更しておく必要があります。詳細については、MINOPERATORシステムオプションおよび%MACROステートメントを参照してください。 |
IN
(#
)を式の中で演算子として使用したい場合、MINOPERATORシステムオプションを使用するか、または%MACROステートメント内で同オプションを使用します。
options minoperator;
%macro macroname / minoperator;
:
>)は、範囲を指定する簡略表記(たとえば、1~10までの範囲を表す場合1:10
と表記する)としては認識されません。範囲を表すには、マクロ内で次のように指定する必要があります。 %eval(3 in 1 2 3 4 5 6 7 8 9 10);
%put %eval(a IN a b c d); /*Both operands are present. */どちらかのオペランドにヌル値が含まれている場合、エラーが生成されます。
%put %eval( IN a b c d); /*Missing first operand. */と入力するか
%put %eval(a IN); /*Missing second operand. */IN演算子の前後に指定するオペランドのどちらにヌル値が含まれていた場合でも、同じエラーがSASログに書き込まれます。
Error:Operand missing for IN operator in argument to %EVAL function.
%if &state in (NY NJ PA) %then %let ®ion = %eval(®ion + 1);