Catégories :

Fonctions d’agrégation (Linear Regression) , Syntaxe et utilisation des fonctions de fenêtre

REGR_SLOPE

Renvoie la pente de la droite de régression linéaire pour les paires non « null » dans un groupe. Elle est calculée pour les paires non NULL à l’aide de la formule suivante :

COVAR_POP(x,y) / VAR_POP(x)

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

Syntaxe

Fonction d’agrégation

REGR_SLOPE(y, x)
Copy

Fonction de fenêtre

REGR_SLOPE(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.

Renvoie

Le type de données de la valeur renvoyée est FLOAT.

Notes sur l’utilisation

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

  • Lorsque cette fonction est appelée en tant que fonction de fenêtre, elle ne prend pas en charge :

    • Une clause ORDER BY dans la clause OVER.

    • Cadres de fenêtre explicites.

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);

SELECT k, REGR_SLOPE(v, v2) FROM aggr GROUP BY k;
Copy
+---+-------------------+
| k | regr_slope(v, v2) |
|---+-------------------|
| 1 | [NULL]            |
| 2 | 0.831408776       |
+---+-------------------+