Catégories :

Fonctions d’agrégation (général) , Fonctions de la fenêtre

KURTOSIS

Renvoie le kurtosis de la population des enregistrements non NULL. Si tous les enregistrements d’un groupe sont NULL, la fonction renvoie NULL.

La formule suivante est utilisée pour calculer le kurtosis de la population :

\[(n * (n+1))/((n-1) * (n-2) * (n-3)) * (n * m_4/(k_2)^2) - 3 * (n-1)^2 / ((n-2) * (n-3))\]

où :

  • \(n\) désigne le nombre d’enregistrements non nuls.

  • \(m_4\) désigne le quatrième moment centré de l’échantillon.

  • \(k_2\) désigne l’estimateur non biaisé symétrique de la variance.

Syntaxe

Fonction d’agrégation

KURTOSIS( <expr> )

Fonction de fenêtre

KURTOSIS( <expr> ) OVER ( [ PARTITION BY <expr2> ] )

Arguments

expr

L’expression est une expression qui correspond à un type de données numérique (INTEGER, FLOAT, DECIMAL, etc.).

expr2

L’expression qui définit les groupes individuels ou les fenêtres.

Renvoie

Renvoie DOUBLE si le type de données en entrée est DOUBLE/FLOAT.

Renvoie DECIMAL si le type de données en entrée est un autre type de données numérique.

Notes sur l’utilisation

  • KURTOSIS renvoie NULL pour les entrées comportant moins de quatre enregistrements.

  • Lorsqu’elle est utilisée comme fonction de fenêtre, cette fonction ne prend pas en charge :

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

    • Cadres de fenêtre.

Exemples

Créer une table et charger les données :

create or replace table aggr(k int, v decimal(10,2), v2 decimal(10, 2));

insert into aggr values
    (1, 10, null),
    (2, 10, 12),
    (2, 20, 22),
    (2, 25, null),
    (2, 30, 35);

Afficher les données :

select *
    from aggr
    order by k, v;
+---+-------+-------+
| K |     V |    V2 |
|---+-------+-------|
| 1 | 10.00 |  NULL |
| 2 | 10.00 | 12.00 |
| 2 | 20.00 | 22.00 |
| 2 | 25.00 |  NULL |
| 2 | 30.00 | 35.00 |
+---+-------+-------+

Interroger les données :

select KURTOSIS(K), KURTOSIS(V), KURTOSIS(V2) 
    from aggr;
+----------------+-----------------+--------------+
|    KURTOSIS(K) |     KURTOSIS(V) | KURTOSIS(V2) |
|----------------+-----------------+--------------|
| 5.000000000000 | -2.324218750000 |         NULL |
+----------------+-----------------+--------------+