# 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.

Partitionen in einer Tabelle

Partitionen in einer Tabelle

Partitionen in einer Tabelle ![Eine Tabelle mit angezeigten Spaltensegmenten](https://help.qlik.com/de-DE/sense/May2025/Subsystems/Hub/Content/Resources/Images/table_column_segments.png)

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:

Argumente

| Argument | Beschreibung |
| --- | --- |
| mode | Gibt optional die numerische Darstellung des Funktionsergebnisses an. |
| fmt | Gibt optional die Textdarstellung des Funktionsergebnisses an. |

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:

modemode-Werte

| 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.<br><br>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.<br><br>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:

fmtfmt-Werte

| 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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/WindowFunctions/WRank.htm)

#### Beispiel: Hinzufügen eines Felds mit Rangfolge

Ladeskript

Erstellen Sie eine neue Registerkarte im Dateneditor und laden Sie die folgenden Daten als Inline-Ladevorgang: Erstellen Sie die Tabelle unten in Qlik Sense, um die Ergebnisse anzuzeigen.

```
Transactions:
Load
*,
Window(WRank(0),customer_id, 'Desc', transaction_amount) as TransactionRanking;

Load * Inline [
transaction_id, transaction_date, transaction_amount, transaction_quantity, customer_id, size, color_code
3750, 20180830, 23.56, 2, 2038593, L, Red
3751, 20180907, 556.31, 6, 203521, M, Orange
3752, 20180916, 5.75, 1, 5646471, S, Blue
3753, 20180922, 125.00, 7, 3036491, L, Black
3754, 20180922, 484.21, 13, 049681, XS, Red
3756, 20180922, 59.18, 2, 2038593, M, Blue
3757, 20180923, 177.42, 21, 203521, XL, Black
3758, 20180924, 153.42, 14, 2038593, L, Red
3759, 20180925, 7.42, 5, 203521, M, Orange
3760, 20180925, 80.12, 18, 5646471, M, Blue
3761, 20180926, 3.42, 7, 3036491, XS, Black
3763, 20180926, 63.55, 12, 049681, S, Red
3763, 20180927, 177.56, 10, 2038593, L, Blue
3764, 20180927, 325.95, 8, 203521, XL, Black
];
 
```

Ergebnisse

Ergebnisse für das Hinzufügen eines Felds mit Rangfolge

| transaction\_id | transaction\_date | transaction\_amount | transaction\_quantity | customer\_id | size | color\_code | TransactionRanking |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 3750 | 20180830 | 23.56 | 2 | 2038593 | L | Rot | 4-4 |
| 3751 | 20180907 | 556.31 | 6 | 203521 | M | Orange | 1-1 |
| 3752 | 20180916 | 5.75 | 1 | 5646471 | S | Blau | 2-2 |
| 3754 | 20180922 | 484.21 | 13 | 049681 | XS | Rot | 1-1 |
| 3756 | 20180922 | 59.18 | 2 | 2038593 | M | Blau | 3-3 |
| 3753 | 20180922 | 125.00 | 7 | 3036491 | L | Schwarz | 1-1 |
| 3757 | 20180923 | 177.42 | 21 | 203521 | XL | Schwarz | 3-3 |
| 3758 | 20180924 | 153.42 | 14 | 2038593 | L | Rot | 2-2 |
| 3759 | 20180925 | 7.42 | 5 | 203521 | M | Orange | 4-4 |
| 3760 | 20180925 | 80.12 | 18 | 5646471 | M | Blau | 1-1 |
| 3763 | 20180926 | 63.55 | 12 | 049681 | S | Rot | 2-2 |
| 3761 | 20180926 | 3.42 | 7 | 3036491 | XS | Schwarz | 2-2 |
| 3764 | 20180927 | 325.95 | 8 | 203521 | XL | Schwarz | 2-2 |
| 3763 | 20180927 | 177.56 | 10 | 2038593 | L | Blau | 1-1 |

## Beispiel: Hinzufügen eines Felds mit Rangfolge mithilfe von fmt für ein einstelliges Ergebnis

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/WindowFunctions/WRank.htm)

#### Beispiel: Hinzufügen eines Felds mit Rangfolge mithilfe von fmt für ein einstelliges Ergebnis

Ladeskript

Erstellen Sie eine neue Registerkarte im Dateneditor und laden Sie die folgenden Daten als Inline-Ladevorgang: Erstellen Sie die Tabelle unten in Qlik Sense, um die Ergebnisse anzuzeigen.

```
Transactions:
Load
*,Window(WRank(0,1),customer_id, 'Desc', transaction_amount) as TransactionRanking;

Load * Inline [
transaction_id, transaction_date, transaction_amount, transaction_quantity, customer_id, size, color_code
3750, 20180830, 23.56, 2, 2038593, L, Red
3751, 20180907, 556.31, 6, 203521, M, Orange
3752, 20180916, 5.75, 1, 5646471, S, Blue
3753, 20180922, 125.00, 7, 3036491, L, Black
3754, 20180922, 484.21, 13, 049681, XS, Red
3756, 20180922, 59.18, 2, 2038593, M, Blue
3757, 20180923, 177.42, 21, 203521, XL, Black
3758, 20180924, 153.42, 14, 2038593, L, Red
3759, 20180925, 7.42, 5, 203521, M, Orange
3760, 20180925, 80.12, 18, 5646471, M, Blue
3761, 20180926, 3.42, 7, 3036491, XS, Black
3763, 20180926, 63.55, 12, 049681, S, Red
3763, 20180927, 177.56, 10, 2038593, L, Blue
3764, 20180927, 325.95, 8, 203521, XL, Black
];
 
```

