Kategorien:

Aggregatfunktionen (Allgemein), Fensterfunktionen

KURTOSIS

Gibt den Exzess (Überkurtosis) der Population von Nicht-NULL-Datensätzen zurück. Wenn alle Datensätze in einer Gruppe NULL sind, gibt die Funktion NULL zurück.

Die folgende Formel wird verwendet, um den Exzess der Population zu berechnen:

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

Wobei:

  • \(n\) gibt die Anzahl der Nicht-Null-Datensätze an.

  • \(m_4\) bezeichnet das vierte zentrale Moment der Stichprobe.

  • \(k_2\) bezeichnet den symmetrischen, unverzerrten Schätzer der Varianz.

Syntax

Aggregatfunktion

KURTOSIS( <expr> )
Copy

Fensterfunktionen

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

Argumente

expr

Dies ist ein Ausdruck, der einen numerischen Datentyp ergibt (INTEGER, FLOAT, DECIMAL usw.).

expr2

Der Ausdruck, der die einzelnen Gruppen oder Fenster definiert.

Rückgabewerte

Gibt DOUBLE zurück, wenn der Eingabedatentyp DOUBLE/FLOAT ist.

Gibt DECIMAL zurück, wenn der Eingabedatentyp ein anderer numerischer Datentyp ist.

Nutzungshinweise

  • Bei Eingaben mit weniger als vier Datensätzen gibt KURTOSIS den Wert NULL zurück.

  • Bei Verwendung als Fensterfunktion unterstützt diese Funktion Folgendes nicht:

    • ORDER BY-Unterklausel in der OVER()-Klausel

    • Fensterrahmen

Beispiele

Erstellen Sie einer Tabelle und Laden der Daten:

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);
Copy

Zeigen Sie die Daten an:

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 |
+---+-------+-------+
Copy

Fragen Sie die Daten ab:

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