Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

Top

Top() interpretiert eine Anweisung in der ersten (obersten) Zeile eines Spaltenabschnitts in einer Tabelle. Die Zeile, für welche die Berechnung erfolgt, hängt vom Wert von offset ab; ist dieser vorhanden, wird standardmäßig die oberste Zeile verwendet. In Diagrammen erfolgt anders als in Tabellen mit Top() die Berechnung für die erste Zeile der aktuellen Spalte im entsprechenden Tabellendiagramm.

Syntax:  

Top([TOTAL] expr [ , offset [,count ]])

Rückgabe Datentyp: dual

Argumente:  

  • expr: Die Formel oder das Feld mit den Daten, die gemessen werden sollen.
  • offset: Ist ein offset n größer als 0 angegeben, wird die Formel anhand der Werte von n Zeilen weiter oben berechnet. Bei einem Startwert von 0 wird die Formel anhand der Werte der aktuellen Zeile berechnet. Bei einem negativen Versatzwert verhält sich die Funktion Above wie die Funktion Below mit dem entsprechenden positiven Versatzwert.
  • count: Ist ein drittes Argument count größer als 1 angegeben, liefert die Funktion eine Menge von count Werten, berechnet anhand der count Tabellenzeilen oberhalb der ursprünglichen Zelle. In diesem Formular kann die Funktion als Argument für eine der speziellen Abschnittsfunktionen dienen. Mengenfunktionen
  • TOTAL: Wenn das Diagramm nur eine Dimension hat oder die Formel mit dem Zusatz TOTAL als Argument versehen ist, entspricht der Spaltenabschnitt der gesamten Spalte.

    Definieren des Aggregierungsbereichs

InformationshinweisEin Spaltenabschnitt ist als aufeinanderfolgende Teilmenge an Zellen definiert, welche dieselben Werte für die Dimensionen in der aktuellen Sortierreihenfolge besitzen. Inter-Record-Diagrammfunktionen werden im Spaltenabschnitt berechnet, wobei die rechts außen stehende Dimension im entsprechenden Tabellendiagramm ausgeschlossen wird. Befindet sich nur eine Dimension im Diagramm oder wird der Zusatz TOTAL angegeben, erfolgt die Berechnung über die gesamte Tabelle.
InformationshinweisHat 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.

Beschränkungen:  

  • Das Sortieren nach y-Werten in Diagrammen oder nach Formelspalten in Tabellen ist nicht zulässig, wenn diese Diagrammfunktion in einer der Diagrammformeln verwendet wird. Diese Sortierungsoptionen werden daher automatisch deaktiviert. Wenn Sie diese Diagrammfunktion in einer Visualisierung oder Tabelle verwenden, wird die Sortierung der Visualisierung auf die sortierte Eingabe dieser Funktion zurückgesetzt.

  • Die Rekursion liefert NULL.

Beispiele und Ergebnisse:  

Beispiel 1:  

Beispiel-Tabellenausgabe
Customer Sum(Sales) Top(Sum(Sales)) Sum(Sales) + Top(Sum(Sales)) Top offset 3
  2566 587 3153 3249
Astrida58758711741270
Betacab53958711261222
Canutility68358712701366
Divadip75758713441440

In der Darstellung des in diesem Beispiel gezeigten Tabellendiagramms wird die Tabelle aus der Dimension Customer und den Kennzahlen Sum(Sales) und Top(Sum(Sales)) erstellt.

Die Spalte Top(Sum(Sales)) gibt 587 für alle Zeilen zurück, weil dies der Wert für die oberste Zeile ist: Astrida.

In der Tabelle werden auch komplexere Kennzahlen angezeigt: eine erstellt aus Sum(Sales)+Top(Sum(Sales)) und eine beschriftet mit Top offset 3, die mithilfe der Formel Sum(Sales)+Top(Sum(Sales), 3) erstellt wird und über das Argument offset mit der Einstellung 3 verfügt. Sie fügt den Wert Sum(Sales) für die aktuelle Zeile zum Wert aus der dritten Zeile unter der obersten Zeile hinzu, d. h. die aktuelle Zeile plus den Wert für Canutility.

Beispiel 2:  

In den Darstellungen der in diesem Beispiel gezeigten Tabellendiagramme wurden zu den Diagrammen weitere Dimensionen hinzugefügt: Month und Product. Bei Diagrammen mit mehr als einer Dimension hängt das Ergebnis der Formeln, welche die Funktionen Above, Below, Top und Bottom beinhalten, von der Reihenfolge ab, in der die Spaltendimensionen von QlikView sortiert werden. QlikView evaluiert die Funktionen auf Grundlage der Spaltenabschnitte, die sich aus der zuletzt sortierten Dimension ergeben haben. Die Sortierreihenfolge der Spalten kann unter Sortierung festgelegt werden und stimmt nicht zwangsläufig mit der Reihenfolge überein, in der die Spalten in der Tabelle angezeigt werden. (Um Platz zu sparen, werden manche Zeilen nicht angezeigt.)

Beispiel erste Tabellenausgabe
Customer Product Month Sum(Sales) First value
      2566 -
AstridaAAJan4646
AstridaAAFeb6046
AstridaAAMar7046
...............
AstridaAASep7846
AstridaAAOct1246
AstridaAANov7846
AstridaAADec2246
AstridaBBJan4646
Beispiel zweite Tabellenausgabe
Customer Product Month Sum(Sales) First value
      2566 -
AstridaAAJan4646
AstridaBBJan4646
AstridaAAFeb6060
AstridaBBFeb6060
AstridaAAMar7070
AstridaBBMar7070
AstridaAAApr1313
AstridaBBApr1313

Siehe Beispiel: 2 in der Funktion Above für weitere Details.

Beispiel 3:  

Die Funktion Top kann als Input für die Abschnittsfunktionen verwendet werden. Hier ein Beispiel: RangeAvg (Top(Sum(Sales),1,3)).

In den Argumenten für die Funktion Top() wird offset auf 1 und auf count gesetzt. Die Funktion ermittelt die Ergebnisse der Formel Sum(Sales) zu den drei Zeilen, beginnend bei der Zeile unterhalb der untersten Zeile im Spaltenabschnitt (weil offset=1), und den zwei Zeilen darunter (sofern Zeilen vorhanden sind). Diese drei Werte werden als Input für die Funktion RangeAvg() verwendet, die den Durchschnitt der Werte in der gelieferten Menge an Zahlen ermittelt.

Eine Tabelle mit Customer als Dimension liefert folgende Ergebnisse für die Formel RangeAvg().

Beispiel-Tabellenausgabe
Customer RangeAvg (Top(Sum(Sales),1,3))
Astrida 603
Betacab603
Canutility603
Divadip603

In Beispielen verwendete Daten:

Monthnames:

LOAD * INLINE [

Month, Monthnumber

Jan, 1

Feb, 2

Mar, 3

Apr, 4

May, 5

Jun, 6

Jul, 7

Aug, 8

Sep, 9

Oct, 10

Nov, 11

Dec, 12

];

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

Damit die Monate in der richtigen Reihenfolge sortiert werden, gehen Sie beim Erstellen von Diagrammen folgendermaßen vor: Rufen Sie die Registerkarte Sort der Diagrammeigenschaften auf und markieren Sie das KontrollkästchenExpression unter Sort by. Schreiben Sie in das Formelfeld Monthnumber.

Hat diese Seite Ihnen geholfen?

Wenn Sie ein Problem mit dieser Seite oder ihrem Inhalt feststellen, sei es ein Tippfehler, ein ausgelassener Schritt oder ein technischer Fehler, informieren Sie uns bitte!

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