Catégories :

Fonctions d’agrégation (régression linéaire), Fonctions de la 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)

Fonction de fenêtre

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

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);
select k, regr_intercept(v, v2) from aggr group by k;

---+-----------------------+
 k | regr_intercept(v, v2) |
---+-----------------------+
 1 | [NULL]                |
 2 | 1.154734411           |
---+-----------------------+