# First — funkcja wykresu

Funkcja First() zwraca wartość wyrażenia obliczoną na podstawie wartości wymiaru tabeli przestawnej występujących w pierwszej kolumnie bieżącego segmentu wierszy tabeli przestawnej. Ta 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.

Składnia:

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

Argumenty

| Argument | Opis |
| --- | --- |
| expression | Wyrażenie lub pole zawierające mierzone dane. |
| offset | Określenie wartości offsetn większej niż 1 umożliwia przeniesienie oceny wyrażenia o n kolumny w prawo od pierwszej kolumny.<br><br>Podanie argumentu offset równego 0 spowoduje ocenę wartości wyrażenia w pierwszej kolumnie bieżącego segmentu wiersza.<br><br>Podanie argumentu offset równego 0 spowoduje ocenę wartości wyrażenia w bieżącym wierszu.<br><br>Określenie ujemnej wartości argumentu offset sprawia, że funkcja First działa tak samo jak funkcja Last 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 prawo 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/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

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 |
| --- | --- |
| `First( Sum(Sales ))` | Zwraca sumę `Sales` z pierwszej kolumny bieżącego segmentu wiersza. |
| `First( Sum(Sales ), 2)` | Zwraca sumę `Sales` z kolumny znajdującej się dwie kolumny na prawo od pierwszej kolumny w bieżącym segmencie wiersza. |
| `First( Total Sum( Sales ))` | Zwraca łączną sumę `Sales` z pierwszej kolumny bieżącego segmentu wiersza. |
| `RangeAvg (First(Sum(x),1,5))` | Zwraca średnią z wyników funkcji `sum(x)` ocenianą w pięciu skrajnych kolumnach po lewej stronie bieżącego segmentu wiersza. |

## Przykład — podstawy First

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/first.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
2024, Q1, 4500
2024, Q2, 3250
2024, Q3, 6500
2024, Q4, 7250
];
```

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.

* `=First(Sum(Sales))` w celu obliczenia sumy sprzedaży z pierwszej kolumny bieżącego segmentu wiersza.

Tabela wynikowa

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

Patrząc na wyniki, można zobaczyć, jak funkcja `First` zwraca sumę wartości sprzedaży dla pierwszej kolumny każdego segmentu wiersza dla każdego kwartału. Na przykład w `Q4` wartość `Sum(Sales)` dla tego okresu to `7000`. Wartość `First(Sum(Sales)` dla `Q4` to `5000`, co jest wartością dla `Sum(Sales)` w kolumnie `Q1`, pierwszej kolumnie bieżącego wiersza, `2023`.

## Przykład — zastosowanie First

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

#### Wyrażenie wykresu

Przegląd

Zestaw danych zawiera dane dotyczące sprzedaży różnych produktów z podziałem na lata w okresie trzech lat. Firma chce przedstawić całkowitą sprzedaż za bieżący rok oraz wzrost sprzedaży od pierwszego roku w tym okresie.

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:

  * `Date`

  * `Product`

  * `Sales`

Skrypt ładowania

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

Wyniki

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

* `Product`

Dodaj to pole jako wymiar kolumny:

* `Date`

Utwórz następujące miary:

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

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

Tabela wynikowa

| Produkt | 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) |  |
| Apple | 100 | 0.00% | 110 | 10.00% | 150 | 50.00% |
| Banana | 150 | 0.00% | 200 | 33.33% | 300 | 100.00% |
| Carrot | 120 | 0.00% | 80 | -33.33% | 160 | 33.33% |

Wyniki pokazują roczne wartości sprzedaży dla każdego roku oraz stopę wzrostu w ujęciu procentowym w porównaniu do wartości sprzedaży z pierwszego roku. Na przykład sprzedaż `Apple` wzrosła z początkowej wartości `100` w `2021` do wartości `150` w `2023`, co stanowi wzrost o `50%`. Sprzedaż produktu `Carrot` spadła z `120` w `2021` do `80` w `2022`, co oznacza spadek o `33.33%`.

## Przykład — zastosowanie First wykorzystujące sumę zakresu do prezentacji danych budżetowych

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

#### Wyrażenie wykresu

Przegląd

Zestaw danych zawiera dane budżetowe w podziale na kwartały za dwuletni okres w podziale na kategorie produktów. Firma chce przedstawić budżet na bieżący kwartał i bieżącą sumę budżetu na każdy rok.

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:

  * `BudgetYear`

  * `BudgetQuarter`

  * `QuarterNo`

  * `BudgetAmount`

  * `Category`

Skrypt ładowania

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę przestawną i dodaj te pola jako wymiary wierszy:

* `BudgetYear`

* `Category`

Dodaj to pole jako wymiar kolumny:

* `BudgetQuarter`

Utwórz następujące miary:

* `=Sum(BudgetAmount)` w celu obliczenia budżetowej wartości sprzedaży.

* `=RangeSum(First(Sum(BudgetAmount), 1, QuarterNo))` w celu obliczenia bieżącej sumy sprzedaży budżetowej dla każdego kwartału, sumując zakres od pierwszego kwartału do `QuarterNo` zgodnie z oceną dla każdego kwartału.

Tabela wynikowa

| BudgetYear<br><br>Kategoria | 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 |
| Zapisz | 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 |
| Zapisz | 5300 | 5300 | 5800 | 11100 | 6300 | 17400 | 7400 | 24800 |

Wyniki przedstawiają dane budżetowe dla każdego `Year` i `Category` oraz sumę bieżącą według `Quarter`. Na przykład, w kwartale `Q2` roku `2023`, `QuarterNo` ma wartość `2`. Dlatego wyrażenie funkcji jest obliczane jako `RangeSum(First(Sum(BudgetAmount), 1, 2))`, które sumuje kolumny `BudgetAmount` dla kwartału `Q1` (`7200`) oraz `Q2` (`8000`) i zwraca wartość `15200`. Wynik zwraca sumę kolumn `Sum(BudgetAmount)` dla `Q1` i `Q2`. W roku `2024` dla `Category Online` `Sum(BudgetAmount)` za `Q1` wynosi `2300`, a za `Q2` wynosi `2800`. W związku z tym wyrażenie `RangeSum` zwraca `5100`.