CORR または CORRELATION

CORRELATION 関数は、数値の組の集合に関する相関係数を戻します。

構文図を読む構文図をスキップする
>>-+-CORR--------+--(--expression1--,--expression2--)----------><
   '-CORRELATION-'                                      

expression1
任意の組み込み数値、文字ストリング、 またはグラフィック・ストリングのデータ・タイプの値を戻す式。 引数が文字ストリングまたはグラフィック・ストリングの場合、関数を評価する前に DECFLOAT(34) にキャストされます。
expression2
任意の組み込み数値、文字ストリング、 またはグラフィック・ストリングのデータ・タイプの値を戻す式。 引数が文字ストリングまたはグラフィック・ストリングの場合、関数を評価する前に DECFLOAT(34) にキャストされます。

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

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

この関数が空のセットに適用された場合や、 STDDEV(expression1) または STDDEV(expression2) のどちらかがゼロに等しい場合、 結果は NULL 値になります。 それ以外の場合、結果はその集合内にある値ペアの相関係数になります。 結果は、次のようにして割り出されます。
  1. sdexp1 を STDDEV(expression1) の結果に、sdexp2 を STDDEV(expression2) の結果にします。
  2. CORRELATION(expression1, expression2) の結果は以下になります。
    COVARIANCE(expression1, expression2) / (sdexp1 * sdexp2)
値を集計する順序は定義されていませんが、 すべての中間結果は結果のデータ・タイプの範囲内になければなりません。

特殊値 DECFLOAT を含む結果: 引数のデータ・タイプが 10 進浮動小数点であり、特殊値 sNaN または -sNaN、もしくは +Infinity と -Infinity の両方が集約に含まれる場合、エラーまたは警告が戻されます。それ以外の場合、+NaN または -NaN が検出されれば、結果は +NaN または -NaN になります。+Infinity または -Infinity が検出されれば、結果は +Infinity または -Infinity になります。

代替構文: SQL 規格に準拠して CORR を使用する必要があります。

  • EMPLOYEE 表を使用して、ホスト変数 CORRLN を、部門 'A00' の従業員の給与と賞与の間に見られる相関に設定します。
    SELECT CORRELATION(SALARY, BONUS) 
      INTO :CORRLN 
      FROM EMPLOYEE
      WHERE WORKDEPT = ‘A00’;
    サンプル表を使用した場合、CORRLN は 0.9760236077658643 に設定されます。