2016年8月23日火曜日

PROC DOCUMENT による出力結果の再構築 【その1:再出力】




「ODS DOCUMENT」 と 「PROC DOCUMENT」を使うと、様々なプロシジャの出力を保存・再利用(再構築)することが出来ます。




Step1. 出力を再利用できるように保存

ods document name=WORK.MYDOC (write);

   proc print data=SASHELP.CLASS;
   run;

ods document close;


上の例では、ODS DOCUMENTで、PRINTプロシジャを囲っています。
これにより、PRINTプロシジャの結果を再利用できるよう保存することが出来ます。


ODS DOCUMENT NAME=保存ファイル名 (WRITE);」 といった感じで、保存するファイル名を指定。

ちなみに、同名のファイルが既に存在する場合、追加モードで保存されますが、
WRITEオプションをつけると、上書きモードで保存されます。




Step2. 再出力

proc document name=WORK.MYDOC;
   replay;
   run;
quit;

PROC DOCUMENTで先ほど作ったファイルを指定して、
REPLAYステートメントで結果を再出力しています。


また以下のようにODS RTFで囲めば、RTFファイルに再出力することも出来ます。

proc document name=WORK.MYDOC;
   ods rtf file="適当なパス\test.rtf";
   replay;
   run;
   ods rtf close;
quit;




更に。。

DOCUMENTプロシジャは既に保存された出力結果を再出力しています。
この結果を編集して、必要な部分だけ切り出したり、入れ替えたり、、などなどが出来ます。

そのあたりは、またの機会で紹介できたら思います。




「PROC DOCUMENT」記事一覧
その1:再出力
その2:部分的な再出力
その3:BY変数の再利用
その4:出力結果の結合


0 件のコメント:

コメントを投稿