RATIOFensterfunktion _TO_ REPORT - Amazon Redshift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

RATIOFensterfunktion _TO_ REPORT

Berechnet das Verhältnis eines Werts zur Summe der Werte in einem Fenster oder einer Partition. Der RATIO_TO_REPORT-Wert wird anhand der folgenden Formel festgelegt:

value of ratio_expression argument for the current row / sum of ratio_expression argument for the window or partition

Der folgende Datensatz zeigt die Verwendung dieser Formel:

Row# Value Calculation RATIO_TO_REPORT 1 2500 (2500)/(13900) 0.1798 2 2600 (2600)/(13900) 0.1870 3 2800 (2800)/(13900) 0.2014 4 2900 (2900)/(13900) 0.2086 5 3100 (3100)/(13900) 0.2230

Der Rückgabewertbereich ist 0 bis 1 (einschließlich). Wenn ratio_expression istNULL, dann ist der Rückgabewert. NULL Wenn ein Wert in partition_expression eindeutig ist, gibt die Funktion für diesen Wert 1 zurück.

Syntax

RATIO_TO_REPORT ( ratio_expression ) OVER ( [ PARTITION BY partition_expression ] )

Argumente

ratio_expression

Ein Ausdruck (beispielsweise ein Spaltenname), der den Wert bereitstellt, für den das Verhältnis ermittelt werden soll. Der Datentyp des Ausdrucks muss entweder numerisch sein oder implizit in einen solchen konvertierbar sein.

Sie können in ratio_expression keine anderen analytischen Funktionen verwenden.

OVER

Eine Klausel, die die Fensterpartitionierung angibt. Die OVER Klausel darf keine Fensterreihenfolge oder Fensterrahmenspezifikation enthalten.

PARTITIONVON partition_expression

Optional. Ein Ausdruck, der den Datensatzbereich für jede Gruppe in der Klausel festlegt. OVER

Rückgabetyp

FLOAT8

Beispiele

In den folgenden Beispielen wird die WINSALES Tabelle verwendet. Hinweise zum Erstellen der WINSALES Tabelle finden Sie unterBeispieltabelle mit Beispielen von Fensterfunktionen.

Im folgenden Beispiel wird der ratio-to-report Wert jeder Zeile mit der Menge eines Verkäufers als Summe aller Mengen des Verkäufers berechnet.

select sellerid, qty, ratio_to_report(qty) over() from winsales order by sellerid; sellerid qty ratio_to_report -------------------------------------- 1 30 0.13953488372093023 1 10 0.046511627906976744 1 10 0.046511627906976744 2 20 0.09302325581395349 2 20 0.09302325581395349 3 30 0.13953488372093023 3 20 0.09302325581395349 3 15 0.06976744186046512 3 10 0.046511627906976744 4 10 0.046511627906976744 4 40 0.18604651162790697

Im folgenden Beispiel werden die Verhältnisse der Verkaufsmengen für die einzelnen Verkäufer nach Partition berechnet.

select sellerid, qty, ratio_to_report(qty) over(partition by sellerid) from winsales; sellerid qty ratio_to_report ------------------------------------------- 2 20 0.5 2 20 0.5 4 40 0.8 4 10 0.2 1 10 0.2 1 30 0.6 1 10 0.2 3 10 0.13333333333333333 3 15 0.2 3 20 0.26666666666666666 3 30 0.4