Bottom - Diagrammfunktion

Bottom() interpretiert eine Formel in der letzten (untersten) 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 unterste Zeile verwendet. In Diagrammen erfolgt anders als in Tabellen die Berechnung für die letzte Zeile der aktuellen Spalte im entsprechenden Tabellendiagramm.

Syntax:  

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

Return data type: dual

Arguments:  

Argument Beschreibung
expr Die Formel oder das Feld mit den Daten, die gemessen werden sollen.
offset

Ist ein offsetn größer als 1 angegeben, wird die Formel anhand der Werte von n Zeilen berechnet, die über der letzten Zeile liegen.

Bei einem negativen Startwert verhält sich die Funktion Bottom wie die Funktion Top mit dem entsprechenden positiven Startwert.

count

Ist ein dritter Parameter count größer als 1 angegeben, liefert die Funktion nicht einen einzelnen Wert, sondern eine Menge von count-Werten, berechnet anhand der letzten count-Zeilen des Spaltenabschnitts. 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

Hinweis: Ein 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.
Hinweis: 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.

Limitations:  

Die Rekursion liefert NULL.

Examples and results:  

Example: 1

Die Tabellenvisualisierung für 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 Bottom(Sum(Sales)).

Die Spalte Bottom(Sum(Sales)) gibt 757 für alle Zeilen zurück, weil dies der Wert für die untere Zeile ist: Divadip.

In der Tabelle werden auch komplexere Kennzahlen angezeigt: eine aus Sum(Sales)+Bottom(Sum(Sales)) erstellte und eine mit Bottom offset 3 beschriftete Kennzahl, die mithilfe der Formel Sum(Sales)+Bottom(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 von der untersten Zeile hinzu, d. h. die aktuelle Zeile plus den Wert für Betacab.

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

In der ersten Tabelle wird die Formel auf Grundlage von Month und in der zweiten Tabelle auf Grundlage von Product berechnet. Die Kennzahl End value enthält die Formel Bottom(Sum(Sales)). Die unterste Zeile für Month ist Dec und der Wert für Dec beide Werte von im Screenshot dargestellten Product ist 22. (Um Platz zu sparen, wurden einige Zeilen aus dem Screenshot entfernt.)

Erste Tabelle für Beispiel 2. Der Wert von Bottom für die Kennzahl End value basiert auf Month (Dec).

Zweite Tabelle für Beispiel 2. Der Wert von Bottom für die Kennzahl End value basiert auf Product (BB für Astrida).

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

Example: 3

Ergebnis

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

In den Argumenten für die Funktion Bottom() wird offset auf 1 und count auf 3 gesetzt. Die Funktion ermittelt die Ergebnisse der Formel Sum(Sales) zu den drei Zeilen, beginnend bei der Zeile über der letzten Zeile im Spaltenabschnitt (weil offset=1), und den beiden Zeilen darüber (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().

 

Astrida

Betacab

Canutility

Divadip:

659.67

659.67

659.67

659.67

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 Visualisierungen folgendermaßen vor: Rufen Sie den Abschnitt Sorting des Eigenschaftenfensters auf, wählen Sie Month aus und markieren Sie das Kontrollkästchen Sort by expression. Schreiben Sie in das Formelfeld Monthnumber.