まずは以下をご覧ください。
*** Sample Data ; data DT1; do A=1 to 3; output; end; run;
*** カウントした結果をマクロ変数に格納 ;
proc sql noprint;
select count(*) into: MAC from DT1; quit; *** マクロ変数をログに展開 ; %put "&MAC"; ログ " 3" |
ログを見ると前方に半角スペースが入ってます。
マニュアルを確認してみたら、
今回のような書き方で、値を1個だけマクロ変数にいれようとすると、前方または後方に半角スペースが残ってしまうようです。
この前方または後方の半角スペースを取り除きたい場合、SAS9.3以降であれば、trimmed を加えます。
proc sql noprint; select count(*) into: MAC trimmed from DT1; quit; %put "&MAC"; ログ "3" |
もしくは、以下のように %letステートメント を挟んであげればokです。
proc sql noprint; select count(*) into: MAC from DT1; quit; %let MAC=&MAC; %put "&MAC"; ログ "3" |
See also
0 件のコメント:
コメントを投稿