2016年9月13日火曜日

PROC DOCUMENT による出力結果の再構築 【その3:BY変数の再利用】


「BY変数の再利用」 といわれてもイマイチぴんとこないと思うので、以下に例を示します。


ステップ① プロシジャの結果を保存
* サンプルデータ作成 ;
proc sort data=SASHELP.CLASS out=CLASS;
   by AGE;
run;


* 出力オブジェクトを保存 ;
ods results off;
ods document name=MYDOC1(write);

   proc freq data=CLASS;
      table SEX;
      by AGE;
   run;

   proc means data=CLASS;
      var HEIGHT;
      by AGE;
   run;

ods document close;
ods results on;

・ FREQとMEANSの結果をODS DOCUMENTで保存。
・ 各プロシジャではBYステートメントでAGE毎に集計するようにしています。


ステップ② BY変数の値を抽出条件に設定する
proc document name=MYDOC1;
   replay  \ (where=(AGE=15)) ;
run;


・ ステップ①で指定したBY変数は、WHEREで抽出条件に使えちゃいます。


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

0 件のコメント:

コメントを投稿