Kategorien:

Aggregatfunktionen (Perzentilschätzung), Fensterfunktionen

APPROX_PERCENTILE_ESTIMATE

Gibt den gewünschten ungefähren Perzentilwert für den angegebenen t-Digest-status zurück.

Ein durch APPROX_PERCENTILE_ACCUMULATE und APPROX_PERCENTILE_COMBINE erzeugter t-Digest-Status kann verwendet werden, um mit dieser Funktion eine Perzentilschätzung zu berechnen.

Somit ist APPROX_PERCENTILE_ESTIMATE(APPROX_PERCENTILE_ACCUMULATE(…)) äquivalent zu APPROX_PERCENTILE(…).

Siehe auch:

APPROX_PERCENTILE , APPROX_PERCENTILE_ACCUMULATE , APPROX_PERCENTILE_COMBINE

Syntax

APPROX_PERCENTILE_ESTIMATE( <state> , <percentile> )

Argumente

Status

Ein Ausdruck, der Statusinformationen enthält, die durch einen Aufruf von APPROX_PERCENTILE_ACCUMULATE oder APPROX_PERCENTILE_COMBINE generiert wurden.

Perzentil

Ein konstanter tatsächlicher Wert, der größer gleich 0.0 und kleiner als 1.0 ist. Dies gibt das Perzentil an (von 0 bis 99,999…). Beispiel: Der Wert 0,65 gibt das 65. Perzentil an.

Beispiel

Stellen Sie sich ein Szenario vor, in dem Sie mehrere Perzentilwerte aus einer bestimmten Menge von Zahlen approximieren müssen. Dazu können Sie den Status erstellen und dann mithilfe von APPROX_PERCENTILE_ESTIMATE alle Perzentile berechnen:

  1. Speichern Sie zuerst den Status:

    CREATE OR REPLACE TABLE resultstate AS (SELECT APPROX_PERCENTILE_ACCUMULATE(c1) s FROM TABLE testtable);
    
  2. Fragen Sie dann den Status für verschiedene Perzentile ab:

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

Ein ausführlicheres Beispiel finden Sie im Abschnitt „Beispiele“ unter APPROX_PERCENTILE_ACCUMULATE.