COVARIANCE 集約関数

COVARIANCE 関数は、数値の組の集合に関する (集団) 共分散を戻します。

構文図を読む構文図をスキップするCOVARIANCE(expression1 ,expression2)

スキーマは SYSIBM です。

expression1
組み込み数値データ・タイプの値を戻す式。
expression2
組み込み数値データ・タイプの値を戻す式。

引数のいずれかが 10 進浮動小数点数である場合、結果は DECFLOAT(34) になります。そうでない場合、結果は倍精度浮動小数点数になります。 結果は NULL 値の場合もあります。

この関数は、引数の値から導出されたペアの集合 (expression1, expression2) から、 expression1 または expression2 のどちらかが NULL であるすべてのペアを除外したものに対して適用されます。

この関数が空のセットに適用されると、結果は NULL 値になります。 それ以外の場合、結果はそのセット内の値ペアの共分散になります。

偏共分散を求めるために使用される計算は、以下の式と論理的に等価です。
COVARIANCE = SUM( 
   ( expression1 - AVG(expression1) ) * 
   ( expression2 - AVG(expression2) ) ) / COUNT(expression1)

値を集計する順序は定義されていませんが、 すべての中間結果は結果のデータ・タイプの範囲内になければなりません。

COVARIANCE の代わりに COVAR または COVAR_POPを指定できます。

ホスト変数 COVARNCE に、EMPLOYEE 表の 'A00' 部門に属する従業員の給与と賞与の間の共分散を設定します。ホスト変数 COVARNCE のデータ・タイプは、倍精度浮動小数点数になります。
   SELECT COVARIANCE(SALARY, BONUS)
     INTO :COVARNCE
     FROM EMPLOYEE
     WHERE WORKDEPT = 'A00'
サンプル表を使用した場合、COVARNCE はおよそ 1.68888888888889E+006 に設定されます。
以下の結果セットが参照用に表示されます。
SELECT SALARY, BONUS FROM EMPLOYEE WHERE WORKDEPT = 'A00'
SALARY      BONUS      
----------- -----------
  152750.00     1000.00
   66500.00      900.00
   49250.00      600.00
   46500.00     1000.00
   39250.00      600.00

5 record(s) selected.