# 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.<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/November2025/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/November2025/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ład: wyrażenia wykresu

| Przykład | Wynik |
| --- | --- |
| `Bottom( Sum(Sales) )` | Zwraca wartość `Sales` dla ostatniego (dolnego) wiersza segmentu kolumny w tabeli. |

## Przykład — podstawy Bottom

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/bottom.htm)

#### Wyrażenie wykresu

Przegląd

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych załadowany do tabeli o nazwie `Example`.

* Tabela zawiera następujące pola:

  * `Year`

  * `Sales`

Skrypt ładowania

```
Example:
LOAD * INLINE [
Year, Sales
2019, 1000
2020, 1500
2021, 1200
2022, 1800
2023, 1700
];
```

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj to pole jako wymiar:

* `Year`

Utwórz następujące miary:

* `=Sum(Sales)` w celu znalezienia sprzedaży rocznej.

* `=Bottom(Sum(Sales))` w celu znalezienia wartości sprzedaży za poprzedni rok.

* `=Sum(Sales) - Bottom(Sum(Sales))` w celu obliczenia odchylenia między wartością `Sales` w bieżącym roku a wartością w roku poprzednim.

* `=Sum(Sales)+Bottom(Sum(Sales), 3)` w celu obliczenia sumy wartości sprzedaży w bieżącym roku i wartością w trzecim ostatnim roku.

* `=(Sales - Bottom(Sales)) / Bottom(Sales)` w celu zwrócenia zmiany w `Sales` jako stosunku/procentu w porównaniu z ostatnim rokiem. Aby wyświetlić tę wartość w procentach, w sekcji Formatowanie liczb wybierz opcję Liczba &gt; Formatowanie proste &gt; 12,34%.

Posortuj tabelę według wymiaru `Year` w porządku rosnącym.

Tabela wynikowa

| Year | Sum(Sales) | Bottom(Sum(Sales)) | Sum(Sales) - Bottom(Sum(Sales)) | Sum(Sales)+Bottom(Sum(Sales), 3) | (Sales - Bottom(Sales)) / Bottom(Sales) |
| --- | --- | --- | --- | --- | --- |
| Totals | 7200 | 1700 | 5500 | 8400 | - |
| 2019 | 1000 | 1700 | -700 | 2200 | -41.18% |
| 2020 | 1500 | 1700 | -200 | 2700 | -11.76% |
| 2021 | 1200 | 1700 | -500 | 2400 | -29.41% |
| 2022 | 1800 | 1700 | 100 | 3000 | 5.88% |
| 2023 | 1700 | 1700 | 0 | 2900 | 0.00% |

Patrząc na wyniki, można porównać wartości `Sales` w bieżącym okresie z ostatnim okresem.

* Miara `Sum(Sales) - Bottom(Sum(Sales))` zwraca zmianę wartości `Sales` przez porównanie bieżącego okresu z ostatnim okresem.

* Miara `Sum(Sales)+Bottom(Sum(Sales), 3)` zwraca sumę `Sales` dla bieżącego wiersza i trzeciego ostatniego okresu.

* Miara `(Sales - Bottom(Sales)) / Bottom(Sales)` zwraca zmianę wartości `Sales` w porównaniu z ostatnim okresem jako wartość procentową.

WskazówkaTej funkcji można też używać w wykresach innego rodzaju niż tabele, na przykład wykresach słupkowych.

Wykonaj następujące czynności:

Utwórz wykres słupkowy i dodaj to pole jako wymiar:

* `Year`

Utwórz następującą miarę:

* `=Sum(Sales) - Bottom(Sum(Sales))` w celu zwrócenia odchylenia w sprzedaży między bieżącym okresem a ostatnim okresem.

Wykres słupkowy przedstawiający wyniki funkcji Bottom

Wykres słupkowy przedstawiający wyniki funkcji Bottom

Wykres słupkowy przedstawiający wyniki funkcji BottomBottom ![Wykres słupkowy pokazujący odchylenie w sprzedaży między bieżącym okresem a najnowszym okresem.](https://help.qlik.com/pl-PL/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-bottom-example.png)

Użycie funkcji `Bottom` na wykresie słupkowym zapewnia wizualne porównanie odchylenia między sprzedażą w bieżącym okresie a ostatnim okresem.

## Przykład — zastosowanie Bottom

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/bottom.htm)

