# Before - diagramfunktion

Before()returnerar värdet av ett uttryck utvärderat men en pivottabells dimensionsvärden som de visas i kolumnen framför den aktuella kolumnen inom ett radsegment i pivottabellen.

Syntax:

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

Anteckning om informationFunktionen returnerar NULL i alla diagramtyper utom pivottabeller.

Anteckning om informationSortering 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.

Argument

| Argument | Beskrivning |
| --- | --- |
| expr | Det uttryck eller fält som innehåller de data som ska mätas. |
| offset | Om en offset n större än 1 anges, flyttas utvärderingen av uttrycket n kolumner till vänster om den aktuella kolumnen.<br><br>En förskjutning på 0 utvärderar uttrycket i den aktuella kolumnen.<br><br>Anges ett negativt värde för startpunkten gör det att Before-funktionen fungerar likadant som After-funktionen med motsvarande positivt värde för startpunkten. |
| count | Om en tredje parameter count anges till större än 1 returnerar funktionen ett intervall av värden, ett för var och en av tabellkolumnerna upp till värdet för count räknat åt vänster från den ursprungliga cellen. |
| TOTAL | Om tabellen är endimensionell eller om kvalificeraren iTOTAL används som argument, motsvarar det aktuella kolumnsegmentet alltid hela kolumnen.<br><br>[Definiera aggregeringens omfattning](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

I radsegmentets första kolumn kommer värdet NULL att returneras eftersom det inte finns någon kolumn före denna.

Om pivottabellen har flera horisontella dimensioner, inbegriper det aktuella radsegmentet endast kolumner som har samma värden som den aktuella kolumnen i samtliga dimensionsrader utom den rad som visar den sista dimensionen i fältens inbördes sorteringsordning. Fältens inbördes sorteringsordning för horisontella dimensioner i pivottabeller definieras helt enkelt som dimensionernas ordning uppifrån och ned.

Exempel: diagramuttryck

| Exempel | Resultat |
| --- | --- |
| `Before( Sum(Sales ))` | Returnerar summan av `Sales` från föregående kolumn omedelbart till vänster i förhållande till aktuell kolumn. |
| `Before( Sum(Sales ), 2)` | Returnerar summan av `Sales` från den kolumn som ligger två kolumner till vänster om aktuell kolumn. |
| `Before( Total Sum( Sales ))` | Returnerar den totala summan av `Sales` från föregående kolumn omedelbart till vänster i förhållande till aktuell kolumn. |
| `RangeAvg ( Before(Sum(x),1,3))` | Returnerar medelvärdet för de tre resultaten av `sum(x)`-funktionen utvärderad på de tre kolumnerna omedelbart till vänster om den aktuella kolumnen. |

## Exempel – grunderna i Before

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

#### Diagramuttryck

Översikt

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning som läses in i en datatabell som heter `Example`.

* Följande fält i datatabellen:

  * `Year`

  * `Quarter`

  * `Sales`

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny pivottabell och lägg till det här fältet som en raddimension:

* `Year`

Lägg till detta fält som en kolumndimension:

* `Quarter`

Skapa följande mått:

* `=Sum(Sales)`, för att beräkna summan av försäljningen.

* `=Before(Sum(Sales))`, för att visa summan av försäljningen under föregående kvartal.

Resultattabell

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

När du tittar på resultaten kan du se hur funktionen `Before` returnerar värdet för föregående kolumn som ligger omedelbart till vänster om kolumnen `Sum(Sales)` för varje `Quarter`. Under Q4 är t.ex. `Sum(Sales)`-värdet för den perioden `7000`. Utdata för funktionen `Before` för `Q4` är `6000`, vilket är värdet för kolumnen direkt till vänster om `Sum(Sales)` för `Q4`, nämligen `Sum(Sales)` för `Q3`.

## Exempel – Använda Before-funktionen för att beräkna försäljningstillväxten på årsbasis

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

#### Diagramuttryck

Översikt

En datauppsättning innehåller försäljningssiffror för flera år. Företaget vill presentera den totala försäljningen för varje år och försäljningstillväxten baserat på värdet från föregående år.

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning som läses in i en datatabell som heter `Example`.

* Följande fält i datatabellen:

  * `Year`

  * `Sales`

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny pivottabell och lägg till det här fältet som en kolumndimension:

* ` Year
                                       `

Skapa följande mått:

* `=Sum(Sales)`, för att beräkna summan av försäljningen.

* `=(Sum(Sales) - Before(Sum(Sales))) / Before(Sum(Sales))`, för att beräkna den årliga försäljningstillväxten. Om du vill visa värdet i procent väljer du Nummer &gt; Enkel formatering &gt; 12,34% under Nummerformatering.

Resultattabell

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

Utdata från funktionen `Before` visar tillväxten från år till år utifrån föregående års försäljningssiffror. Till exempel var försäljningssumman för `2022` `38.46%` högre än `Sum(Sales)` för `2021`.

Anteckning om tipsDu kan också använda funktionen `After` för att göra samma beräkning av försäljningstillväxten i det här scenariot. När du anger ett negativt värde för startpunkten i funktionsparametrarna gör det att `After`-funktionen fungerar likadant som `Before`-funktionen med motsvarande positivt värde för startpunkten. Till exempel ger det följande uttrycket med funktionen `After` (med en negativ startpunkt på `-1`) samma resultat för årlig försäljningstillväxt som funktionen `Before`:   
`=(Sum(Sales)-After(Sum(Sales),-1))/(After(Sum(Sales),-1))`.