Catégories :

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

REGR_INTERCEPT

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

AVG(y)-REGR_SLOPE(y,x)*AVG(x)

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

Syntaxe

Fonction d’agrégation

REGR_INTERCEPT(y, x)
Copy

Fonction de fenêtre

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

  • 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 TABLEE 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_INTERCEPT(v, v2) FROM aggr GROUP BY k;
Copy
+---+-----------------------+
| k | regr_intercept(v, v2) |
|---+-----------------------|
| 1 | [NULL]                |
| 2 | 1.154734411           |
+---+-----------------------+