COVARIANCE_SAMP 集約関数

COVARIANCE_SAMP 関数は、数値ペアの集合の標本共分散を戻します。

Read syntax diagramSkip visual syntax diagramCOVARIANCE_SAMP(expression1 ,expression2)

スキーマは SYSIBM です。

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

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

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

この関数を空集合または 1 行のみの集合に対して適用すると、結果は NULL 値になります。 そうでない場合、結果は集合内の値ペアの標本共分散になります。

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

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

COVARIANCE_SAMP の代わりに COVAR_SAMP を指定できます。

ホスト変数 COVARNCE に、EMPLOYEE 表の 'A00' 部門に属する従業員の給与と賞与の間の標本共分散を設定します。 ホスト変数 COVARNCE のデータ・タイプは、倍精度浮動小数点数になります。
   SELECT COVARIANCE_SAMP(SALARY, BONUS)
     INTO :COVARNCE
     FROM EMPLOYEE
     WHERE WORKDEPT = 'A00'
サンプル表を使用した場合、COVARNCE には約 +5.42875000000000E+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.