# Bottom - diagramfunctie

Bottom() evalueert een uitdrukking in de laatste rij (onderste rij) van een kolomsegment in een tabel. De rij waarvoor deze waarde wordt berekend is afhankelijk van de waarde van offset, indien aanwezig. De onderste rij is de standaardwaarde. Voor andere diagrammen dan tabellen, wordt de laatste rij van de huidige kolom in het equivalent van de strakke tabel in het diagram geëvalueerd.

Syntaxis:

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

Retourgegevenstypen: dubbele waarde

Argumenten

| Argument | Beschrijving |
| --- | --- |
| expr | De uitdrukking die of het veld dat de gegevens bevat die moeten worden gemeten. |
| offset | Als een offset n groter dan 1 wordt opgegeven, wordt de evaluatie van de uitdrukking n rijen boven de onderste rij geplaatst.<br><br>Als een negatief getal voor de beginwaarde wordt opgegeven, werkt de functie Bottom op dezelfde wijze als de functie Top met het overeenkomstige positieve getal als beginwaarde. |
| count | Als een derde parameter count groter dan 1 is aangegeven, retourneert de functie niet één maar een bereik van count waarden. Een waarde voor elk van de laatste count rijen van het huidige kolomsegment. In deze vorm kan de functie worden gebruikt als argument voor een van de speciale bereikfuncties. [Bereikfuncties](https://help.qlik.com/nl-NL/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/RangeFunctions/RangeFunctionsInCharts.htm) |
| TOTAL | Als de tabel eendimensionaal is of als de kwalificatie TOTAL wordt gebruikt als argument, is het huidige kolomsegment altijd gelijk aan de hele kolom.<br><br>[Het aggregatiebereik definiëren](https://help.qlik.com/nl-NL/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

InformatieEen kolomsegment wordt gedefinieerd als een opeenvolgende subset van cellen die dezelfde waarden hebben voor de dimensies in de huidige sorteervolgorde. Interrecord-diagramfuncties worden berekend in het kolomsegment met uitzondering van de dimensie uiterst rechts in de equivalente strakke tabel. Als er slechts één dimensie is in het diagram, of als de kwalificatie TOTAL is opgegeven, wordt de uitdrukking geëvalueerd voor de volledige tabel.

InformatieAls de tabel of het equivalent van de tabel meerdere verticale dimensies heeft, omvat het huidige kolomsegment alleen rijen met dezelfde waarden als de huidige rij in alle dimensiekolommen, met uitzondering van de kolom waarin de laatste dimensie wordt weergegeven in de onderlinge sorteervolgorde van de velden.

Beperkingen:

* Recursieve oproepen retourneren een NULL-waarde.

* Het is niet toegestaan te sorteren op y-waarden in grafieken of op uitdrukkingskolommen in tabellen als deze diagramfunctie wordt gebruikt in een van de uitdrukkingen van de grafiek. Deze sorteeropties worden daarom automatisch uitgeschakeld. Als u deze diagramfunctie gebruikt in een visualisatie of tabel, wordt de sortering van de visualisatie teruggezet naar de gesorteerde invoer van deze functie.

Voorbeeld: diagramuitdrukkingen

| Voorbeeld | Resultaat |
| --- | --- |
| `Bottom( Sum(Sales) )` | Retourneert de waarde van `Sales` voor de laatste (onderste) rij van een kolomsegment in een tabel. |

## Voorbeeld - Basisprincipes voor Bottom

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

#### Diagramuitdrukking

Overzicht

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Een gegevensverzameling die wordt geladen in een tabel met de naam `Example`.

* De volgende velden in de gegevenstabel:

  * `Year`

  * `Sales`

Load-script

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

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg dit veld toe als dimensie:

* `Year`

Maak de volgende metingen:

* `=Sum(Sales)`, om de jaaromzet te vinden.

* `=Bottom(Sum(Sales))`, om de verkoopwaarde voor het afgelopen jaar te vinden.

* `=Sum(Sales) - Bottom(Sum(Sales))`, om de variantie tussen de `Sales` waarde van het huidige jaar en de waarde van het afgelopen jaar te berekenen.

* `=Sum(Sales)+Bottom(Sum(Sales), 3)`, om de som van de verkoopwaarde van het huidige jaar en de waarde van het op twee na laatste jaar te berekenen.

* `=(Sales - Bottom(Sales)) / Bottom(Sales)`, om de verandering in `Sales` in vergelijking tot het afgelopen jaar als een verhouding / percentage weer te geven. Om deze waarde als percentage weer te geven, selecteert u onder GetalnotatieGetal &gt; Eenvoudige opmaak &gt; 12,34%.

Sorteer de tabel in de dimensie `Year` in oplopende volgorde.

Resultatentabel

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

Als u de resultaten bekijkt, kunt u de `Sales` waarden in de huidige periode vergelijken met de afgelopen, of recentste, periode.

* De meting `Sum(Sales) - Bottom(Sum(Sales))` retourneert de wijziging in de `Sales` waarden, waarbij de huidige periode wordt vergeleken met de recentste periode.

* De meting `Sum(Sales)+Bottom(Sum(Sales), 3)` retourneert de som van `Sales` voor de huidige rij en de derde recentste periode.

* De meting `(Sales - Bottom(Sales)) / Bottom(Sales)` retourneert de wijziging in `Sales` ten opzichte van de recentste periode als een percentage.

TipDeze functie kan behalve in tabellen ook worden gebruikt in diagrammen, bijvoorbeeld in staafdiagrammen.

Doe het volgende:

Maak een staafdiagram en voeg dit veld toe als dimensie:

* `Year`

Maak de volgende meting:

* `=Sum(Sales) - Bottom(Sum(Sales))`, om de variantie in verkoop tussen de huidige periode en de recentste periode weer te geven.

Staafdiagram met resultaten voor de functie Bottom

Staafdiagram met resultaten voor de functie Bottom

Staafdiagram met resultaten voor de functie BottomBottom ![Staafdiagram toont de variantie in verkoop tussen de huidige periode en de laatste periode.](https://help.qlik.com/nl-NL/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-bottom-example.png)

Door de functie `Bottom` in een staafdiagram te gebruiken, krijgt u een visuele vergelijking van de variantie tussen de verkopen van de huidige periode en die van de recentste periode.

## Voorbeeld 5 – Scenario met Bottom

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

#### Diagramuitdrukking

Overzicht

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Een gegevensverzameling die wordt geladen in een tabel met de naam `Example`.

* De volgende velden in de gegevenstabel:

  * `OrderID`

  * `Product`

  * `SalesValue`

  * `OrderDate`

Load-script

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

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg dit veld toe als dimensie:

* `Product`

Maak de volgende metingen:

* `=RangeAvg (Bottom(Sum(SalesValue),1,3))`, om het gemiddelde van de 3 recentste rijen te retourneren.

* `=Sum(SalesValue) - RangeAvg (Bottom(Sum(SalesValue),1,3))`, om de variantie tussen de huidige rij en het gemiddelde van de 3 recentste rijen te berekenen.

* `=Sum(SalesValue)` om de totale `SalesValue` voor de huidige rij te berekenen.

Resultatentabel

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

De resultaten laten zien hoe u een combinatie van de functie `RangeSum` en de functie `Bottom` kunt gebruiken om verkoopwaarden te analyseren en vergelijken.

## Voorbeeld - Diagramuitdrukking met gebruik van Bottom

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

#### Diagramuitdrukking

Overzicht

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Twee gegevenstabellen genaamd `Monthnames` en `Sales2013`.

Load-script

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

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg dit veld toe als dimensie:

* `Customer`

Maak de volgende metingen:

* `=Sum(Sales)`, om de som van verkoop te berekenen.

* `=Bottom(Sum(Sales))`, om de som van de verkopen van de `Customer` in de onderste rij te tonen.

* `=Sum(Sales)+Bottom(Sum(Sales))`, om de `Sum(Sales)` waarde van de huidige `Customer` toe te voegen aan de `Customer` in de onderste rij.

* `=Sum(Sales)+Bottom(Sum(Sales), 3)`, om de `Sum(Sales)` waarde toe te voegen van de huidige `Customer` met de waarde voor de `Customer` die derde is van de onderste rij.

Resultatentabel

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

De meting `Bottom(Sum(Sales))` retourneert `757` voor alle rijen omdat dit de waarde van de onderste rij is: `Divadip`.

Voor de meting `Sum(Sales)+Bottom(Sum(Sales))` retourneert de rij `Astrida` `1344`, dit het resultaat van het optellen van de `Sum(Sales)` waarde voor `Astrida` en `Divadip`, de `Customer` in de onderste rij.

Voor de meting `Sum(Sales)+Bottom(Sum(Sales), 3)`, is het argument `offset` ingesteld op `3`. De uitdrukking voegt de `Sum(Sales)` waarde voor de huidige rij en de derde rij van onderen toe, `Betacab`. De waarde `1126` wordt bijvoorbeeld geretourneerd voor de klant `Astrida`. Dit is het resultaat van het optellen van de `Sum(Sales)` waarde voor `Astrida` en de `SumSales` voor `Betacab` (`587`+`539`).

## Meer informatie

* [Top - diagramfunctie](https://help.qlik.com/nl-NL/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/top.htm)