# Below — funkcja wykresu

Funkcja Below() oblicza wartość wyrażenia w wierszu znajdującym się pod bieżącym wierszem w ramach segmentu kolumny w tabeli. Wiersz wybierany do obliczeń zależy od wartości opcjonalnego parametru offset — domyślnie jest to wiersz bezpośrednio po wierszu bieżącym. W przypadku wykresów niebędących tabelami funkcja Below() oblicza wartość dla wiersza znajdującego się bezpośrednio po wierszu bieżącym w tabeli prostej odpowiadającej wykresowi.

Składnia:

Below([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 o n wierszy w dół z bieżącego wiersza.<br><br>Podanie argumentu offset równego 0 spowoduje ocenę wartości wyrażenia w bieżącym wierszu.<br><br>Określenie ujemnej wartości argumentu offset sprawia, że funkcja Below działa tak samo jak funkcja Above z odpowiednią dodatnią wartością argumentu offset. |
| count | Jeśli trzeci parametr count będzie większy od 1, funkcja zwróci zakres wartości count, po jednej dla każdego z count wierszy tabeli liczonych w dół od pierwotnej komórki. W tej postaci funkcja może być używana jako argument dla specjalnych funkcji zakresu. [Funkcje zakresu](https://help.qlik.com/pl-PL/cloud-services/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/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

W przypadku ostatniego wiersza segmentu kolumny zostanie zwrócona wartość NULL, ponieważ nie ma żadnego wiersza pod nim.

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 |
| --- | --- |
| `Below( Sum(Sales) )` | Zwraca wartość `Sales` dla wiersza poniżej bieżącego wiersza. |

## Przykład — podstawy Below

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/below.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.

* `=Below(Sum(Sales))` w celu znalezienia wartości sprzedaży za następny rok.

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

* `=RangeSum(Below(Sales, 1, 2))` w celu wykazania kroczącej dwuletniej agregacji sprzedaży z następnych dwóch lat.

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

Tabela wynikowa

| Year | Sum(Sales) | Below(Sum(Sales)) | Sum(Sales) - Below(Sum(Sales)) | RangeSum(Below(Sales, 1, 2) | (Sales - Below(Sales)) / Below(Sales) |
| --- | --- | --- | --- | --- | --- |
| Totals | 7200 | - | - | 0 | - |
| 2019 | 1000 | 1500 | -500 | 2700 | -33.33% |
| 2020 | 1500 | 1200 | 300 | 3000 | 25.00% |
| 2021 | 1200 | 1800 | -600 | 3500 | -33.00% |
| 2022 | 1800 | 1700 | 100 | 1700 | 5.88% |
| 2023 | 1700 | - | - | 0 | - |

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

* Miara `Sum(Sales) - Below(Sum(Sales))` zwraca zmianę wartości `Sales` poprzez porównanie bieżącego okresu z następnym okresem.

* Miara `RangeSum(Below(Sales, 1, 2))` zwraca sumę dwóch następnych wartości `Sales`.

* Miara `(Sales - Below(Sales)) / Below(Sales)` zwraca zmianę wartości `Sales` w porównaniu z następnym 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) - Below(Sum(Sales))` w celu zwrócenia odchylenia rok do roku.

Wykres słupkowy przedstawiający wyniki funkcji Below

Wykres słupkowy przedstawiający wyniki funkcji Below

Wykres słupkowy przedstawiający wyniki funkcji BelowBelow ![Wykres słupkowy pokazujący odchylenie rok do roku dla sumy sprzedaży w porównaniu z następnym rokiem](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-below-example.png)

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

## Przykład — zastosowanie Below

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/below.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:

  * `SalesYear`

  * `SalesAmount`

Skrypt ładowania

```
Example:
LOAD * INLINE [
SalesYear, SalesAmount
2019, 500
2020, 800
2021, 400
2022, 700
2023, 600
];
```

Wyniki

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

* `SalesYear`

Utwórz następujące miary:

* `=Sum(SalesAmount)` w celu agregacji sprzedaży.

* `=RangeSum(Below(SalesAmount, 0, NoOfRows() - RowNo()))` w celu obliczenia podsumowania wartości `SalesAmount`.

Tabela wynikowa

| SalesYear | Sum(SalesAmount) | RangeSum(Below(SalesAmount, 0, NoOfRows() - RowNo())) |
| --- | --- | --- |
| Totals | 3000 | 0 |
| 2019 | 500 | 2400 |
| 2020 | 800 | 1900 |
| 2021 | 400 | 1100 |
| 2022 | 700 | 700 |
| 2023 | 600 | 0 |

Wyniki pokazują, jak można użyć kombinacji funkcji `RangeSum` i funkcji `Below`, aby utworzyć skumulowane podsumowanie.

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:

* `SalesYear`

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

* `=RangeSum(Below(SalesAmount, 0, NoOfRows() - RowNo()))` w celu zwrócenia skumulowanego podsumowania wartości sprzedaży.

Wykres słupkowy pokazujący skumulowane podsumowanie wartości sprzedaży według roku

Wykres słupkowy pokazujący skumulowane podsumowanie wartości sprzedaży według roku

Wykres słupkowy pokazujący skumulowane podsumowanie wartości sprzedaży według roku ![Wykres słupkowy pokazujący skumulowane podsumowanie wartości sprzedaży.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-below-example2.png)

Użycie funkcji `Below` w połączeniu z `RangeSum` na wykresie słupkowym umożliwia wizualne wyświetlenie wartości skumulowanego podsumowania sprzedaży.

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

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/below.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.

* `=Below(Sum(Sales))` w celu pokazania sumy sprzedaży w poprzednim wierszu.

* `=Sum(Sales)+Below(Sum(Sales))`, aby zsumować sumę wartości sprzedaży z sumą sprzedaży dla wiersza klienta poniżej bieżącego wiersza.

* `=Sum(Sales)+Below(Sum(Sales), 3)`, aby zsumować wartość `Sum(Sales)` dla bieżącego wiersza w kolumnie `Customer` z wartością `Customer` trzy wiersze poniżej.

* `=If(Sum(Sales)>Below(Sum(Sales)), 'Higher')` w celu dodania etykiety „`Higher`” do klientów, których wyniki `Sum(Sales)` są większe niż `Sum(Sales)` klienta w wierszu poniżej.

Tabela wynikowa

| Customer | Sum(Sales) | Below(Sum(Sales)) | Sum(Sales)+Below(Sum(Sales)) | Sum(Sales)+Below(Sum(Sales), 3) | If(Sum(Sales)&gt;Below(Sum(Sales)), 'Higher') |
| --- | --- | --- | --- | --- | --- |
| Totals | 2566 | - | - | - | - |
| Astrida | 587 | 539 | 1126 | 1334 | Higher |
| Betacab | 539 | 683 | 1222 | - | - |
| Canutility | 683 | 757 | 1440 | - | - |
| Divadip | 757 | - | - | - | - |

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. Przykład demonstrujący użycie kolejności sortowania można znaleźć w temacie [Przykład — zastosowanie Above oparte na kolejności sortowania](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/above.htm#Example).

Miara `Below(Sum(Sales))` zwraca NULL dla klienta `Divadip`, ponieważ nie ma pod nią wiersza. Wynik dla wiersza `Canutility` pokazuje wartość `Sum(Sales)` dla `Divadip`. Wynik `Betacab` pokazuje wartość `Sum(Sales)` dla `Canutility` i tak dalej.

Dla miary `Sum(Sales)+Below(Sum(Sales))` wiersz dotyczący `Astrida` zwraca wynik dodania wartości `Sum(Sales)` dla wierszy `Betacab` + `Astrida` (`539+587`). Wynik wiersza `Betacab` pokazuje wynik dodania wartości `Sum(Sales)` dla `Canutility` + `Betacab` (`539+683`).

Miara `Sum(Sales)+Below(Sum(Sales), 3)` ma argument `offset` ustawiony na `3`, co oznacza, że pobiera wartość z wiersza znajdującego się o trzy wiersze poniżej bieżącego wiersza. W efekcie jej działania wartość `Sum(Sales)` dla bieżącego wiersza w kolumnie `Customer` jest dodawana do wartości wiersza w kolumnie `Customer` znajdującej się o trzy wiersze poniżej. Dla ostatnich trzech wierszy w kolumnie `Customer` zwracane są wartości null.

Miara `IF(Sum(Sales)>Below(Sum(Sales)), 'Higher')` zwraca wartość `Higher` dla klienta `Astrida`, ponieważ jego wyniki sprzedaży są wyższe niż suma sprzedaży klientów w wierszu poniżej, `Betacab`.

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

WskazówkaW przypadku innych typów wykresu należy przekształcić wykres w odpowiadającą mu tabelę prostą, aby umożliwić łatwe interpretowanie wiersza, do którego odnosi się funkcja.

## Przykład — użycie funkcji Below z RangeAvg

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

#### Wyrażenie wykresu

Przegląd

Funkcję Below można stosować jako źródło danych wejściowych dla funkcji zakresu. W tym przykładzie wykorzystano tę funkcję w RangeAvg.

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ącą miarę:

* =RangeAvg (Below(Sum(Sales),1,3))

Tabela wynikowa

| Customer | RangeAvg (Below(Sum(Sales),1,3)) |
| --- | --- |
| Totals | - |
| Astrida | 660 |
| Betacab | 720 |
| Canutility | 757 |
| Divadip | - |

W argumentach funkcji Below offset ma wartość 1, a count ma wartość 3. Funkcja ta znajduje wyniki wyrażenia Sum(Sales) w trzech wierszach znajdujących się bezpośrednio pod bieżącym wierszem w segmencie kolumny (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.

## Dowiedz się więcej

* [Above — funkcja wykresu](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/above.htm)
* [Bottom — funkcja wykresu](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/bottom.htm)
* [Top — funkcja wykresu](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/top.htm)
* [RangeAvg funkcja skryptu i funkcja wykresu](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/RangeFunctions/rangeavg.htm)