前のページ|次のページ

%TRIM自動呼び出しマクロと%QTRIM自動呼び出しマクロ

末尾の空白を除去します。

種類: 自動呼び出しマクロ
要件 MAUTOSOURCEシステムオプション

構文

%TRIM(text | text-expression)
%QTRIM(text | text-expression)

詳細

注: 自動呼び出しマクロは、SASが提供するライブラリに含まれています。このライブラリは、サイトにインストールされていないか、サイト固有のバージョンである場合があります。このマクロにアクセスできない場合、またはマクロがサイト固有のバージョンかどうか知りたい場合は、オンサイトのSASサポート担当者に問い合わせてください。詳細については、マクロの保存および再利用を参照してください。
TRIMマクロとQTRIMマクロは、どちらも末尾の空白を除去します。次に示す特殊文字またはニーモニック演算子が引数に含まれる場合は、%QTRIMを使用してください。
%QTRIMは、次の特殊文字およびニーモニック演算子をマスクして結果を生成します。そのためマクロプロセッサは、それらをマクロ言語要素ではなく、テキストとして解釈します。
& % ' " ( ) + − * / < > = ¬ ∘ ~ ; , #  blank
AND OR NOT EQ NE LE LT GE GT IN

例1: 末尾の空白の削除

この例では、TRIM自動呼び出しマクロによって、SASログに書き込まれるメッセージから末尾の空白を削除しています。
%macro numobs(dsn);
%local num;
data _null_;
   set &dsn nobs=count;
   call symput('num', left(put(count,8.)));
   stop;
   run;
    %if &num eq 0 %then
       %put There were NO observations in %upcase(&dsn).;
    %else
       %put There were %trim(&num) observations in %upcase(&dsn).;
%mend numobs;
%numobs(sample)
NUMOBSマクロを呼び出すと、次のステートメントが生成されます。
DATA _NULL_; 
SET SAMPLE NOBS=COUNT;
CALL SYMPUT('num', LEFT(PUT(COUNT,8.)));
STOP;
RUN;
データセットSAMPLEに6つのオブザベーションが含まれている場合、%PUTステートメントによって次の行がSASログに書き込まれます。
There were 6 observations in SAMPLE.

例2: %TRIMと%QTRIMの比較

次のステートメントが1999年1月28日に実行されたとします。
%let date=%nrstr(   &sysdate   );
%put *&date* *%qtrim(&date)* *%trim(&date)*;
%PUTステートメントによって次の行がSASログに書き込まれます。
* &sysdate * * &sysdate* * 28JAN99*
前のページ|次のページ|ページの先頭へ