4回目はいよいよSQLの得意技であるGROUP BYによるグループ毎の集計について。
サンプルデータ
data DT1; input A B; cards; 1 10 1 15 1 20 1 . 2 10 2 15 ;
|
グループ毎に集計して出力する。[GROUP BY]
proc sql; select A , count(B) as _N , nmiss(B) as _MISS , sum(B) as _SUM , min(B) as _MIN , max(B) as _MAX from DT1 group by A; quit;
|
解説
・まずGROUP BYにグループ化したい変数を指定する。
同じ変数をSELECTにも指定します。
・グループ毎にどの変数にどんな集計をしたいか、SQL用の集計関数をSELECTに記述する。
SQL集計関数は
COUNT ・・・NULL以外の数
NMISS ・・・NULLの数
SUM ・・・合計
MIN ・・・最小値
MAX ・・・最大値
AVG ・・・平均値
などがあり、ほかにも簡単な要約統計量を求める関数がいくつかあります。
SQLプロシジャ入門記事一覧
1.変数を選択する【SELECT】
2.レコードを並べ替える【ORDER BY】
4.グループ毎に集計する【GROUP BY】
0 件のコメント:
コメントを投稿