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.
Składnia:
Bottom([TOTAL] expr [ , offset [,count ]])
Typ zwracanych danych: wartość podwójna
Argumenty:
Argument | Opis |
---|---|
expr | Wyrażenie lub pole zawierające mierzone dane. |
offset |
Określenie wartości offset n 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. |
Ograniczenia:
-
Wywołania rekurencyjne będą zwracać NULL.
-
Sortowanie według wartości Y w wykresach albo sortowanie według kolumn wyrażeń w tabelach jest niedozwolone, gdy w dowolnym z wyrażeń wykresu stosowana jest ta funkcja wykresu. W takiej sytuacji te opcje sortowania są automatycznie wyłączone. Kiedy używasz tej funkcji wykresu w wizualizacji albo tabeli, sortowanie wizualizacji zostanie przywrócone do sortowania danych wejściowych tej funkcji.
Przykłady i wyniki:
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).
Przykład: 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).
Więcej informacji na ten temat zawiera przykład 2 w funkcji Above.
Przykład: 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(). |
||
|
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 '|');