Ergebnisse

Ergebnisse für das Hinzufügen eines Felds mit Rangfolge mithilfe von fmtfmt für ein einstelliges Ergebnis

| transaction\_id | transaction\_date | transaction\_amount | transaction\_quantity | customer\_id | size | color\_code | TransactionRanking |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 3750 | 20180830 | 23.56 | 2 | 2038593 | L | Rot | 4 |
| 3751 | 20180907 | 556.31 | 6 | 203521 | M | Orange | 1 |
| 3752 | 20180916 | 5.75 | 1 | 5646471 | S | Blau | 2 |
| 3754 | 20180922 | 484.21 | 13 | 049681 | XS | Rot | 1 |
| 3756 | 20180922 | 59.18 | 2 | 2038593 | M | Blau | 3 |
| 3753 | 20180922 | 125.00 | 7 | 3036491 | L | Schwarz | 1 |
| 3757 | 20180923 | 177.42 | 21 | 203521 | XL | Schwarz | 3 |
| 3758 | 20180924 | 153.42 | 14 | 2038593 | L | Rot | 2 |
| 3759 | 20180925 | 7.42 | 5 | 203521 | M | Orange | 4 |
| 3760 | 20180925 | 80.12 | 18 | 5646471 | M | Blau | 1 |
| 3763 | 20180926 | 63.55 | 12 | 049681 | S | Rot | 2 |
| 3761 | 20180926 | 3.42 | 7 | 3036491 | XS | Schwarz | 2 |
| 3764 | 20180927 | 325.95 | 8 | 203521 | XL | Schwarz | 2 |
| 3763 | 20180927 | 177.56 | 10 | 2038593 | L | Blau | 1 |

## Beispiel: Hinzufügen eines Felds mit Rangfolge mit mehreren Partitionen

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/WindowFunctions/WRank.htm)

#### Beispiel: Hinzufügen eines Felds mit Rangfolge mit mehreren Partitionen

Ladeskript

Erstellen Sie eine neue Registerkarte im Dateneditor und laden Sie die folgenden Daten als Inline-Ladevorgang: Erstellen Sie die Tabelle unten in Qlik Sense, um die Ergebnisse anzuzeigen.

```
Transactions:
Load
*,Window(WRank(0,1),customer_id, size, color_code, 'Desc', transaction_amount) as TransactionRanking;

Load * Inline [
transaction_id, transaction_date, transaction_amount, transaction_quantity, customer_id, size, color_code
3750, 20180830, 23.56, 2, 2038593, L, Red
3751, 20180907, 556.31, 6, 203521, M, Orange
3752, 20180916, 5.75, 1, 5646471, S, Blue
3753, 20180922, 125.00, 7, 3036491, L, Black
3754, 20180922, 484.21, 13, 049681, XS, Red
3756, 20180922, 59.18, 2, 2038593, M, Blue
3757, 20180923, 177.42, 21, 203521, XL, Black
3758, 20180924, 153.42, 14, 2038593, L, Red
3759, 20180925, 7.42, 5, 203521, M, Orange
3760, 20180925, 80.12, 18, 5646471, M, Blue
3761, 20180926, 3.42, 7, 3036491, XS, Black
3763, 20180926, 63.55, 12, 049681, S, Red
3763, 20180927, 177.56, 10, 2038593, L, Blue
3764, 20180927, 325.95, 8, 203521, XL, Black
];
 
```

Ergebnisse

Ergebnisse für das Hinzufügen eines Felds mit Rangfolge mithilfe von fmtfmt für ein einstelliges Ergebnis

| transaction\_id | transaction\_date | transaction\_amount | transaction\_quantity | customer\_id | size | color\_code | TransactionRanking |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 3750 | 20180830 | 23.56 | 2 | 2038593 | L | Rot | 2 |
| 3751 | 20180907 | 556.31 | 6 | 203521 | M | Orange | 1 |
| 3752 | 20180916 | 5.75 | 1 | 5646471 | S | Blau | 1 |
| 3754 | 20180922 | 484.21 | 13 | 049681 | XS | Rot | 1 |
| 3756 | 20180922 | 59.18 | 2 | 2038593 | M | Blau | 1 |
| 3753 | 20180922 | 125.00 | 7 | 3036491 | L | Schwarz | 1 |
| 3757 | 20180923 | 177.42 | 21 | 203521 | XL | Schwarz | 2 |
| 3758 | 20180924 | 153.42 | 14 | 2038593 | L | Rot | 1 |
| 3759 | 20180925 | 7.42 | 5 | 203521 | M | Orange | 2 |
| 3760 | 20180925 | 80.12 | 18 | 5646471 | M | Blau | 1 |
| 3763 | 20180926 | 63.55 | 12 | 049681 | S | Rot | 1 |
| 3761 | 20180926 | 3.42 | 7 | 3036491 | XS | Schwarz | 1 |
| 3764 | 20180927 | 325.95 | 8 | 203521 | XL | Schwarz | 1 |
| 3763 | 20180927 | 177.56 | 10 | 2038593 | L | Blau | 1 |

## 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.