Exemples CORR
SELECT
CORR(alength, aheight) AS c_corr
FROM measure
[fblangref-aggfuncs-covar-pop], [fblangref-aggfuncs-stddev-pop].
CORR
SELECT
CORR(alength, aheight) AS c_corr
FROM measure
[fblangref-aggfuncs-covar-pop], [fblangref-aggfuncs-stddev-pop].
COVAR_POP()
DSQL
COVAR_POP(<expr1>, <expr2>)
Paramètre | Description |
---|---|
expr1, expr2 |
Une expression renvoie un type de données numériques. Elle peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR. Les fonctions agrégées ne sont pas autorisées en tant qu’expression. |
DOUBLE PRECISION
La fonction COVAR_POP
retourne la covariance de population de paires d’expressions avec des valeurs numériques.
La fonction COVAR_POP(<expr1>, <expr2>)
est équivalente à
(SUM(<expr1> * <expr2>) - SUM(<expr1>) * SUM(<expr2>) / COUNT(*)) / COUNT(*)
Si la sélection d’enregistrements est vide ou ne contient que des valeurs NULL
, le résultat contiendra NULL
.
COVAR_POP
COVAR_POP
SELECT
COVAR_POP(alength, aheight) AS c_corr
FROM measure
COVAR_SAMP()
DSQL
COVAR_SAMP(<expr1>, <expr2>)
Paramètre | Description |
---|---|
expr1, expr2 |
Une expression renvoie un type de données numériques. Elle peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR. Les fonctions agrégées ne sont pas autorisées en tant qu’expression. |
DOUBLE PRECISION
La fonction COVAR_SAMP
retourne la covariance d’échantillon d’une paire d’expressions avec des valeurs numériques.
La fonction COVAR_SAMP(<expr1>, <expr2>)
est équivalente à
(SUM(<expr1> * <expr2>) - SUM(<expr1>) * SUM(<expr2>) / COUNT(*)) / (COUNT(*) - 1)
Si la sélection d’enregistrements est vide, ne contient qu’un seul enregistrement ou ne contient que des valeurs NULL
, le résultat contiendra NULL
.
COVAR_SAMP
COVAR_SAMP
SELECT
COVAR_SAMP(alength, aheight) AS c_corr
FROM measure
STDDEV_POP()
DSQL
STDDEV_POP(<expr>)
Paramètre | Description |
---|---|
expr |
Une expression renvoie un type de données numériques. Elle peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR. Les fonctions agrégées ne sont pas autorisées en tant qu’expression. |
DOUBLE PRECISION
ou NUMERIC
selon le type expr.
La fonction STDDEV_POP
retourne l’écart-type du groupe. Les valeurs NULL
sont ignorées.
La fonction STDDEV_POP(<expr>)
est équivalente à
SQRT(VAR_POP(<expr>))
Si la sélection d’enregistrements est vide ou ne contient que des valeurs NULL
, le résultat contiendra NULL
.
STDDEV_POP
STDDEV_POP
SELECT
dept_no,
STDDEV_POP(salary)
FROM employee
GROUP BY dept_no
[fblangref-aggfuncs-stddev-pop], [fblangref-aggfuncs-var-pop].
STDDEV_SAMP()
DSQL
STDDEV_SAMP(<expr>)
Paramètre | Description |
---|---|
expr |
Une expression renvoie un type de données numériques. Elle peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR. Les fonctions agrégées ne sont pas autorisées en tant qu’expression. |
DOUBLE PRECISION
ou NUMERIC
selon le type expr.
La fonction STDDEV_SAMP
renvoie l’écart-type du groupe. Les valeurs NULL
sont ignorées.
La fonction STDDEV_SAMP(<expr>)
est équivalente à
SQRT(VAR_SAMP(<expr>))
Si la sélection d’enregistrements est vide, ne contient qu’un seul enregistrement ou ne contient que des valeurs NULL
, le résultat contiendra NULL
.
STDDEV_SAMP
STDDEV_SAMP
SELECT
dept_no,
STDDEV_SAMP(salary)
FROM employee
GROUP BY dept_no
[fblangref-aggfuncs-stddev-pop], [fblangref-aggfuncs-var-samp].
VAR_POP()
DSQL
VAR_POP(<expr>)
Paramètre | Description |
---|---|
expr |
Une expression renvoie un type de données numériques. Elle peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR. Les fonctions agrégées ne sont pas autorisées en tant qu’expression. |
DOUBLE PRECISION
ou NUMERIC
selon le type expr.
La fonction VAR_POP
renvoie la variance échantillonnée pour le groupe. Les valeurs NULL
sont ignorées.
La fonction VAR_POP(<expr>)
est équivalente à
(SUM(<expr> * <expr>) - SUM(<expr>) * SUM(<expr>) / COUNT(<expr>)) / COUNT(<expr>)
Si la sélection d’enregistrements est vide ou ne contient que des valeurs NULL
, le résultat contiendra NULL
.
VAR_POP
VAR_POP
SELECT
dept_no,
VAR_POP(salary)
FROM employee
GROUP BY dept_no
VAR_SAMP()
DSQL
VAR_SAMP(<expr>)
Paramètre | Description |
---|---|
expr |
Une expression renvoie un type de données numériques. Elle peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR. Les fonctions agrégées ne sont pas autorisées en tant qu’expression. |
DOUBLE PRECISION
ou NUMERIC
selon le type expr.
La fonction VAR_SAMP
renvoie la variance d’échantillonnage non biaisée pour le groupe. Les valeurs NULL
sont ignorées.
La fonction VAR_SAMP(<expr>)
est équivalente à
(SUM(<expr> * <expr>) - SUM(<expr>) * SUM(<expr>) / COUNT(<expr>)) / (COUNT(<expr>) - 1)
Si la sélection d’enregistrements est vide, ne contient qu’un seul enregistrement ou ne contient que des valeurs NULL
, le résultat contiendra NULL
.
VAR_SAMP
VAR_SAMP
SELECT
dept_no,
VAR_SAMP(salary)
FROM employee
GROUP BY dept_no
Les fonctions de régression linéaire sont utiles pour poursuivre une ligne de tendance. Une ligne de tendance est généralement un modèle qui est suivi par un ensemble de valeurs. Une ligne de tendance est utile pour prédire les valeurs futures, ce qui signifie que la tendance se poursuivra dans le futur. Pour poursuivre une ligne de tendance, la pente et le point d’intersection avec l’axe Y doivent être connus. L’ensemble des fonctions linéaires comprend des fonctions permettant de calculer ces valeurs.
Dans la syntaxe de la fonction, u est interprété comme une variable dépendant de x.
REGR_AVGX()
DSQL
REGR_AVGX ( <y>, <x> )
Paramètre | Description |
---|---|
y |
Variable dépendante de la ligne de régression. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression. |
x |
Une variable de ligne de régression indépendante. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression. |
DOUBLE PRECISION
La fonction REGR_AVGX
calcule la moyenne de la ligne de régression de la variable indépendante.
La fonction REGR_AVGX(<y>, <x>)
est équivalente à
SUM(<exprX>) / REGR_COUNT(<y>, <x>) <exprX> ::= CASE WHEN <x> IS NOT NULL AND <y> IS NOT NULL THEN <x> END
[fblangref-aggfuncs-regr-count], [fblangref-aggfuncs-regr-avgy].
REGR_AVGY()
DSQL
REGR_AVGY(<y>, <x>)
Paramètre | Description |
---|---|
y |
Variable dépendante de la ligne de régression. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression. |
x |
Une variable de ligne de régression indépendante. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression. |
DOUBLE PRECISION
La fonction REGR_AVGY
calcule la moyenne de la variable dépendante de la ligne de régression.
La fonction REGR_AVGY(<y>, <x>)
est équivalente à
SUM(<exprY>) / REGR_COUNT(<y>, <x>) <exprY> ::= CASE WHEN <x> IS NOT NULL AND <y> IS NOT NULL THEN <y> END
[fblangref-aggfuncs-regr-count], [fblangref-aggfuncs-regr-avgx].
REGR_COUNT()
DSQL
REGR_COUNT(<y>, <x>)
Paramètre | Description |
---|---|
y |
Variable dépendante de la ligne de régression. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression. |
x |
Une variable de ligne de régression indépendante. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression. |
BIGINT
La fonction REGR_COUNT
renvoie le nombre de paires non vides utilisées pour créer la ligne de régression.
La fonction REGR_COUNT(<y>, <x>)
est équivalente à
SUM(CASE WHEN <x> IS NOT NULL AND <y> IS NOT NULL THEN 1 END)
Voir aussi :[fblangref-aggfuncs-sum]
REGR_INTERCEPT()
DSQL
REGR_INTERCEPT(<y>, <x>)
Paramètre | Description |
---|---|
y |
Variable dépendante de la ligne de régression. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression. |
x |
Une variable indépendante de la ligne de régression. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées en tant qu’expression ne sont pas autorisées. |
DOUBLE PRECISION
La fonction REGR_INTERCEPT
calcule le point d’intersection de la ligne de régression avec l’axe des ordonnées.
La fonction REGR_INTERCEPT(<y>, <x>)
est équivalente à
REGR_AVGY(<y>, <x>) - REGR_SLOPE(<y>, <x>) * REGR_AVGX(<y>, <x>)
REGR_INTERCEPT
WITH RECURSIVE years(byyear) AS (
SELECT 1991 FROM rdb$database UNION ALL
SELECT byyear+1 FROM years WHERE byyear < 2020
),
s AS (
SELECT EXTRACT(YEAR FROM order_date) AS byyear,
SUM(total_value) AS total_value
FROM sales GROUP BY 1
),
regr AS (
SELECT REGR_INTERCEPT(total_value, byyear) as intercept,
REGR_SLOPE(total_value, byyear) as slope
FROM s)
SELECT years.byyear AS byyear,
intercept + (slope * years.byyear) AS total_value
FROM years CROSS JOIN regr
BYYEAR TOTAL_VALUE ---------------------------- 1991 118377,35 1992 414557,62 1993 710737,89 1994 1006918,16 1995 1303098,43 1996 1599278,69 1997 1895458,96 1998 2191639,23 1999 2487819,50 2000 2783999,77 ...
REGR_R2()
DSQL
REGR_R2(<y>, <x>)
Paramètre | Description |
---|---|
y |
Variable dépendante de la ligne de régression. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression. |
x |
Une variable de ligne de régression indépendante. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression. |
DOUBLE PRECISION
La fonction REGR_R2
calcule le coefficient de détermination, ou R-carré, de la ligne de régression.
La fonction REGR_R2(<y>, <x>)
est équivalente à
POWER(CORR(<y>, <x>), 2)
REGR_SLOPE()
DSQL
REGR_SLOPE(<y>, <x>)
Paramètre | Description |
---|---|
y |
Variable dépendante de la ligne de régression. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression. |
x |
Une variable de ligne de régression indépendante. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression. |
DOUBLE PRECISION
La fonction REGR_SLOPE
calcule la pente de la ligne de régression.
La fonction REGR_SLOPE(<y>, <x>)
est équivalente à
COVAR_POP(<y>, <x>) / VAR_POP(<exprX>) <exprX> :== CASE WHEN <x> IS NOT NULL AND <y> IS NOT NULL THEN <x> END
[fblangref-aggfuncs-covar-pop], [fblangref-aggfuncs-var-pop].
REGR_SXX()
DSQL
REGR_SXX(<y>, <x>)
Paramètre | Description |
---|---|
y |
Variable dépendante de la ligne de régression. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression. |
x |
Une variable de ligne de régression indépendante. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression. |
DOUBLE PRECISION
Statistique de diagnostic utilisée pour l’analyse de régression.
La fonction REGR_SXX(<y>, <x>)
est calculée comme suit :
REGR_COUNT(<y>, <x>) * VAR_POP(<exprX>) <exprX> :== CASE WHEN <x> IS NOT NULL AND <y> IS NOT NULL THEN <x> END
[fblangref-aggfuncs-regr-count], [fblangref-aggfuncs-var-pop].
REGR_SXY()
DSQL
REGR_SXY(<y>, <x>)
Paramètre | Description |
---|---|
y |
Variable dépendante de la ligne de régression. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression. |
x |
Une variable de ligne de régression indépendante. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression. |
DOUBLE PRECISION
Statistique de diagnostic utilisée pour l’analyse de régression.
La fonction REGR_SXY(<y>, <x>)
est calculée comme suit :
REGR_COUNT(<y>, <x>) * COVAR_POP(<y>, <x>)
[fblangref-aggfuncs-regr-count], [fblangref-aggfuncs-covar-pop].
REGR_SYY()
DSQL
REGR_SYY(<y>, <x>)
Paramètre | Description |
---|---|
y |
Variable dépendante de la ligne de régression. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression. |
x |
Une variable de ligne de régression indépendante. Peut contenir une colonne de table, une constante, une variable, une expression, une fonction non agrégée ou une UDR qui renvoie un type de données numériques. Les fonctions agrégées ne sont pas autorisées comme expression. |
DOUBLE PRECISION
La statistique de diagnostic utilisée pour l’analyse de régression.
La fonction REGR_SYY(<y>, <x>)
est calculée comme suit :
REGR_COUNT(<y>, <x>) * VAR_POP(<exprY>) <exprY> :== CASE WHEN <x> IS NOT NULL AND <y> IS NOT NULL THEN <y> END
[fblangref-aggfuncs-regr-count], [fblangref-aggfuncs-var-pop].