2016年9月13日火曜日

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




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


Step1. プロシジャの結果を保存

* サンプルデータ作成 ;
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毎に集計するようにしています。


Step2. BY変数の値を抽出条件に設定する

proc document name=MYDOC1;
   replay  \ (where=(AGE=15)) ;
run;


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




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

0 件のコメント:

コメントを投稿