# Top

Top() Funkcja oblicza wartość wyrażenia w pierwszym (najwyższym) wierszu segmentu kolumny w tabeli. Wiersz wybierany do obliczeń zależy od wartości opcjonalnego parametru offset — domyślnie jest to wiersz najwyższy. W przypadku wykresów niebędących tabelami wynik funkcji Top() jest obliczany na pierwszym wierszu bieżącej kolumny w tabeli prostej odpowiadającej wykresowi.

Składnia:

Top([TOTAL] expr [ , offset [,count ]])

Typ zwracanych danych: wartość podwójna

Argumenty:

* expr: Wyrażenie lub pole zawierające mierzone dane.

* offset: określenie wartości offset n większej niż 0 umożliwia przeniesienie oceny wyrażenia o n wierszy w górę od bieżącego wiersza. Podanie argumentu offset równego 0 spowoduje obliczenie wartości wyrażenia dla bieżącego wiersza. Określenie ujemnej wartości argumentu offset sprawia, że funkcja Above działa tak samo jak funkcja Below z odpowiednią dodatnią wartością argumentu offset.

* count: jeśli trzeci argument 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 górę 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/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/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.

  [Określenie zakresu agregacji](https://help.qlik.com/pl-PL/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/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:

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

* Wywołania rekurencyjne będą zwracać NULL.

Przykłady i wyniki:

Przykład 1:

Przykładowe dane wyjściowe tabeli

| Customer | Sum(Sales) | Top(Sum(Sales)) | Sum(Sales) + Top(Sum(Sales)) | Top offset 3 |
| --- | --- | --- | --- | --- |
|  | 2566 | 587 | 3153 | 3249 |
| Astrida | 587 | 587 | 1174 | 1270 |
| Betacab | 539 | 587 | 1126 | 1222 |
| Canutility | 683 | 587 | 1270 | 1366 |
| Divadip | 757 | 587 | 1344 | 1440 |

W tym przypadku stosowny wykres został utworzony na podstawie wymiaru Customer oraz miar: `Sum(Sales)` i `Top(Sum(Sales))`.

Kolumna Top(Sum(Sales)) zwraca wartość 587 dla wszystkich wierszy, ponieważ jest to wartość najwyższego wiersza: Astrida.

W tabeli tej przedstawione są również bardziej złożone miary: jedna utworzona na podstawie wyrażenia `Sum(Sales)+Top(Sum(Sales))` i jedna zatytułowana Top offset 3, utworzona na podstawie wyrażenia `Sum(Sales)+Top(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 najwyższego wiersza (wartość z wiersza bieżącego plus wartość dla klienta Canutility).

Przykład 2:

W tym przypadku do wykresów 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 posortowania wymiarów kolumn przez QlikView. QlikView oblicza wartości funkcji na podstawie segmentów kolumny uzyskanych z wymiaru sortowanego jako ostatni. Kolejność sortowania kolumn określa się w polu Sortowanie i może ona być inna od kolejności wyświetlania kolumn w tabeli. (W celu oszczędności miejsca niektóre wiersze nie zostały pokazane).

Przykładowe dane wyjściowe pierwszej tabeli

| Customer | Product | Month | Sum(Sales) | First value |
| --- | --- | --- | --- | --- |
|  |  |  | **2566** | - |
| Astrida | AA | Jan | 46 | 46 |
| Astrida | AA | Feb | 60 | 46 |
| Astrida | AA | Mar | 70 | 46 |
| ... | ... | ... | ... | ... |
| Astrida | AA | Sep | 78 | 46 |
| Astrida | AA | Oct | 12 | 46 |
| Astrida | AA | Nov | 78 | 46 |
| Astrida | AA | Dec | 22 | 46 |
| Astrida | BB | Jan | 46 | 46 |

Przykładowe dane wyjściowe drugiej tabeli

| Customer | Product | Month | Sum(Sales) | First value |
| --- | --- | --- | --- | --- |
|  |  |  | **2566** | - |
| Astrida | AA | Jan | 46 | 46 |
| Astrida | BB | Jan | 46 | 46 |
| Astrida | AA | Feb | 60 | 60 |
| Astrida | BB | Feb | 60 | 60 |
| Astrida | AA | Mar | 70 | 70 |
| Astrida | BB | Mar | 70 | 70 |
| Astrida | AA | Apr | 13 | 13 |
| Astrida | BB | Apr | 13 | 13 |

Dodatkowe informacje zawiera Przykład 2 w opisie funkcji Above.

Przykład 3:

Funkcję Top można stosować jako źródło danych wejściowych dla funkcji zakresu. Na przykład: `RangeAvg 
 (Top(Sum(Sales),1,3))`.

W funkcji Top() 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 pod najwyższym wierszem w segmencie kolumny (ponieważ offset=1), oraz i w dwóch wierszach pod 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().

Przykładowe dane wyjściowe tabeli

| Customer | RangeAvg (Top(Sum(Sales),1,3)) |
| --- | --- |
| Astrida | 603 |
| Betacab | 603 |
| Canutility | 603 |
| Divadip | 603 |

**Dane zastosowane w przykładach:**

`Monthnames:` `LOAD * INLINE [` `Month, 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 (Month, 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 '|');`

Aby miesiące były sortowane we właściwej kolejności, podczas tworzenia arkuszy przejdź do karty Sort we właściwościach wykresu i zaznacz pole wyboru Expression w sekcji Sort by. W polu wyrażenia podaj `Monthnumber`.

## Dowiedz się więcej

* [Bottom](https://help.qlik.com/pl-PL/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/ChartFunctions/InterRecordFunctions/bottom.htm)
* [Above](https://help.qlik.com/pl-PL/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/ChartFunctions/InterRecordFunctions/above.htm)
* [Sum - funkcja wykresu](https://help.qlik.com/pl-PL/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/ChartFunctions/BasicAggregationFunctions/sum.htm)
* [RangeAvg — funkcja skryptu i funkcja wykresu](https://help.qlik.com/pl-PL/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/ChartFunctions/RangeFunctions/rangeavg.htm)
* [Funkcje zakresu](https://help.qlik.com/pl-PL/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/ChartFunctions/RangeFunctions/RangeFunctionsInCharts.htm)