2015年9月27日日曜日

Graph Template Language(GTL)入門:関数



GTLの中で関数を使う方法を紹介したいと思います。



GTLで使える関数


  •  SAS関数
    • データステップで使用している関数(ただしLAG関数などデータステップに特化した関数など一部使えないのもある)
    • GTL内で使えるSAS関数でも、一部機能がGTL内ではうまく動作しないこともあるようなので、使用時は挙動を要確認。

  •  GTL専用の関数
    • 話が込み入ってしまうので今回は割愛。

  •  集計関数
    • MEAN, MIN, MAX, MEDIAN...等の集計関数が用意されてます(使用できる集計関数はSAS社のリファレンスを参照下さい)


ルール

上記関数を使用するにはEVAL関数で囲む必要があります。

EVAL( 使用したい関数 )





* グラフテンプレート作成 ;
proc template;
  define statgraph MYGRAPH;
  begingraph;
       layout overlay;
             scatterplot x=HEIGHT y=WEIGHT;
             referenceline x=eval( mean(HEIGHT) ) / curvelabel="x平均";
             referenceline y=eval( mean(WEIGHT) ) / curvelabel="y平均";
endlayout;
entryfootnote "作成日時:" eval( put(datetime(),datetime.) ) ;
  endgraph;
  end;
run;

* グラフ作成実行 ;
proc sgrender data=SASHELP.CLASS template=MYGRAPH;
run;





解説

referenceline x=eval( mean(HEIGHT) ) / curvelabel="x平均";
referenceline y=eval( mean(WEIGHT) ) / curvelabel="y平均";

REFERENCELINEステートメントで参照線を引いていますが、
  • x=eval(mean(HEIGHT)) でHEIGHTの平均値を計算して、この平均値を参照線としてX軸にひいてます。
  • 同様にy=eval(mean(WEIGHT)) でWEIGHTの平均値を参照線としてY軸にひいてます。


entryfootnote "作成日時:" eval( put(datetime(),datetime.) ) ;

DATETIME関数とPUT関数で実行日時をフッターに表示してます。



関数
マクロ変数を引数にする

0 件のコメント:

コメントを投稿