ちょっとした話です。
data Q1;
call streaminit(777);
do Z= 1 to 10;
X=rand('uniform');Y=rand('uniform');
output;
end;
run;
GTL、テンプレート定義は基本的に静的なもので、
dynamicステートメントやマクロで値を渡す以外は、template内で実行時に
変更を伴う動的な処理はできないのですが
evalを使うとSAS関数が使えるので、
proc template;
define statgraph G1;
begingraph;
layout overlay;
scatterplot x=X y=Y
/name='n1'
markerattrs=(size=11 weight=bold symbol=circlefilled)
group=eval(ifc(Z<=5,'low','high'));
discretelegend 'n1'/title='Z'
location=inside halign=right valign=bottom;
endlayout;
endgraph;
end;
run;
proc sgrender data=Q1 template=G1;
run;
のように予めグループ化用の変数を用意してなくても、データから条件を付けて
ダイレクトにグループ化したりできます。
或いは、よく使うのが、グラフに参照線入れる時に、mean関数とかで、平均値とか
要約統計量を使いたい場合とかですかね。
0 件のコメント:
コメントを投稿