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