# Before - diagramfunctie

Before() retourneert de waarde van een uitdrukking berekend aan de hand van de dimensiewaarden van een draaitabel die staan in de kolom voor de huidige kolom in een rijsegment in de draaitabel.

Syntaxis:

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

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

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 kolommen verder naar links verplaatst, geteld vanaf de huidige kolom.<br><br>Als de beginwaarde 0 wordt opgegeven, wordt de uitdrukking geëvalueerd op de huidige kolom.<br><br>Als een negatief getal voor de beginwaarde wordt opgegeven, werkt de functie Before op dezelfde wijze als de functie After 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 links 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/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

Op de eerste kolom van een rijsegment wordt een NULL-waarde geretourneerd, daar er geen kolom voor deze kolom staat.

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 |
| --- | --- |
| `Before( Sum(Sales ))` | Retourneert de som van `Sales` van de vorige kolom direct links ten opzichte van de huidige kolom. |
| `Before( Sum(Sales ), 2)` | Retourneert de som van `Sales` van de kolom die twee kolommen links van de huidige kolom staat. |
| `Before( Total Sum( Sales ))` | Retourneert de totale som van `Sales` van de vorige kolom direct links ten opzichte van de huidige kolom. |
| `RangeAvg ( Before(Sum(x),1,3))` | Rretourneert een gemiddelde van de drie resultaten van de functie `sum(x)`, berekend aan de hand van de drie kolommen direct links van de huidige kolom. |

## Voorbeeld - Basisprincipes voor Before

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

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.

* `=Before(Sum(Sales))`, om de som van de verkopen in het vorige kwartaal te tonen.

Resultatentabel

| Jaar | Q1 | Q2 | Q3 | Q4 |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Sum(Sales) | Before(Sum(Sales)) | Sum(Sales) | Before(Sum(Sales)) | Sum(Sales) | Before(Sum(Sales)) | Sum(Sales) | Before(Sum(Sales)) |  |
| 2023 | 5000 | - | 4000 | 5000 | 6000 | 4000 | 7000 | 6000 |

Als u naar de resultaten kijkt, kunt u zien hoe de functie `Before` voor elke `Quarter` de waarde van de vorige kolom retourneert die direct links van de kolom `Sum(Sales)` staat. In Q4 is de `Sum(Sales)` waarde voor die periode `7000`. De uitvoer van de functie `Before` voor `Q4` is `6000` omdat dit de waarde is van de kolom direct links van de `Sum(Sales)` voor `Q4`, namelijk de `Sum(Sales)` voor `Q3`.

## Voorbeeld - De functie Before gebruiken om de omzetgroei van jaar tot jaar te berekenen

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

#### Diagramuitdrukking

Overzicht

Een gegevensverzameling bevat verkoopcijfers van verschillende jaren. Het bedrijf wil de totale verkoop voor elk jaar en de groei in verkoop op basis van de waarde van het voorgaande 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:

  * `Year`

  * `Sales`

Load-script

```
Example:
Load * inline [
Year, Sales
2021, 1300
2022, 1800
2023, 2000
2024, 2100
];
```

Resultaten

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

* ` Year
                                       `

Maak de volgende metingen:

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

* `=(Sum(Sales) - Before(Sum(Sales))) / Before(Sum(Sales))`, om de jaarlijkse omzetgroei te berekenen. Om deze waarde als percentage weer te geven, selecteert u onder GetalnotatieGetal &gt; Eenvoudige opmaak &gt; 12,34%.

Resultatentabel

| 2021 | 2022 | 2023 | 2024 |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- |
| Sum(Sales) | (Sum(Sales) - Before(Sum(Sales)))/Before(Sum(Sales)) | Sum(Sales) | (Sum(Sales) - Before(Sum(Sales)))/Before(Sum(Sales)) | Sum(Sales) | (Sum(Sales) - Before(Sum(Sales)))/Before(Sum(Sales)) | Sum(Sales) | (Sum(Sales) - Before(Sum(Sales)))/Before(Sum(Sales)) |
| 1300 | - | 1800 | 38.46% | 2000 | 11.11% | 2100 | 5.00% |

De uitvoer van de functie `Before` geeft de jaarlijkse groei op basis van de verkoopcijfers van het vorige jaar. Bijvoorbeeld, de som van de verkopen voor `2022` was `38.46%` hoger dan de `Sum(Sales)` voor `2021`.

TipU kunt ook de functie `After` gebruiken om dezelfde berekening van de omzetgroei in dit scenario uit te voeren. Als u een negatief getal voor de beginwaarde opgeeft in de functieparameters, werkt de functie `After` op dezelfde wijze als de functie `Before` met het overeenkomstige positieve getal als beginwaarde. De volgende uitdrukking met de functie `After` (met een negatieve offsetwaarde van `-1`) retourneert bijvoorbeeld dezelfde resultaten voor de jaarlijkse omzetgroei als de `Before` functie:   
`=(Sum(Sales)-After(Sum(Sales),-1))/(After(Sum(Sales),-1))`.