# 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:

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.<br><br>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](https://help.qlik.com/pl-PL/sense/May2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/RangeFunctions/RangeFunctionsInCharts.htm) |
| TOTAL | Jeśli tabela jest jednowymiarowa lub jako argument zostanie podany kwalifikator TOTAL, bieżący segment kolumny jest zawsze równy całej kolumnie.<br><br>[Określenie zakresu agregacji](https://help.qlik.com/pl-PL/sense/May2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

InformacjaSegment 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.

InformacjaJeś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.

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:

Wizualizacja tabeli dla przykładu 1

![Wizualizacja tabeli do przykładu 1.](https://help.qlik.com/pl-PL/sense/May2025/Subsystems/Hub/Content/Resources/Images/ui_gen_BottomFunction1.png)

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).

Pierwsza tabela z przykładu 2. Wartość funkcji Bottom dla miary End value na podstawie wymiaru Month (Dec).

![Pierwsza tabela z przykładu 2.](https://help.qlik.com/pl-PL/sense/May2025/Subsystems/Hub/Content/Resources/Images/ui_gen_BottomFunction3.png)

Druga tabela z przykładu 2. Wartość funkcji Bottom dla miary End value na podstawie wymiaru Product (BB dla klienta Astrida).

![Druga tabela z przykładu 2.](https://help.qlik.com/pl-PL/sense/May2025/Subsystems/Hub/Content/Resources/Images/ui_gen_BottomFunction2.png)

Więcej informacji na ten temat zawiera przykład 2 w funkcji Above.

Przykład 3

| Przykład: 3 | Wynik |
| --- | --- |
| Funkcję Bottom można stosować jako źródło danych wejściowych dla funkcji zakresu. Na przykład: `RangeAvg<br>(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.<br><br>Tabela z kolumną Customer jako wymiarem zwraca następujące wyniki dla wyrażenia RangeAvg(). |
|  | <table><colgroup><col><col></colgroup><tr><td><p><span>Astrida</span></p><p><span>Betacab</span></p><p><span>Canutility</span></p><p><span>Divadip</span>:</p></td><td><p>659.67</p><p>659.67</p><p>659.67</p><p>659.67</p></td></tr></table> |

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

## Dowiedz się więcej

* [Top — funkcja wykresu](https://help.qlik.com/pl-PL/sense/May2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/top.htm)