# Last — funkcja wykresu

Funkcja Last() zwraca wartość wyrażenia obliczoną na podstawie wartości wymiaru tabeli przestawnej występujących w ostatniej 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:

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

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 ostatniej kolumny.<br><br>Podanie argumentu offset równego 0 spowoduje ocenę wartości wyrażenia w ostatniej kolumnie bieżącego segmentu wiersza.<br><br>Określenie ujemnej wartości argumentu offset sprawia, że funkcja Last działa tak samo jak funkcja First 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/sense/May2026/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 |
| --- | --- |
| `Last( Sum(Sales ))` | Zwraca sumę `Sales` z ostatniej kolumny bieżącego segmentu wiersza. |
| `Last( Sum(Sales ), 2)` | Zwraca sumę `Sales` z kolumny znajdującej się dwie kolumny na lewo od ostatniej kolumny w bieżącym segmencie wiersza. |
| `Last( Total Sum( Sales ))` | Zwraca łączną sumę `Sales` z ostatniej kolumny bieżącego segmentu wiersza. |
| `RangeAvg (Last(Sum(x),1,5))` | Zwraca średnią z wyników funkcji `sum(x)` ocenianej w pięciu skrajnych kolumnach po prawej stronie bieżącego segmentu wiersza. |

## Przykład — podstawy Last

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

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

Tabela wynikowa

| Rok | Q1 | Q2 | Q3 | Q4 |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Sum(Sales) | Ostatni(Suma(Sprzedaż)) | Sum(Sales) | Ostatni(Suma(Sprzedaż)) | Sum(Sales) | Ostatni(Suma(Sprzedaż)) | Sum(Sales) | Ostatni(Suma(Sprzedaż)) |  |
| 2023 | 5000 | 7000 | 4000 | 7000 | 6000 | 7000 | 7000 | 7000 |
| 2024 | 4500 | 7250 | 3250 | 7250 | 6500 | 7250 | 7250 | 7250 |

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

## Przykład — zastosowanie Last

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

#### Wyrażenie wykresu

Przegląd

Zestaw danych zawiera dane dotyczące sprzedaży różnych produktów w okresie trzech lat. Firma chce przedstawić całkowitą sprzedaż za bieżący okres oraz wzrost sprzedaży w porównaniu z ostatnimi (lub najnowszymi) danymi sprzedaży 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
2024-01-01, Apple, 100
2024-01-01, Banana, 150
2024-01-01, Carrot, 120
2024-02-01, Carrot, 80
2024-02-01, Banana, 200
2024-02-01, Apple, 110
2024-03-01, Carrot, 160
2024-03-01, Banana, 300
2024-03-01, 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.

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

Tabela wynikowa

| Produkt | 2024-01-01 | 2024-02-01 | 2024-03-01 |  |  |  |
| --- | --- | --- | --- | --- | --- | --- |
| Sum(Sales) | (Ostatni(Suma(Sprzedaż)) - Suma(Sprzedaż)) / Suma(Sprzedaż) | Sum(Sales) | (Ostatnie(Suma(Sprzedaż)) - Suma(Sprzedaż)) / Suma(Sprzedaż) | Sum(Sales) | (Ostatnie(Suma(Sprzedaż)) - Suma(Sprzedaż)) / Suma(Sprzedaż) |  |
| Jabłko | 100 | 50.00% | 110 | 36.36% | 150 | 0.00% |
| Banan | 150 | 100,00% | 200 | 50,00% | 300 | 0,00% |
| Marchew | 120 | 33.33% | 80 | 100,00% | 160 | 0,00% |

W tym przykładzie można zobaczyć, jak przebiegała sprzedaż od początku okresu sprzedaży do ostatniego okresu. Na przykład w pierwszym okresie `2024-01-01` sprzedaż produktu `Apple` wyniosła `100` w porównaniu do najnowszych danych sprzedaży `150` za okres `2024-03-01`. Oznacza to wzrost o `50%`.

## Przykład – użycie Last do obliczenia odchylenia budżetowego

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

#### Wyrażenie wykresu

Przegląd

Zestaw danych zawiera dane budżetowe w podziale na kwartały za okres dwuletni. Firma chce przedstawić całkowitą kwotę budżetu na każdy kwartał oraz odchylenie między kwotą budżetu na bieżący okres w porównaniu ze średnim budżetem kwartalnym na cały 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:

  * `Year`

  * `Quarter`

  * `Budget`

Skrypt ładowania

```
Example:
Load * inline [
Year, Quarter, Budget
2023, Q1, 1200
2023, Q2, 1100
2023, Q3, 1300
2023, Q4, 1400
2024, Q1, 1550
2024, Q2, 1230
2024, Q3, 1400
2024, Q4, 1600
];
```

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(Budget)` w celu obliczenia budżetu na dany kwartał.

* `=Sum(Budget) - RangeAvg(Last(Budget, 1, 4))` w celu obliczenia różnicy między kwotą `Budget` za bieżący okres w porównaniu ze średnim budżetem kwartalnym na dany rok.

Tabela wynikowa

| Rok | Q1 | Q2 | Q3 | Q4 |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Suma(Budżet) | Suma(Budżet) - ŚredniaZakresu(Ostatni(Budżet, 1, 4)) | Suma(Budżet) | Suma(Budżet) - ŚredniaZakresu(Ostatni(Budżet, 1, 4)) | Sum(Budget) | Sum(Budget) - RangeAvg(Last(Budget, 1, 4)) | Sum(Budget) | Sum(Budget) - RangeAvg(Last(Budget, 1, 4)) |  |
| 2023 | 1200 | -50 | 1100 | -150 | 1300 | 50 | 1400 | 150 |
| 2024 | 1550 | 105 | 1230 | -215 | 1400 | -45 | 1600 | 155 |

Korzystając z funkcji `Last`, można zobaczyć, jak kwota budżetu na kwartał różni się w porównaniu ze średnim budżetem kwartalnym. Na przykład w `2023` całkowity budżet na rok wynosi `5000` (`1200 + 1100 + 1300 + 1400`), dlatego średni budżet kwartalny wynosi `1250`. Ponieważ kwota budżetu dla `Q1` wynosi `1200`, jest ona o `50` mniejsza w porównaniu do średniego kwartalnego budżetu `1250`, podczas gdy odchylenie budżetu na `Q4` wynosi `150` powyżej średniego kwartalnego budżetu.