Bottom — funkcja wykresu
Funkcja Bottom() oblicza wartość wyrażenia w ostatnim (najniższym) wierszu segmentu kolumny w tabeli. Wiersz wybierany do obliczeń zależy od wartości opcjonalnego parametru offset — domyślnie jest to wiersz najniższy. W przypadku wykresów niebędących tabelami obliczenie jest wykonywane na ostatnim wierszu bieżącej kolumny w tabeli prostej odpowiadającej wykresowi.
Syntax:
Bottom([TOTAL] expr
[ , offset [,count
]])
Return data type: dual
Arguments:
expr
|
Wyrażenie lub pole zawierające mierzone dane. |
offset |
Określenie wartości offsetn większej niż 1 umożliwia przeniesienie oceny wyrażenia do góry o n wierszy ponad najniższy wiersz.
Określenie ujemnej wartości argumentu offset sprawia, że funkcja Bottom działa tak samo jak funkcja Top z odpowiednią dodatnią wartością argumentu offset.
|
count |
Jeśli trzeci parametr count będzie większy od 1, funkcja zwróci zamiast jednej wartości cały zakres wartości count, po jednej dla każdego z count ostatnich wierszy bieżącego segmentu kolumny. W tej postaci funkcja może być używana jako argument dla specjalnych funkcji zakresu. Funkcje zakresu
|
TOTAL
|
Jeśli tabela jest jednowymiarowa lub jako argument zostanie podany kwalifikator TOTAL, bieżący segment kolumny jest zawsze równy całej kolumnie.
Określenie zakresu agregacji
|
Uwaga: Segment kolumny definiuje się jako ciągły podzbiór komórek o tych samych wartościach dla wymiarów w bieżącej kolejności sortowania. Międzywierszowe funkcje wykresu są obliczane w segmencie kolumny z pominięciem skrajnego prawego wymiaru w równoważnym wykresie tabeli prostej. Jeśli wykres ma tylko jeden wymiar lub jeśli podano kwalifikator TOTAL, wartość wyrażenia jest obliczana na pełnej tabeli.
Uwaga: Jeśli tabela lub równoważnik tabeli zawiera wiele wymiarów pionowych, wówczas segment bieżącej kolumny będzie zawierał tylko wiersze z takimi samymi wartościami we wszystkich kolumnach wymiaru jak bieżący wiersz, ale bez kolumny przedstawiającej ostatni wymiar w kolejności sortowania między polami.
Limitations:
Wywołania rekurencyjne będą zwracać NULL.
Examples and results:
Example: 1
Wizualizacja tabeli dla przykładu 1.
Na zrzucie ekranu w tym przykładzie widoczne jest, że stosowna wizualizacja tabeli została utworzona na podstawie wymiaru Customer oraz miar Sum(Sales) i Bottom(Sum(Sales)).
Kolumna Bottom(Sum(Sales)) zwraca wartość 757 dla wszystkich wierszy, ponieważ jest to wartość najniższego wiersza: Divadip.
W tabeli tej przedstawione są również bardziej złożone miary: jedna utworzona na podstawie wyrażenia Sum(Sales)+Bottom(Sum(Sales)) i jedna zatytułowana Bottom offset 3, utworzona na podstawie wyrażenia Sum(Sales)+Bottom(Sum(Sales), 3) z argumentem offset o wartości 3. W efekcie jej działania wartość Sum(Sales) dla bieżącego wiersza jest dodawana do wartości z trzeciego wiersza liczonego od najniższego wiersza (wartość z wiersza bieżącego plus wartość dla klienta Betacab).
Example: 2
Na zrzutach ekranu tabel przedstawionych w tym przykładzie do wizualizacji zostały dodane kolejne wymiary: Month i Product. W przypadku wykresów wielowymiarowych wyniki wyrażeń zawierających funkcje Above, Below, Top i Bottom są zależne od kolejności sortowania wymiarów kolumn przez Qlik Sense. Qlik Sense oblicza wartości funkcji na podstawie segmentów kolumny uzyskanych z wymiaru sortowanego jako ostatni. Kolejność sortowania kolumn określa się w panelu właściwości w sekcji Sortowanie i może ona być inna od kolejności wyświetlania kolumn w tabeli.
W pierwszej tabeli wyrażenie jest oceniane na podstawie wymiaru Month, a w drugiej tabeli — na podstawie wymiaru Product. Miara End value zawiera wyrażenie Bottom(Sum(Sales)). Najniższy wiersz dla miary Month to Dec, a wartość dla Dec i dla Product wynosi 22. (W celu oszczędności miejsca niektóre wiersze zostały wymazane).
Pierwsza tabela z przykładu 2. Wartość funkcji Bottom dla miary End value na podstawie wymiaru Month (Dec).
Druga tabela z przykładu 2. Wartość funkcji Bottom dla miary End value na podstawie wymiaru Product (BB dla klienta Astrida).
Więcej informacji na ten temat zawiera przykład 2 w funkcji Above.
Example: 3
|
Wynik |
Funkcję Bottom można stosować jako źródło danych wejściowych dla funkcji zakresu. Na przykład: RangeAvg (Bottom(Sum(Sales),1,3)).
|
W funkcji Bottom() argument offset ma wartość 1, a argument count ma wartość 3. Funkcja ta znajduje wyniki wyrażenia Sum(Sales) w trzech wierszach począwszy od wiersza nad najniższym wierszem w segmencie kolumny (ponieważ offset=1), oraz i w dwóch wierszach nad nim (o ile jest tam wiersz). Wspomniane trzy wartości są stosowane jako dane wejściowe dla funkcji RangeAvg(), która znajduje średnią wartości w określonym szeregu liczbowym.
Tabela z kolumną Customer jako wymiarem zwraca następujące wyniki dla wyrażenia RangeAvg().
|
|
Astrida
Betacab
Canutility
Divadip:
|
659.67
659.67
659.67
659.67
|
|
Monthnames:
LOAD *, Dual(MonthText,MonthNumber) as Month INLINE [
MonthText, 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 (MonthText, 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 '|');