Rank - Diagrammfunktion
Rank() berechnet die Zeilen des Diagramms in der Formel und zeigt für jede Zeile die relative Position des Wertes der Dimension an, die in der Formel berechnet wird. Beim Auswerten der Formel vergleicht die Funktion ihr Ergebnis mit den Ergebnissen für andere Zeilen innerhalb des Spaltenabschnitts und liefert den Rang der Zeile innerhalb des Spaltenabschnitts.
Bei anderen Diagrammen als Tabellen wird der aktuelle Spaltenabschnitt so definiert, wie er im entsprechenden Tabellendiagramm der Tabelle erscheint.
Syntax:
Rank([TOTAL] expr[, mode[, fmt]])
Return data type: dual
Arguments:
Argument | Beschreibung |
---|---|
expr | Die Formel oder das Feld mit den Daten, die gemessen werden sollen. |
mode | Definiert die numerische Repräsentation des Rangs. |
fmt | Definiert die Textrepräsentation des Rangs. |
TOTAL |
Wenn das Diagramm nur eine Dimension hat oder die Formel mit dem Zusatz TOTAL versehen ist, wird die Funktion über die gesamten Spalte ausgewertet. Hat das Diagramm dagegen mehrere vertikale Dimensionen, so umfasst der Spaltenabschnitt nur Zeilen, deren Werte in allen Dimensionen mit Ausnahme der in der Priorität der Sortierfolgen letzten Dimension ü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 des aktuellen Zeilenabschnitts ausgegeben.
Teilen sich mehrere Zeilen denselben Rang, kann das Ergebnis der Funktion durch die Parameter mode und fmt modifiziert werden.
mode
Das zweite 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 Rangfolge. |
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 dritte 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 Reihenfolge ist die Sortierfolge der Diagrammdimension.
Examples and results:
Erstellen Sie zwei Visualisierungen aus den Dimensionen
Beispiele | Ergebnisse |
---|---|
Beispiel 1. Erstellen Sie eine Tabelle mit den Dimensionen |
Das Ergebnis hängt von der Sortierreihenfolge der Dimensionen ab. Wenn die Tabelle nach Wird die Tabelle nach |
Beispiel 2. Ersetzen Sie die Dimension „Kunde“ durch „Produkt“ und fügen Sie die Kennzahl |
Dadurch ergibt sich für die erste Zeile jedes Spaltenabschnitts 1 und alle anderen Zeilen bleiben leer, da für die Argumente |
Ergebnis aus Beispiel 1, Tabelle sortiert nach
Customer | Sales | Rank(Sales) |
---|---|---|
Astrida | 12 | 10 |
Astrida | 13 | 9 |
Astrida | 20 | 8 |
Astrida | 22 | 7 |
Astrida | 45 | 6 |
Astrida | 46 | 5 |
Astrida | 60 | 4 |
Astrida | 65 | 3 |
Astrida | 70 | 2 |
Astrida | 78 | 1 |
Betcab | 12 | 11 |
Ergebnis aus Beispiel 1, Tabelle sortiert nach
Customer | Sales | Rank(Sales) |
---|---|---|
Astrida | 12 | 1-2 |
Betacab | 12 | 1-2 |
Astrida | 13 | 1 |
Betacab | 15 | 1 |
Astrida | 20 | 1 |
Astrida | 22 | 1-2 |
Betacab | 22 | 1-2 |
Betacab | 24 | 1-2 |
Canutility | 24 | 1-2 |
In Beispielen verwendete Daten:
ProductData:
Load * inline [
Customer|Product|UnitSales|UnitPrice
Astrida|AA|4|16
Astrida|AA|10|15
Astrida|BB|9|9
Betacab|BB|5|10
Betacab|CC|2|20
Betacab|DD|0|25
Canutility|AA|8|15
Canutility|CC|0|19
] (delimiter is '|');
Sales2013:
crosstable (Month, Sales) LOAD * inline [
Customer|Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec
Astrida|46|60|70|13|78|20|45|65|78|12|78|22
Betacab|65|56|22|79|12|56|45|24|32|78|55|15
Canutility|77|68|34|91|24|68|57|36|44|90|67|27
Divadip|57|36|44|90|67|27|57|68|47|90|80|94
] (delimiter is '|');