例えば、
data Q1;
X=1;Y=3;output;
X=4;Y=3;output;
X=6;Y=5;output;
run;
といったデータセットがあった場合
ods listing close;
ods output basicmeasures=A0;
proc univariate data=Q1;
var X Y;
run;
ods output close;
ods listing;
とするとvarで2変数指定していますが1プロシージャの出力なので、A0の中身は当然
XとYの要約統計量が両方入ります。
しかし、今度は、1変数ずつ、データセットを分けたいけど、複数回proc univariateは書きたくないなという願望があったとします。
その場合、
ods listing close;
ods output basicmeasures(MATCH_ALL)=AA;
proc univariate data=Q1;
var X Y;
run;
ods output close;
ods listing;
とすると
データセットAAと、AA1という2つのデータセットが作成され
それぞれにXとYの結果が入ります。
指定した変数の数だけ、勝手に末尾に自動連番して、データセットを作成してくれます。
実戦で使ったことないのに、なんで自分はこの書き方知ってるんだろうと思って調べてみたら
2013年のSAS GLOBAL Forumの投稿で
「OUT= is on the way out. Use ODS OUTPUT instead」というPaperがあって、そこの中でのネタでした。
on the way out.、 「(1) なくなりかけて, すたれかけて.」
なかなか、きついこといいますね。面白いです。
0 件のコメント:
コメントを投稿