# Before — funkcja wykresu

Funkcja Before() zwraca wartość wyrażenia obliczoną na podstawie wartości wymiaru tabeli przestawnej występujących w kolumnie znajdującej się przed kolumną bieżącą w ramach segmentu wierszy tabeli przestawnej.

Składnia:

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

InformacjaTa funkcja zwraca wartość NULL we wszystkich typach wykresów z wyjątkiem tabel przestawnych.

InformacjaSortowanie według wartości Y w wykresach albo sortowanie według kolumn wyrażeń w tabelach jest niedozwolone, gdy w dowolnym z wyrażeń wykresu stosowana jest ta funkcja wykresu. W takiej sytuacji te opcje sortowania są automatycznie wyłączone. Kiedy używasz tej funkcji wykresu w wizualizacji albo tabeli, sortowanie wizualizacji zostanie przywrócone do sortowania danych wejściowych tej funkcji.

Argumenty

| Argument | Opis |
| --- | --- |
| expr | Wyrażenie lub pole zawierające mierzone dane. |
| offset | Określenie wartości offset n większej niż 1 umożliwia przeniesienie oceny wyrażenia o n kolumn w lewo od bieżącej kolumny.<br><br>Podanie argumentu offset równego 0 spowoduje ocenę wartości wyrażenia w bieżącej kolumnie.<br><br>Określenie ujemnej wartości argumentu offset sprawia, że funkcja Before działa tak samo jak funkcja After z odpowiednią dodatnią wartością argumentu offset. |
| count | Jeśli trzeci parametr count będzie większy od 1, funkcja zwróci zakres wartości, po jednej dla każdej z kolumn tabeli do wartości count, liczonych w lewo od pierwotnej komórki. |
| TOTAL | Jeśli tabela jest jednowymiarowa lub jako argument zostanie podany kwalifikator TOTAL, bieżący segment kolumny jest zawsze równy całej kolumnie.<br><br>[Określenie zakresu agregacji](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

W przypadku pierwszej kolumny segmentu wiersza zostanie zwrócona wartość NULL, ponieważ tej kolumny nie poprzedza żadna kolumna.

Jeśli tabela przestawna zawiera wiele wymiarów poziomych, wówczas bieżący segment wiersza będzie zawierać tylko kolumny z takimi samymi wartościami, co bieżąca kolumna we wszystkich wierszach wymiaru, z wyjątkiem wiersza przedstawiającego ostatni wymiar poziomy w kolejności sortowania między polami. Kolejność sortowania między polami dla wymiarów poziomych w tabelach przestawnych jest zdefiniowana przez kolejność wymiarów od góry do dołu..

Przykład: wyrażenia wykresu

| Przykład | Wynik |
| --- | --- |
| `Before( Sum(Sales ))` | Zwraca sumę `Sales` z poprzedniej kolumny bezpośrednio po lewej stronie względem bieżącej kolumny. |
| `Before( Sum(Sales ), 2)` | Zwraca sumę `Sales` z kolumny znajdującej się dwie kolumny na lewo od bieżącej kolumny. |
| `Before( Total Sum( Sales ))` | Zwraca łączną sumę `Sales` z poprzedniej kolumny bezpośrednio po lewej stronie względem bieżącej kolumny. |
| `RangeAvg ( Before(Sum(x),1,3))` | Zwraca średnią z trzech wyników funkcji `sum(x)` ocenianej w trzech kolumnach znajdujących się bezpośrednio po lewej stronie kolumny bieżącej. |

## Przykład — podstawy Before

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

#### Wyrażenie wykresu

Przegląd

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych załadowany do tabeli o nazwie `Example`.

* Tabela zawiera następujące pola:

  * `Year`

  * `Quarter`

  * `Sales`

Skrypt ładowania

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę przestawną i dodaj to pole jako wymiar wiersza:

* `Year`

Dodaj to pole jako wymiar kolumny:

* `Quarter`

Utwórz następujące miary:

* `=Sum(Sales)` w celu obliczenia sumy sprzedaży.

* `=Before(Sum(Sales))` w celu pokazania sumy sprzedaży w poprzednim kwartale.

Tabela wynikowa

| Rok | Q1 | Q2 | Q3 | Q4 |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Sum(Sales) | Poprzedni(Suma(Sprzedaż)) | Sum(Sales) | Poprzedni(Suma(Sprzedaż)) | Sum(Sales) | Poprzedni(Suma(Sprzedaż)) | Sum(Sales) | Poprzedni(Suma(Sprzedaż)) |  |
| 2023 | 5000 | - | 4000 | 5000 | 6000 | 4000 | 7000 | 6000 |

Patrząc na wyniki, można zobaczyć, jak funkcja `Before` zwraca wartość poprzedniej kolumny, która znajduje się bezpośrednio po lewej stronie kolumny `Sum(Sales)` dla każdego `Quarter`. Na przykład w IV kwartale wartość `Sum(Sales)` za ten okres wynosi `7000`. Wyjściem funkcji `Before` dla `Q4` jest `6000`, co jest wartością kolumny znajdującej się bezpośrednio po lewej stronie kolumny `Sum(Sales)` za `Q4`, a konkretnie `Sum(Sales)` za `Q3`.

## Przykład – użycie funkcji Before do obliczenia wzrostu sprzedaży rok do roku

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

#### Wyrażenie wykresu

Przegląd

Zestaw danych zawiera wyniki sprzedaży z kilku lat. Firma chce przedstawić całkowitą sprzedaż za każdy rok oraz wzrost sprzedaży w oparciu o wartość z poprzedniego roku.

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych załadowany do tabeli o nazwie `Example`.

* Tabela zawiera następujące pola:

  * `Year`

  * `Sales`

Skrypt ładowania

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę przestawną i dodaj to pole jako wymiar kolumny:

* ` Year
                                       `

Utwórz następujące miary:

* `=Sum(Sales)` w celu obliczenia sumy sprzedaży.

* `=(Sum(Sales) - Before(Sum(Sales))) / Before(Sum(Sales))` w celu obliczenia rocznego wzrostu sprzedaży. Aby wyświetlić tę wartość w procentach, w sekcji Formatowanie liczb wybierz opcję Liczba &gt; Formatowanie proste &gt; 12,34%.

Tabela wynikowa

| 2021 | 2022 | 2023 | 2024 |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- |
| Sum(Sales) | (Suma(Sprzedaż) - Poprzedni(Suma(Sprzedaż)))/Poprzedni(Suma(Sprzedaż)) | Sum(Sales) | (Suma(Sprzedaż) - Przed(Suma(Sprzedaż)))/Przed(Suma(Sprzedaż)) | Sum(Sales) | (Suma(Sprzedaż) - Przed(Suma(Sprzedaż)))/Przed(Suma(Sprzedaż)) | Sum(Sales) | (Suma(Sprzedaż) - Przed(Suma(Sprzedaż)))/Przed(Suma(Sprzedaż)) |
| 1300 | - | 1800 | 38.46% | 2000 | 11.11% | 2100 | 5.00% |

Wynik funkcji `Before` zwraca wzrost rok do roku w oparciu o dane sprzedaży z poprzedniego roku. Na przykład suma sprzedaży dla `2022` była o `38.46%` wyższa niż `Sum(Sales)` dla `2021`.

WskazówkaW tym przypadku można również użyć funkcji `After` do wykonania tych samych obliczeń wzrostu sprzedaży. Po określeniu ujemnej wartości argumentu offset w parametrach funkcja `After` działa tak samo jak funkcja `Before` z odpowiednią dodatnią wartością argumentu offset. Na przykład następujące wyrażenie wykorzystujące funkcję `After` (z ujemną wartością argumentu offset `-1`) zwraca takie same wyniki rocznego wzrostu sprzedaży jak funkcja `Before`:   
`=(Sum(Sales)-After(Sum(Sales),-1))/(After(Sum(Sales),-1))`.