かきためぬ

書き溜めたいきもちは山々だけど

【SAS】アウトプットウィンドウへの出力を制御

PRINTプロシジャを実行するとアウトプットウィンドウにデータセットの中身が表示される。

PROC PRINT DATA=test;
RUN;

以上を実行するとアウトプットウィンドウに以下の内容が出力される
f:id:hhohh:20160907215108p:plain



でも、プロシジャによっては実行結果をアウトプットウィンドウにいちいち出力したくないこともある。
(実行結果をデータセットに出力するときなど)


例えば、一度にたくさんのTTESTプロシジャ(t検定を行うプロシジャ)などを実行した場合、それぞれの実行結果が全部アウトプットウィンドウに表示されてしまうと少し鬱陶しい。






アウトプットウィンドウの表示を制御するやり方

ODS EXCLUDE ALL;

以上を実行するとアウトプットウィンドウへの出力が制御される。
先ほどのPRINTプロシジャを実行してもアウトプットウィンドウには何も表示されなくなる。



アウトプットウィンドウの表示を戻すやり方

ODS SELECT ALL;

または、

ODS EXCLUDE NONE;

どちらかを実行すると、再びアウトプットウィンドウに出力されるようになる。





↓活用例

/*アウトプットウィンドウへの出力を止める*/
ODS EXCLUDE ALL;

/*アウトプットウィンドウに結果を出力したくないプロシジャを実行*/
PROC TTEST DATA=[データセット名];
  ODS OUTPUT TTESTS=[プロシジャの結果を出力するデータセット名];
  VAR [分析する変数名];
RUN;

/*アウトプットウィンドウへの出力を再開する*/
ODS SELECT ALL;