ODS OUTPUTからデータセットを作る場合に(PERSIST=PROC)で同系の出力を1セットにまとめる。あとODS TRACEの話も

たとえば

data Q1;
do X=1 to 20;
 output;
end;
run;

data Q2;
do Y=1 to 10;
 output;
end;
run;


という2つのデータセットがあるとします。

ods listing close;
ods output basicmeasures=A0;
proc univariate data=Q1;
 var X;
run;
proc univariate data=Q2;
 var Y;
 run;
ods output close;
ods listing;

とするとデータセットA0の中身は









となり、つまりQ1に対してunivariateをかけた時のOutputしか捉えれていないです。

2つめのunivariateの結果をデータセットにしたければ、その直前に再度ods outputを打つ必要が
あります。


しかし

ods output basicmeasures(PERSIST=PROC)=A1;
proc univariate data=Q1;
 var X;
run;
proc univariate data=Q2;
 var Y;
 run;
ods output close;
ods listing;


とすると










となって2つのODS出力が、ひとつのデータセットになります。

これは後で結果をデータステップで結合する必要がなくなったりして
しっていると結構便利です。


ちなみにODS出力の名前は

ods trace on;
proc univariate data=Q1;
 var X;
run;
ods trace off;

としてods trace on offで挟んで対象プロシジャを実行すると、ログに




























これの「名前」の部分を ods outputの後につけて、=作りたいデータセット名でOK。

もっと単純に
























結果のところで、データセットにしたい部分をクリックして右クリック
「名前の変更」で
















コピペできます。


0 件のコメント:

コメントを投稿