# First - diagramfunctie

First() retourneert de waarde van een uitdrukking berekend aan de hand van de dimensiewaarden van een draaitabel die staan in de eerste kolom van het huidige rijsegment in de draaitabel. Deze functie retourneert NULL in alle andere diagramtypen dan een draaitabel.

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

Syntaxis:

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

Argumenten

| Argument | Beschrijving |
| --- | --- |
| expression | 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 kolommen verder naar rechts verplaatst, geteld vanaf de eerste kolom.<br><br>Als de beginwaarde 0 wordt opgegeven, wordt de uitdrukking geëvalueerd op de eerste kolom van het huidige rijsegment.<br><br>Als de beginwaarde 0 wordt opgegeven, wordt de uitdrukking geëvalueerd op de huidige rij.<br><br>Als een negatief getal voor de beginwaarde wordt opgegeven, werkt de functie First op dezelfde wijze als de functie Last met het overeenkomstige positieve getal als beginwaarde. |
| count | Als een derde parameter count groter dan 1 wordt opgegeven, retourneert de functie een bereik van waarden. Eén waarde voor elke tabelkolom, met een maximum van count, naar rechts geteld vanaf de oorspronkelijke cel. |
| 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/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

Als de draaitabel meerdere horizontale dimensies heeft, omvat het huidige rijsegment alleen kolommen met dezelfde waarden als de huidige kolom in alle dimensierijen, met uitzondering van de rij waarin de laatste horizontale dimensie wordt weergegeven in de onderlinge sorteervolgorde van de velden. De sorteervolgorde tussen velden voor horizontale dimensies in draaitabellen wordt simpelweg gedefinieerd door de volgorde van de dimensies van boven naar onder.

Voorbeeld: diagramuitdrukkingen

| Voorbeeld | Resultaat |
| --- | --- |
| `First( Sum(Sales ))` | Retourneert de som van `Sales` van de eerste kolom van het huidige rijsegment. |
| `First( Sum(Sales ), 2)` | Retourneert de som van `Sales` die twee kolommen rechts van de huidige kolom in het huidige rijsegment staat. |
| `First( Total Sum( Sales ))` | Retourneert de totale som van `Sales` van de eerste kolom van het huidige rijsegment. |
| `RangeAvg (First(Sum(x),1,5))` | Retourneert een gemiddelde van de resultaten van de functie `sum(x)`, berekend aan de hand van de vijf meest linkse kolommen van het huidige rijsegment. |

## Voorbeeld - Basisprincipes voor First

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

  * `Quarter`

  * `Sales`

Load-script

```
Example:
Load * inline [
Year, Quarter, Sales
2023, Q1, 5000
2023, Q2, 4000
2023, Q3, 6000
2023, Q4, 7000
2024, Q1, 4500
2024, Q2, 3250
2024, Q3, 6500
2024, Q4, 7250
];
```

Resultaten

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

* `Year`

Voeg dit veld toe als een kolomdimensie:

* `Quarter`

Maak de volgende metingen:

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

* `=First(Sum(Sales))`, om de som van verkopen van de eerste kolom voor het huidige rijsegment te berekenen.

Resultatentabel

| Jaar | Q1 | Q2 | Q3 | Q4 |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Sum(Sales) | First(Sum(Sales)) | Sum(Sales) | First(Sum(Sales)) | Sum(Sales) | First(Sum(Sales)) | Sum(Sales) | First(Sum(Sales)) |  |
| 2023 | 5000 | 5000 | 4000 | 5000 | 6000 | 5000 | 7000 | 5000 |
| 2024 | 4500 | 4500 | 3250 | 4500 | 6500 | 4500 | 7250 | 4500 |

Als u naar de resultaten kijkt, kunt u zien hoe de functie `First` de som van de verkoopwaarden voor de eerste kolom van elk rijsegment voor elk kwartaal retourneert. Bijvoorbeeld, in `Q4` is de waarde `Sum(Sales)` voor die periode `7000`. De `First(Sum(Sales)` waarde voor `Q4` is `5000`, wat de waarde is voor `Sum(Sales)` in `Q1`, de eerste kolomwaarde van de huidige rij, `2023`.

## Voorbeeld 5 – Scenario met First

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

#### Diagramuitdrukking

Overzicht

Een gegevensverzameling bevat verkoopcijfers per jaar voor verschillende producten over een periode van drie jaar. Het bedrijf wil de totale omzet voor het huidige jaar en de omzetgroei sinds het eerste jaar in de periode presenteren.

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:

  * `Date`

  * `Product`

  * `Sales`

Load-script

```
Example:
Load * inline [
Date, Product, Sales
2021, Apple, 100
2021, Banana, 150
2021, Carrot, 120
2022, Carrot, 80
2022, Banana, 200
2022, Apple, 110
2023, Carrot, 160
2023, Banana, 300
2023, Apple, 150
];
```

Resultaten

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

* ` Product
                                       `

Voeg dit veld toe als een kolomdimensie:

* `Date`

Maak de volgende metingen:

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

* `=(Sum(Sales) - First(Sales)) / First(Sales)`, om de groei in de verkoop sinds het eerste jaar in de gegevensverzameling te berekenen. Om deze waarde als percentage weer te geven, selecteert u onder GetalnotatieGetal &gt; Eenvoudige opmaak &gt; 12,34%.

