|
スポンサード リンク
グループ単位に、相関係数を取得するには、CORR関数を使用する。
分析関数のVAR_POPは、ウィンドウ(window)を操作して、累積分散を取得します。
相関係数とは2つのデータ間の関係の強さをあらわす +1 〜 -1 の範囲の係数です。
CORR( 数値項目1,
数値項目2 ) |
引数で指定した数値項目1と数値項目2の、相関係数を返します。 |
OVER(
[ PRTITION BY 項目1,
[項目2,・・] ]
ORDER BY 項目1,
[項目2,・・] )
|
CORR関数と一緒に使用します
PRTITION BY句には、グループ化対象項目を指定する
ORDERY BY句には、ソート対象の項目を指定する |
サンプル表「emp01」データ
|
SQL> select * from emp01;
EMP_ID DEPT_ID EMP_NAME YEARS SALARY
----- ----- ---------- ---------- ----------
E01 D01 なまえ1 3 150
E02 D02 なまえ2 7 200
E03 D03 なまえ3 7 300
E04 D02 なまえ4 7 400
E05 D03 なまえ5 3 500
E06 D02 なまえ6 3 600 |
例1) 列「salary」と列「years」の相関係数を取得します。
|
SQL> select
2 emp_id,years,salary,
3 corr( years,salary)
4 over() as corr
5 from emp01;
EMP_ID YEARS SALARY CORR
----- ----- ------ ----------
E01 3 150 -0.36639675
E02 7 200 -0.36639675
E03 7 300 -0.36639675
E04 7 400 -0.36639675
E05 3 500 -0.36639675
E06 3 600 -0.36639675 |
例2) 列「salary」と列「years」の相関係数を列「dept_id」別に取得します。
|
SQL> select
2 emp_id,dept_id,years,salary,
3 corr( years,salary )
4 over( partition by dept_id ) as corr
5 from emp01;
EMP_ID DEPT_ID YEARS SALARY CORR
----- ----- ----- ------ ----------
E01 D01 3 150
E02 D02 7 200 -0.8660254
E06 D02 3 600 -0.8660254
E04 D02 7 400 -0.8660254
E05 D03 3 500 -1
E03 D03 7 300 -1 |
スポンサード リンク
|