CORRELAÇÃO Função agregada

A função CORRELAÇÃO retorna o coeficiente de correlação de um conjunto de pares de números.

Read syntax diagramSkip visual syntax diagramCORRELATION(expression1 ,expression2)

O esquema é SYSIBM.

expression1
Uma expressão que retorna um valor de qualquer tipo de dado numérico embutido.
expression2
Uma expressão que retorna um valor de qualquer tipo de dado numérico embutido.

Se qualquer um argumento for decimal flutuante, o resultado é o DECFLOAT (34); caso contrário, o resultado é um número de ponto flutuante de precisão dupla. O resultado pode ser nulo. Quando não é nulo, o resultado está entre -1 e 1.

A função é aplicada ao conjunto de (expression1, expression2) pares derivados dos valores de argumento pela eliminação de todos os pares para os quais expression1 ou expression2 é nulo.

Se a função for aplicada a um conjunto vazio, ou se STDDEV (expression1) ou STDDEV (expression2) for igual a zero, o resultado será um valor nulo. Caso contrário, o resultado é o coeficiente de correlação para os pares de valor no conjunto. O resultado é equivalente à expressão a seguir:
   COVARIANCE(expression1,expression2)/
   (STDDEV(expression1)*
   STDDEV(expression2))

A ordem em que os valores são agregados é indefinida, mas todo resultado intermediário deve estar dentro do intervalo do tipo de dados do resultado.

CORR pode ser especificado no lugar da CORRELAÇÃO.

Exemplo

Usando a tabela EMPLOYEE, configure a variável host CORRLN (ponto flutuante de precisão dupla) para a correlação entre salário e bônus para aqueles funcionários no departamento (WORKDEPT) 'A00'.
   SELECT CORRELATION(SALARY, BONUS)
     INTO :CORRLN
     FROM EMPLOYEE
     WHERE WORKDEPT = 'A00'

CURRLN é configurado para aproximadamente 9.99853953399538E-001 ao utilizar a tabela de amostra.