Resultatentabel

| Product | 2021 | 2022 | 2023 |  |  |  |
| --- | --- | --- | --- | --- | --- | --- |
| Sum(Sales) | (Sum(Sales) - First(Sales)) / First(Sales) | Sum(Sales) | (Sum(Sales) - First(Sales)) / First(Sales) | Sum(Sales) | (Sum(Sales) - First(Sales)) / First(Sales) |  |
| Appel | 100 | 0.00% | 110 | 10.00% | 150 | 50.00% |
| Banaan | 150 | 0.00% | 200 | 33.33% | 300 | 100.00% |
| Wortel | 120 | 0.00% | 80 | -33.33% | 160 | 33.33% |

De resultaten tonen de jaarlijkse verkoopcijfers voor elk jaar en het groeipercentage per jaar vergeleken met de verkoopwaarden van het eerste jaar. Bijvoorbeeld, de verkoop van `Apple` steeg van een initiële waarde van `100` in `2021` naar een waarde van `150` in `2023`, wat een stijging is van `50%`. De verkoop van `Carrot` daalde van `120` in `2021` naar `80` in `2022`, een daling van `33.33%`.

## Voorbeeld - Scenario met First met een reekssom om budgetcijfers te presenteren

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

#### Diagramuitdrukking

Overzicht

Een gegevensverzameling bevat budgetcijfers per kwartaal voor een periode van twee jaar per productcategorie. Het bedrijf wil het budget voor het huidige kwartaal en het lopende totaal van het budget voor elk jaar presenteren.

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:

  * `BudgetYear`

  * `BudgetQuarter`

  * `QuarterNo`

  * `BudgetAmount`

  * `Category`

Load-script

```
Example:
Load * inline [
BudgetYear, BudgetQuarter, QuarterNo, BudgetAmount, Category
2023, Q1, 1, 2100, Online
2023, Q2, 2, 2500, Online
2023, Q3, 3, 3100, Online
2023, Q4, 4, 4100, Online
2023, Q1, 1, 5100, Store
2023, Q2, 2, 5500, Store
2023, Q3, 3, 6100, Store
2023, Q4, 4, 7100, Store
2024, Q1, 1, 2300, Online
2024, Q2, 2, 2800, Online
2024, Q3, 3, 3300, Online
2024, Q4, 4, 4400, Online
2024, Q1, 1, 5300, Store
2024, Q2, 2, 5800, Store
2024, Q3, 3, 6300, Store
2024, Q4, 4, 7400, Store
];
```

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe draaotabel en voeg deze velden toe als dimensies:

* ` BudgetYear
                                       `

* `Category`

Voeg dit veld toe als een kolomdimensie:

* `BudgetQuarter`

Maak de volgende metingen:

* `=Sum(BudgetAmount)`, om het verkoopbudget te berekenen.

* `=RangeSum(First(Sum(BudgetAmount), 1, QuarterNo))`, om het lopende totaal van het verkoopbudget voor elk kwartaal te berekenen door het bereik van het eerste kwartaal op te tellen tot `QuarterNo`, zoals geëvalueerd voor elk kwartaal.

Resultatentabel

| BudgetYear<br><br>Categorie | Q1 | Q2 | Q3 | Q4 |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Sum(BudgetAmount) | RangeSum(First(Sum(BudgetAmount), 1, QuarterNo)) | Sum(BudgetAmount) | RangeSum(First(Sum(BudgetAmount), 1, QuarterNo)) | Sum(BudgetAmount) | RangeSum(First(Sum(BudgetAmount), 1, QuarterNo)) | Sum(BudgetAmount) | RangeSum(First(Sum(BudgetAmount), 1, QuarterNo)) |  |
| (-) 2023 | 7200 | 7200 | 8000 | 15200 | 9200 | 24400 | 11200 | 35600 |
| Online | 2100 | 2100 | 2500 | 4600 | 3100 | 7700 | 4100 | 11800 |
| Winkel | 5100 | 5100 | 5500 | 10600 | 6100 | 16700 | 7100 | 23800 |
| (-) 2024 | 7600 | 7600 | 8600 | 16200 | 9600 | 25800 | 11800 | 37600 |
| Online | 2300 | 2300 | 2800 | 5100 | 3300 | 8400 | 4400 | 12800 |
| Winkel | 5300 | 5300 | 5800 | 11100 | 6300 | 17400 | 7400 | 24800 |

De resultaten tonen de budgetcijfers voor elk `Year` en elke `Category`, en het lopende totaal per `Quarter`. Bijvoorbeeld, in `Q2` van `2023`, is `QuarterNo` `2` . Daarom wordt de functie-uitdrukking geëvalueerd als `RangeSum(First(Sum(BudgetAmount), 1, 2))`, die de kolommen `BudgetAmount` voor `Q1` (`7200`) en `Q2` (`8000`) bij elkaar optelt en de waarde `15200` geretourneerd. Het resultaat geeft het totaal weer van de kolommen `Sum(BudgetAmount)` voor `Q1` en `Q2`. In `2024`, voor de `Category Online`, is de `Sum(BudgetAmount)` voor `Q1` `2300` en voor `Q2` is dit `2800`. Daarom retourneert de `RangeSum` uitdrukking `5100`.