Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

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]])

Rückgabe Datentyp: dual

Argumente:  

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

    Definieren des Aggregierungsbereichs

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:

Werte zweites Argument
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:

Werte drittes Argument
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.

Beispiele und Ergebnisse:  

Erstellen Sie zwei Diagramme aus den Dimensionen Product und Sales und eine weitere aus Product und UnitSales. Fügen Sie, wie in der folgenden Tabelle gezeigt, Kennzahlen hinzu.

Beispiel 1:  

Erstellen Sie eine Tabelle mit den Dimensionen Customer und Sales und der Kennzahl Rank(Sales).

Das Ergebnis hängt von der Sortierreihenfolge der Dimensionen ab. Ist die Tabelle nach Customer sortiert, werden in der Tabelle zunächst alle Werte von Sales für Astrida, dann für Betacab usw. aufgelistet. Die Ergebnisse für Rank(Sales) zeigen 10 für den Sales-Wert 12, 9 für den Sales-Wert 13 usw., wobei sich der Rangwert 1 für den Sales-Wert 78 ergibt. Der nächste Spaltenabschnitt beginnt mit Betacab, für den der erste Wert von Sales im Segment 12 ist. Für den Rangwert von Rank(Sales) ergibt sich 11.

Wird die Tabelle nach Sales sortiert, bestehen die Spaltenabschnitte aus den Werten von Sales und dem entsprechenden Customer. Weil es zwei Sales-Werte von 12 gibt (für Astrida und Betacab), ergibt sich für den Wert von Rank(Sales) für jeden Wert von Customer dieses Spaltenabschnitts 1–2. Grund hierfür ist, dass es zwei Werte von Customer gibt, bei denen der Sales-Wert 12 beträgt. Im Fall von 4 Werten wäre das Ergebnis für alle Zeilen 1–4. Hier wird gezeigt, wie das Ergebnis für den Standardwert (0) des Arguments fmt aussieht.

Beispiel 2:  

Ersetzen Sie die Dimension "Kunde" durch "Produkt" und fügen Sie die KennzahlRank(Sales,1,2) hinzu.

Dadurch ergibt sich für die erste Zeile jedes Spaltenabschnitts 1 und alle anderen Zeilen bleiben leer, da für die Argumente mode und fmt 1 bzw. 2 gewählt wurde.

 

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 '|');

 

Weitere Informationen

 

Hat diese Seite Ihnen geholfen?

Wenn Sie Probleme mit dieser Seite oder ihren Inhalten feststellen – einen Tippfehler, einen fehlenden Schritt oder einen technischen Fehler –, teilen Sie uns bitte mit, wie wir uns verbessern können!

Nehmen Sie am Analyse-Modernisierungsprogramm teil

Remove banner from view

Modernisieren Sie mit dem Analyse-Modernisierungsprogramm, ohne Ihre wertvollen QlikView-Apps zu gefährden. Klicken Sie hier für weitere Informationen oder kontaktieren Sie uns: ampquestions@qlik.com