2016年4月11日月曜日

PRINTプロシジャで変数の数が多い時に使えるIDステートメント



以下のプログラムを実行すると変数が沢山出来ます。(変数NO, A1, A2, A3・・・A30)

*  サンプルデータ ;
data DT1;
  do NO=1 to 5;
     retain A1-A30 0;
     output;
  end;
run;


上のようなデータに対して、

「RTFに出力したい。データの中身を確認するだけだから、適当にPRINTプロシジャとかで出したやつでいいよ」

という状況があったとします。そこで以下のように書くと、、、

ods rtf file="出力するファイルのフルパスを指定";
   proc print data=DT1;
   run;
ods rtf close;

変数の数が多すぎて途中で折り返してしまいました。
これだと例えばNO=4のA27の値は・・・とかって見たいときに見辛いです。


そこでIDステートメントを使ってみます。
ods rtf file="出力するファイルのフルパスを指定";
    proc print data=DT1;
        id NO;
    run;
ods rtf close;

途中で折り返しても、IDステートメントに指定した変数が一番左側に表示されるようになるので、多少見やすくなります。


📝ちなみに

IDステートメントに指定した変数の「数が多い」か「格納値が長すぎる」と、
ログに長すぎるぞ!的なWARNINGが出て、IDステートメントが無効になることがあります。
ODS LISTINGでの出力時に発生したことがありますが、RTF等の他の出力時でも同様のことが起こるか不明なので、ログも要確認です。

また、今回の方法以外に、用紙の向きを横にして横幅を広げて見やすくするって方法もあるかと思います。
ODS出力時の用紙サイズや余白などを設定するオプション [まとめ]


0 件のコメント:

コメントを投稿