Catégories :

Fonctions d’agrégation (régression linéaire), Fonctions de la fenêtre

REGR_R2

Renvoie le coefficient de détermination pour les paires « non null » dans un groupe. Elle est calculée pour les paires non NULL à l’aide de la formule suivante :

NULL                 if VAR_POP(x) = 0, else
1                    if VAR_POP(y) = 0 and VAR_POP(x) <> 0, else
POWER(CORR(y,x), 2)
Copy

x est la variable indépendante et y est la variable dépendante.

Syntaxe

Fonction d’agrégation

REGR_R2(y, x)
Copy

Fonction de fenêtre

REGR_R2(y, x) OVER ( [ PARTITION BY <expr3> ] )
Copy

Arguments

y

La variable dépendante. Cela doit être une expression pouvant être évaluée en un type numérique.

x

La variable indépendante. Cela doit être une expression pouvant être évaluée en un type numérique.

expr3

Il s’agit de l’expression facultative utilisée pour grouper des lignes dans des partitions.

Important

Notez l’ordre des arguments ; la variable dépendante est la première.

Notes sur l’utilisation

  • DISTINCT n’est pas pris en charge pour cette fonction.

  • Lorsqu’il est utilisé comme une fonction de fenêtre :

    • Cette fonction ne prend pas en charge :

      • Sous-clause ORDER BY dans la clause OVER().

      • Cadres de fenêtre.

Exemples

create or replace table aggr(k int, v decimal(10,2), v2 decimal(10, 2));
insert into aggr values(1, 10, null);
insert into aggr values(2, 10, 11), (2, 20, 22), (2, 25,null), (2, 30, 35);
Copy
select k, regr_r2(v, v2) from aggr group by k;

---+----------------+
 k | regr_r2(v, v2) |
---+----------------+
 1 | [NULL]         |
 2 | 0.9976905312   |
---+----------------+
Copy