# Top

Top() utvärderar ett uttryck på den första (översta) raden i ett kolumnsegment i en tabell. Vilken rad som den beräknas för beror på värdet för offset, om sådant finns, standardvärdet är raden högst upp. För diagram som inte är tabeller görs Top()-utvärderingen på den första raden i den aktuella kolumnen i diagrammets raka tabellmotsvarighet.

Syntax:

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

Returnerad datatyp: dual

Argument:

* expr: Det uttryck eller fält som innehåller de data som ska mätas.

* offset: Om en offset n större än 0 anges, flyttas utvärderingen av uttrycket n antal rader ovanför den aktuella raden. Om startpunkt anges till 0 utvärderas uttrycket på den aktuella raden. Anges ett negativt värde för startpunkten gör det att Above-funktionen fungerar likadant som Below-funktionen med motsvarande positivt värde för startpunkten.

* count: Om ett tredje uttryck,count, anges till större än 1, returnerar funktionen ett intervall av count-värden, ett för varje count-tabellrad. Raderna räknas uppåt från den ursprungliga cellen. I denna form kan funktionen användas som argument i någon av de speciella intervallfunktionerna. [Intervallfunktioner](https://help.qlik.com/sv-SE/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/ChartFunctions/RangeFunctions/RangeFunctionsInCharts.htm)

* TOTAL: Om tabellen är endimensionell eller om kvalificeraren iTOTAL används som argument, motsvarar det aktuella kolumnsegmentet alltid hela kolumnen.

  [Definiera aggregeringens omfattning](https://help.qlik.com/sv-SE/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/ChartFunctions/define-aggregation-scope.htm)

Anteckning om informationEtt kolumnsegment definieras som en konsekutiv underuppsättning med celler som har samma värden för dimensionerna i den aktuella sorteringsordningen. Postöverskridande diagramfunktioner beräknas i kolumnsegmentet exklusive dimensionen längst till höger i motsvarande raka tabelldiagram. Om det enbart finns en dimension i diagrammet, eller om kvalificeraren TOTAL anges, utvärderas uttrycket över en hel tabell.

Anteckning om informationOm tabellen eller diagrammets tabellmotsvarighet har flera vertikala dimensioner, inbegriper det aktuella kolumnsegmentet endast rader som har samma värden som den aktuella raden i samtliga dimensionskolumner, utom den kolumn som visar den sista dimensionen i fältens inbördes sorteringsordning.

Begränsningar:

* Sortering på y-värden i diagram, eller sortering efter uttryckskolumner i tabeller, är inte tillåtet när denna diagramfunktion används i något av diagrammets uttryck. Dessa sorteringsalternativ är därför automatiskt inaktiverade. När du använder den här diagramfunktion i en visualisering eller tabell kommer sorteringen av visualiseringen att återgå till den sorterade inmatningen av den här funktionen.

* Rekursiva anrop returnerar NULL.

Exempel och resultat:

Exempel 1:

Exempel tabellutdata

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

I återgivningen av det tabelldiagram som visas i det här exemplet skapas tabellen från dimensionen Customer och måtten: `Sum(Sales)` och `Top(Sum(Sales))`.

Kolumnen Top(Sum(Sales)) returnerar 587 för alla rader eftersom det är värdet för den översta raden: Astrida

Tabellen visar även mer komplexa mått: ett skapat av `Sum(Sales)+Top(Sum(Sales))` och ett med etiketten Top offset 3, som skapas med hjälp av uttrycket `Sum(Sales)+Top(Sum(Sales), 3)` och vars argument offset är angivet som 3. Det lägger till Sum(Sales)-värdet för den aktuella raden till värdet från raden tre rader nedanför den översta raden, d.v.s. den aktuella raden plus värdet för Canutility.

Exempel 2:

I de återgivna tabelldiagram som visas i det här exemplet har fler dimensioner lagts till i diagrammen: Month och Product. För diagram med flera dimensioner beror resultatet för uttryck som innehåller funktionerna Above, Below, Top och Bottom på den ordning i vilken kolumndimensionerna sorteras av QlikView. QlikView evaluerar funktionerna baserat på de kolumnsegment som är resultatet från den dimension som kommer sist i sorteringsordningen. Sorteringsordningen för kolumner styrs under Sortera. Den motsvarar inte nödvändigtvis den ordning i vilken kolumnerna visas i en tabell. (En del rader visas inte av utrymmesskäl.)

Exempel tabellutdata

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

Exempel tabellutdata

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

Mer information finns i Exempel 2 i Above-funktionen.

Exempel 3:

Funktionen Top kan användas som indata för intervallfunktionerna. Till exempel: `RangeAvg 
 (Top(Sum(Sales),1,3))`.

I argumenten för funktionen Top(), offset inställd på 1 och count är inställd på 3. Funktionen hittar resultatet för uttrycketSum(Sales) på de tre raderna som börjar med raden under den nedersta raden i kolumnsegmentet (eftersom offset=1) och de två raderna under den (där det finns en rad). De här tre värdena används som indata för funktionen RangeAvg() som räknar ut medelvärdet för ett angivet talintervall.

En tabell med Customer som dimension ger följande resultat för uttrycket RangeAvg().

Exempel tabellutdata

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

**Data som används i exempel:**

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

För att få månaderna att sorteras i korrekt ordning när du skapar dina diagram går du till fliken Sort under diagramegenskaperna och markerar kryssrutan Expression under Sort by. Skriv `Monthnumber` i uttrycksrutan.

## Mer information

* [Bottom](https://help.qlik.com/sv-SE/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/ChartFunctions/InterRecordFunctions/bottom.htm)
* [Above](https://help.qlik.com/sv-SE/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/ChartFunctions/InterRecordFunctions/above.htm)
* [Sum - diagramfunktion](https://help.qlik.com/sv-SE/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/ChartFunctions/BasicAggregationFunctions/sum.htm)
* [RangeAvg - skript- och diagramfunktion](https://help.qlik.com/sv-SE/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/ChartFunctions/RangeFunctions/rangeavg.htm)
* [Intervallfunktioner](https://help.qlik.com/sv-SE/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/ChartFunctions/RangeFunctions/RangeFunctionsInCharts.htm)