WRank – Skriptfunktion
WRank() wertet die Zeilen einer Tabelle im Ladeskript aus und zeigt für jede Zeile die relative Position des Wertes des Felds an, das im Ladeskript ausgewertet wird. Beim Auswerten der Tabelle vergleicht die Funktion das Ergebnis mit den Ergebnissen der anderen Zeilen, die die aktuelle Partition enthalten, und liefert den Rang der aktuellen Zeile innerhalb des Segments.
WRank kann nur in einer Window-Funktion verwendet werden. Die Window-Funktion muss einen Sortiertyp und eine Sortierformel enthalten. Die Rangfolge wird auf die Sortierformel angewendet.
Syntax:
WRank ([mode[, fmt]])
Rückgabe Datentyp: dual
Argumente:
Argument | Beschreibung |
---|---|
mode | Gibt optional die numerische Darstellung des Funktionsergebnisses an. |
fmt | Gibt optional die Textdarstellung des Funktionsergebnisses an. |
TOTAL |
Wenn die Tabelle nur eine Dimension hat oder dem Skript der Qualifizierer TOTAL vorangestellt ist, wird die Funktion über die gesamte Spalte ausgewertet. Hat die Tabelle oder Tabellenentsprechung mehrere vertikale Dimensionen, so umfasst die aktuelle Partition nur Zeilen, deren Werte in allen Dimensionsspalten mit Ausnahme der letzten Dimension in der Sortierfolge zwischen den Feldern mit der aktuellen Zeile übereinstimmen. |
Der Rang ist eine duale Größe. Hat jede Spalte einen eindeutigen Rang, wird dieser als ganze Zahl zwischen 1 und der Zahl der Zeilen der aktuellen Partition ausgegeben.
Teilen sich mehrere Zeilen denselben Rang, kann das Ergebnis der Funktion durch die Parameter mode und fmt modifiziert werden.
mode
Das erste Argument mode kann folgende Werte annehmen:
Wert | Beschreibung |
---|---|
0 (Standard) |
Fallen die Ränge alle unterhalb des mittleren Ranges der gesamten Rangfolge, erhalten alle Zeilen der Gruppe den geringsten innerhalb dieser Gruppe auftretenden Rang. Fallen die Ränge alle oberhalb des mittleren Ranges der gesamten Rangfolge, erhalten alle Zeilen der Gruppe den höchsten innerhalb dieser Gruppe auftretenden Rang. Geht die Gruppe der Zeilen gleichen Rangs über den mittleren Rang der gesamten Rangfolge hinweg, erhalten alle Zeilen der Gruppe den mittleren Rang der gesamten Partition. |
1 | Alle Zeilen erhalten den niedrigsten Rang. |
2 | Alle Zeilen erhalten den mittleren Rang. |
3 | Alle Zeilen erhalten den höchsten Rang. |
4 | Die erste Zeile erhält den niedrigsten Rang, für die Ränge nachfolgender Zeilen wird jeweils eins addiert. |
fmt
Das zweite Argument fmt kann folgende Werte annehmen:
Wert | Beschreibung |
---|---|
0 (Standard) | Niedrigster Wert - höchster Wert in allen Zeilen (z. B. 3 - 4). |
1 | Niedrigster Wert in allen Zeilen. |
2 | Niedrigster Wert in der ersten Zeile, leere Zeilen in allen weiteren Zeilen. |
Die für mode 4 und fmt 2 maßgebliche Zeilenreihenfolge wird von der Ladereihenfolge der Tabellenfelder bestimmt.
Beispiel: Hinzufügen eines Felds mit Rangfolge
Beispiel: Hinzufügen eines Felds mit Rangfolge mithilfe von fmt für ein einstelliges Ergebnis
Beispiel: Hinzufügen eines Felds mit Rangfolge mit mehreren Partitionen
Beschränkungen
WRank weist die folgenden Beschränkungen auf:
-
Wenn Ihr fmt-Wert 0 ist und Sie den Textteil des dualen Ergebnisses für WRank verwenden möchten, müssen Sie Text() mit Window(WRank) verwenden. Hier ein Beispiel: Text(Window(WRank(0), Unit, 'DESC', Age)) as UnitWRankedByAgeText.