マクロの実行時に、置換された値に含まれている特殊文字やニーモニック演算子をマスクします。
種類: | マクロクォーティング関数 |
参照項目: | %BQUOTE関数と%NRBQUOTE関数, %NRBQUOTE関数, %NRSTR関数、および %SUPERQ関数 |
+ − * / < > = ¬ ^ ~ ; , # blank AND OR NOT EQ NE LE LT GE GT IN
%
によりマークされている場合に、その文字をマスクします。
' "
& %
%
でマークする必要はありません。一方、%QUOTE関数および%NRQUOTE関数では、それらの引用符をマークする必要があります。
%macro dept1(state); /* without %quote -- problems might occur */ %if &state=nc %then %put North Carolina Department of Revenue; %else %put Department of Revenue; %mend dept1; %dept1(or)
or
はこの式では論理演算子として評価されることになります。このため、マクロプロセッサは式or=nc
に無効なオペランドが含まれているというエラーメッセージを出力します。
%macro dept2(state); /* with %quote function--problems are prevented */ %if %quote(&state)=nc %then %put North Carolina Department of Revenue; %else %put Department of Revenue; %mend dept2; %dept2(or)
or
とnc
を比較し、次のメッセージをSASログに書き込みます。 Department of Revenue