Catégories :

Fonctions d’agrégation (estimation du centile), Fonctions de la fenêtre

APPROX_PERCENTILE_ESTIMATE

Renvoie la valeur approximative du centile souhaité pour l’état t-Digest spécifié.

Un état t-Digest produit par APPROX_PERCENTILE_ACCUMULATE et APPROX_PERCENTILE_COMBINE peut être utilisé pour calculer une estimation du centile à l’aide de cette fonction.

En tant que tel, APPROX_PERCENTILE_ESTIMATE(APPROX_PERCENTILE_ACCUMULATE(…)) équivaut à APPROX_PERCENTILE(…).

Voir aussi :

APPROX_PERCENTILE , APPROX_PERCENTILE_ACCUMULATE , APPROX_PERCENTILE_COMBINE

Syntaxe

APPROX_PERCENTILE_ESTIMATE( <state> , <percentile> )
Copy

Arguments

state

Expression contenant des informations d’état générées par un appel à APPROX_PERCENTILE_ACCUMULATE ou APPROX_PERCENTILE_COMBINE.

percentile

Une valeur réelle constante supérieure ou égale à 0.0 et inférieure à 1.0. Cette valeur indique le centile de 0 à 99,999… (par exemple, la valeur 0,65 indique le 65e centile).

Exemple

Envisagez un scénario dans lequel vous devez faire l’approximation de plusieurs valeurs de centile à partir d’un ensemble de nombres donné. Cela peut être fait en créant l’état, puis en utilisant APPROX_PERCENTILE_ESTIMATE pour calculer tous les centiles :

  1. Tout d’abord, stockez l’état :

    CREATE OR REPLACE TABLE resultstate AS (SELECT APPROX_PERCENTILE_ACCUMULATE(c1) s FROM testtable);
    
    Copy
  2. Puis, interrogez l’état de plusieurs centiles :

    SELECT APPROX_PERCENTILE_ESTIMATE(s , 0.01),
           APPROX_PERCENTILE_ESTIMATE(s , 0.15),
           APPROX_PERCENTILE_ESTIMATE(s , 0.845)
    FROM testtable;
    
    Copy

Pour un exemple plus détaillé, voir la section Exemples dans APPROX_PERCENTILE_ACCUMULATE.