%put に_all_,_automatic_,_user_などを指定してみる

%put ステートメントはログ等にマクロ変数を展開して出力するステートメントです。マクロ変数に値を代入するプログラムを書いたあと、ちゃんと想定した値が入っているか確認するときなどにも使います。
ただ一気にマクロ変数を大量作成するプログラムの場合、いちいち%putでマクロ変数名を指定するのはめんどうです。

そこで%put _user_;とすると、ユーザーが作成したマクロ変数とそこに入っている値が全部ざっとでてきます。

また%put _automatic_;とするとユーザーが作成していないマクロ変数、ようするに自動マクロ変数が全部出てきます。SASはバージョンによって、自動マクロ変数の種類の豊富さが結構違うので、あとマクロ変数ここで使えたっけ?という場合や、現在日時が格納されている自動マクロ変数ってなんだっけって時に結構重宝します。

%put _all_で上の二つを合わせた全部がでます。

またユーザー定義マクロ変数のなかでも
%put _global_ または%put _local_でグローバル変数またはローカル変数だけだせるので、
マクロ変数のスコープでわけわからんくなったときは一度全部だして値を確認してみるといいかもしれません。

0 件のコメント:

コメントを投稿