Kategorien:

Aggregationsfunktionen (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> )
Copy

Argumente

state

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

percentile

Ein konstanter tatsächlicher Wert, der größer gleich 0.0 und kleiner als 1.0 ist. Dieser Wert gibt das Perzentil von 0 bis 99,999… an (z. B. gibt der Wert 0,65 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 testtable);
    
    Copy
  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;
    
    Copy

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