#### Wyrażenie wykresu

Przegląd

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych załadowany do tabeli o nazwie `Example`.

* Tabela zawiera następujące pola:

  * `OrderID`

  * `Product`

  * `SalesValue`

  * `OrderDate`

Skrypt ładowania

```
Example:
LOAD * INLINE [
OrderID, Product, SalesValue, OrderDate
1, "Product A", 500, '2023-01-10'
2, "Product B", 300, '2023-01-15'
3, "Product C", 450, '2023-02-01'
4, "Product D", 700, '2023-02-20'
5, "Product E", 350, '2023-03-05'
];
```

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj to pole jako wymiar:

* `Product`

Utwórz następujące miary:

* `=RangeAvg (Bottom(Sum(SalesValue),1,3))` w celu zwrócenia średniej z 3 ostatnich wierszy.

* `=Sum(SalesValue) - RangeAvg (Bottom(Sum(SalesValue),1,3))` w celu obliczenia odchylenia między bieżącym wierszem a średnią z 3 ostatnich wierszy.

* `=Sum(SalesValue)` w celu obliczenia łącznej wartości `SalesValue` dla bieżącego wiersza.

Tabela wynikowa

| Product | RangeAvg (Bottom(Sum(SalesValue),1,3)) | Sum(SalesValue) - RangeAvg (Bottom(Sum(SalesValue),1,3)) | Sum(SalesValue) |
| --- | --- | --- | --- |
| Totals | 500 | 1800 | 2300 |
| 2019 | 500 | 0 | 500 |
| 2020 | 500 | -200 | 300 |
| 2021 | 500 | -50 | 450 |
| 2022 | 500 | 200 | 700 |
| 2023 | 500 | -150 | 350 |

Wyniki pokazują, jak można użyć kombinacji funkcji `RangeSum` i funkcji `Bottom`, aby przeanalizować i porównać wartości sprzedaży.

## Przykład — wyrażenie wykresu używające Bottom

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/bottom.htm)

#### Wyrażenie wykresu

Przegląd

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Dwie tabele danych o nazwach `Monthnames` i `Sales2013`.

Skrypt ładowania

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj to pole jako wymiar:

* `Customer`

Utwórz następujące miary:

* `=Sum(Sales)` w celu obliczenia sumy sprzedaży.

* `=Bottom(Sum(Sales))` w celu pokazania sumy sprzedaży klienta `Customer` w dolnym wierszu.

* `=Sum(Sales)+Bottom(Sum(Sales))` w celu dodania wartości `Sum(Sales)` bieżącego `Customer` do `Customer` w dolnym wierszu.

* `=Sum(Sales)+Bottom(Sum(Sales), 3)` w celu dodania wartości `Sum(Sales)` bieżącego `Customer` do wartości `Customer`, która jest trzecia od dolnego wiersza.

Tabela wynikowa

| Customer | Sum(Sales) | Bottom(Sum(Sales)) | Sum(Sales)+Bottom(Sum(Sales)) | Sum(Sales)+Bottom(Sum(Sales), 3) |
| --- | --- | --- | --- | --- |
| Totals | 2566 | 757 | 3323 | 3105 |
| Astrida | 587 | 757 | 1344 | 1126 |
| Betacab | 539 | 757 | 1296 | 1078 |
| Canutilty | 683 | 757 | 1440 | 1222 |
| Divadip | 757 | 757 | 1514 | 1296 |

Miara `Bottom(Sum(Sales))` zwraca wartość `757` dla wszystkich wierszy, ponieważ jest to wartość dolnego wiersza: `Divadip`.

Dla miary `Sum(Sales)+Bottom(Sum(Sales))` wiersz `Astrida` zwraca `1344`, co jest wynikiem dodania wartości `Sum(Sales)` dla `Astrida` i `Divadip` — `Customer` w dolnym wierszu.

W przypadku miary `Sum(Sales)+Bottom(Sum(Sales), 3)` argument `offset` ma ustawienie `3`. Wyrażenie dodaje wartość `Sum(Sales)` dla bieżącego wiersza i trzeciego wiersza od dołu, `Betacab`. Na przykład wartość `1126` jest zwracana dla klienta `Astrida`. Jest to wynik dodania wartości `Sum(Sales)` dla `Astrida` i `SumSales` dla `Betacab` (`587`+`539`).

## Dowiedz się więcej

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