Above - Diagrammfunktion
Above() interpretiert eine Formel in einer Zeile über der aktuellen Zeile innerhalb 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 Zeile direkt darüber verwendet. In Diagrammen wird anders als in Tabellen mit Above() die Zeile über der aktuellen Zeile im entsprechenden Tabellendiagramm interpretiert.
Syntax:
Above([TOTAL] expr [ , offset [,count]])
Rückgabe Datentyp: dual
Argumente:
Argument | Beschreibung |
---|---|
expr | Die Formel oder das Feld mit den Daten, die gemessen werden sollen. |
offset |
Ist ein offsetn 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 Startwert verhält sich die Funktion Above wie die Funktion Below mit dem entsprechenden positiven Startwert. |
count |
Ist ein drittes Argument count größer als 1 angegeben, liefert die Funktion eine Menge von count-Werten, berechnet anhand der count-Zeilen oberhalb bis einschließlich der aktuellen Zeile. In diesem Formular kann die Funktion als Argument für eine der speziellen Abschnittsfunktionen dienen. Bereichsfunktionen |
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. |
In der ersten Zeile eines Spaltenabschnitts ist das Ergebnis NULL, da davor keine Zeile existiert.
Beschränkungen:
-
Die Rekursion liefert NULL.
-
Wenn diese Diagrammfunktion in einer der Formeln des Diagramms verwendet wird, dürfen Diagramme nicht nach y-Werten und Tabellen nicht nach Formelspalten sortiert werden. Diese Sortierungsoptionen werden daher automatisch deaktiviert. Wenn Sie diese Diagrammfunktion in einer Visualisierung oder Tabelle verwenden, wird die Sortierung auf die sortierte Eingabe in dieser Funktion zurückgesetzt.
Beispiele und Ergebnisse:
Beispiel 1:
Im Screenshot der in diesem Beispiel gezeigten Tabelle wird die Tabellenvisualisierung aus der Dimension Customer und den folgenden Kennzahlen erstellt: Sum(Sales) und Above(Sum(Sales)).
Die Spalte Above(Sum(Sales)) gibt NULL für die Zeile Customer mit Astrida aus, da dies die erste Zeile ist. Das Ergebnis für die Zeile Betacab zeigt den Wert von Sum(Sales) für Astrida an, das Ergebnis für Canutility zeigt den Wert von Sum(Sales) für Betacab an usw.
Für die Spalte mit der Beschriftung Sum(Sales)+Above(Sum(Sales)) wird in der Zeile für Betacab das Ergebnis der Addition der Werte Sum(Sales) für die Zeilen Betacab + Astrida (539+587) angezeigt. Das Ergebnis für die ZeileCanutility ist die Addition der Werte Sum(Sales) für Canutility + Betacab (683+539).
Die Kennzahl mit der Beschriftung Above offset 3, die mithilfe der Formel Sum(Sales)+Above(Sum(Sales), 3) erstellt wurde, verfügt über das Argument offset mit der Einstellung 3 und wählt den Wert drei Zeilen oberhalb der aktuellen Zeile aus. Sie fügt den Wert Sum(Sales) für die aktuelle Auswahl von Customer zum Wert für Customer drei Zeilen darüber hinzu. Als Werte für die ersten drei Zeilen Customer werden NULL-Werte zurückgegeben.
In der Tabelle werden auch komplexere Kennzahlen angezeigt: eine erstellt aus Sum(Sales)+Above(Sum(Sales)) und eine beschriftet mit Higher?, die aus IF(Sum(Sales)>Above(Sum(Sales)), 'Higher') erstellt wird.
Beispiel 2:
In den Screenshots der in diesem Beispiel gezeigten Tabellen wurden den Visualisierungen 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 Qlik Sense sortiert werden. Qlik Sense evaluiert die Funktionen auf Grundlage der Spaltenabschnitte, die sich aus der zuletzt sortierten Dimension ergeben haben. Die Sortierreihenfolge der Spalten kann im Eigenschaftsfenster unter Sortierung festgelegt werden und stimmt nicht zwangsläufig mit der Reihenfolge überein, in der die Spalten in der Tabelle angezeigt werden.
Im folgenden Screenshot der Tabellenvisualisierung aus Beispiel 2 ist die letzte sortierte Dimension Month, sodass die Funktion Above die Berechnung auf der Grundlage von Monaten durchführt. Für jeden Wert Product gibt es pro Monat (Jan bis Aug) eine Ergebnisserie – einen Spaltenabschnitt. Darauf folgt eine Ergebnisserie für den nächsten Spaltenabschnitt: für jeden Month für das nächste Product. Für jeden Wert Customer wird jeweils pro Product ein eigener Spaltenabschnitt ausgegeben.
Beispiel 3:
Im Screenshot der Tabellenvisualisierung für Beispiel 3 ist die letzte sortierte Dimension Product. Dies erfolgt durch Verschieben der Dimension Product an Position 3 in der Dialogseite für die Sortierung im Eigenschaftsfenster. Die Funktion Above wird für jedes Product berechnet. Da nur zwei Produkte vorhanden sind, AA und BB, kann in beiden Ergebnisserien nur ein Ergebnis nicht NULL sein. In Zeile BB für den Monat Jan ist der Wert für Above(Sum(Sales)) 46. Für Zeile AA ist der Wert Null. Der Wert jeder Zeile AA für einen Monat ist immer Null, da kein Wert von Product über AA vorhanden ist. Die zweite Ergebnisserie wird für AA und BB für den Monat Feb auf Grundlage des Werts Customer, Astrida, berechnet. Wurden alle Monate für Astrida berechnet, wird die Sequenz für den zweiten CustomerBetacab wiederholt, dann ggf. für den dritten usw.
Beispiel 4: |
Ergebnis | ||||
---|---|---|---|---|---|
Die Funktion Above kann als Input für die Abschnittsfunktionen verwendet werden. Hier ein Beispiel: RangeAvg (Above(Sum(Sales),1,3)). |
|
In Beispielen verwendete Daten: