プロシジャの出力を SAS データセットに行う

[OS]Windows
[リリース] 8.x
[キーワード] ods freq tabulate out= output

[質問]

FREQ プロシジャ、TABULATE プロシジャの出力を SAS データセットに行うことは可能でしょうか

[回答]

以下の二通りの方法で、プロシジャの出力をSASデータセットに行うことができます。

  1. プロシジャに OUT= オプションを付記
  2. ODS OUTPUT ステートメントを使用

以下の例をご参照ください。

/* プロシジャに OUT= オプションを付記 */
proc tabulate data=master

/* 出力先にデータセットを指定します。下記のように、DROP= オプション等で、*/
/* 出力をカスタマイズすることができます。 */
   out=result(drop=_type_ _page_ _table_);
   class var1 var2;
   table var1*var2,(var3 var4)*mean;
   var var3 var4;
run;

/* ODS OUTPUT ステートメントを使用 */
/* 出力オブジェクト名(ここでは CrossTabFreqs )を指定します。 */
ods output crosstabfreqs=result;
proc freq data=master;
   tables var1*var2;
run;

なお、プロシジャが出力するオブジェクトの名前を調べるには、以下のようにします。

ods trace on;
ODS TRACE ステートメントで上記のように指定することにより、プロシジャを実行した際に、ログ画面上に出力オブジェクトの名前が表示されます。