# Sum — funkcja wykresu

Funkcja Sum() oblicza sumę wartości z wyrażenia lub pola dla wszystkich agregowanych danych.

Składnia:

Sum([{SetExpression}] [DISTINCT] [TOTAL [&lt;fld {,fld}&gt;]] expr])

Typ zwracanych danych: liczbowy

Argumenty

| Argument | Opis |
| --- | --- |
| expr | Wyrażenie lub pole zawierające mierzone dane. |
| SetExpression | Funkcja agregacji będzie domyślnie dokonywać agregacji na zbiorze możliwych wierszy zdefiniowanym przez selekcję. Alternatywny zestaw wierszy można zdefiniować za pomocą wyrażenia analizy zestawów. |
| DISTINCT | Jeśli przed argumentami funkcji występuje słowo DISTINCT, wówczas duplikaty wynikające z wyników obliczenia argumentów funkcji są pomijane.<br><br>InformacjaKwalifikator DISTINCT jest obsługiwany, należy jednak korzystać z niego bardzo ostrożnie, ponieważ może sprawić, że odbiorca uzna, że pokazywana jest wartość łączna, podczas gdy w rzeczywistości niektóre dane zostały pominięte. |
| TOTAL | Jeśli słowo TOTAL występuje przed argumentami funkcji, wówczas obliczenie jest wykonywane względem wszystkich możliwych wartości z uwzględnieniem bieżących selekcji, nie tylko tych należących do bieżącej wartości wymiaru, to znaczy z pominięciem wymiarów wykresu.<br><br>Korzystając z polecenia TOTAL [&lt;fld {.fld}&gt;], gdzie po kwalifikatorze TOTAL podana jest lista nazw pól stanowiących podzbiór zmiennych wymiarów wykresu, można utworzyć podzbiór wszystkich możliwych wartości.<br><br>[Określenie zakresu agregacji](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

Przykład: wyrażenia wykresu

| Przykład | Wynik |
| --- | --- |
| `Sum(UnitSales)` | Zwraca łączną sumę wartości w `UnitSales`. |
| `Sum(UnitSales*UnitPrice)` | Zwraca łączną sumę wartości `UnitPrice` pomnożonych przez zagregowane `UnitSales`. |
| `Sum(TOTAL UnitSales*UnitPrice)` | Zwraca łączną sumę dla wszystkich wierszy w tabeli oraz jako sumę, ponieważ kwalifikator `TOTAL` oznacza, że suma jest obliczana bez uwzględnienia wymiarów wykresu. |
| `Sum({1} TOTAL UnitSales*UnitPrice)` | Wyrażenie analizy zestawu `{1}` definiuje zestaw rekordów do oceny jako `ALL`, niezależnie od dokonanych wyborów. |

## Przykład — podstawy Sum

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

  * `Customer`

  * `Product`

  * `UnitSales`

  * `UnitPrice`

Skrypt ładowania

```
Example:
LOAD * inline [
Customer|Product|UnitSales|UnitPrice
Astrida|AA|4|16
Astrida|AA|10|15
Astrida|BB|9|9
Betacab|BB|5|10
Betacab|CC|2|20
Betacab|DD||25
Canutility|AA|8|15
Canutility|CC||19
] (delimiter is '|');
```

Wyniki

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

* `Customer`

* `Product`

Utwórz następujące miary:

* `=Sum(UnitSales)` w celu obliczenia sumy `UnitSales`.

* `=Sum(UnitSales*UnitPrice)` w celu obliczenia zagregowanej sumy `UnitSales` pomnożonej przez `UnitPrice`.

* `=Sum(TOTAL UnitSales*UnitPrice)` w celu obliczenia łącznej sumy dla wszystkich wierszy w tabeli oraz sumy, ponieważ kwalifikator `TOTAL` oznacza, że suma jest taka sama dla wszystkich komórek, bez uwzględnienia wymiarów wykresu.

* `=Sum({1} TOTAL UnitSales*UnitPrice)` w celu obliczenia łącznej sumy, niezależnie od dokonanego wyboru, ponieważ wyrażenie analizy zestawu `{1}` określa zestaw rekordów, które zostaną ocenione jako `ALL`, bez względu na dokonany wybór.

Results table

| Customer | Product | Sum(UnitSales) | Sum(UnitSales\*UnitPrice) | Sum(TOTAL UnitSales\*UnitPrice) | Sum({1} TOTAL UnitSales\*UnitPrice) |
| --- | --- | --- | --- | --- | --- |
| Totals | - | 38 | 505 | 505 | 505 |
| Astrida | AA | 14 | 214 | 505 | 505 |
| Astrida | BB | 9 | 81 | 505 | 505 |
| Betacab | BB | 5 | 50 | 505 | 505 |
| Betacab | CC | 2 | 40 | 505 | 505 |
| Betacab | DD | 0 | 0 | 505 | 505 |
| Canutility | AA | 8 | 120 | 505 | 505 |
| Canutility | CC | 0 | 0 | 505 | 505 |

W tym przykładzie należy zwrócić uwagę na następujące elementy:

* W przypadku pierwszej miary, `Sum(UnitSales`, komórka `Totals` zwraca wartość `38`, która jest sumą wartości w `UnitSales` dla wszystkich klientów i produktów. Wyniki dla każdej kombinacji klientów i produktów są agregowane w celu uzyskania łącznej sumy `UnitSales` dla każdej kombinacji. Na przykład suma wszystkich `UnitSales` produktu `AA` od klienta `Astrida` wynosi `14`.

* Dla drugiej miary, `Sum(UnitSales*UnitPrice)`, komórka `Totals` zwraca `505`. Jest to zagregowana suma `UnitSales` pomnożona przez `UnitPrice` dla każdej kombinacji klienta i produktu.

* W przypadku trzeciej miary, `Sum(TOTAL UnitSales*UnitPrice)`, wartością zwracaną we wszystkich wierszach, w tym `Totals`, jest `505`, ponieważ kwalifikator `TOTAL` nie uwzględnia wymiarów wykresu. Jeśli jednak wybór zostanie dokonany na wymiarze takim jak `Customer`, wówczas wartości ulegną zmianie. Na przykład, jeśli wybierzesz `Betacab`, wynikowa tabela będzie miała tylko trzy wiersze, po jednym dla każdego z rekordów `Betacab`, ale kolumna zwróci tę samą wartość całkowitą dla wszystkich wierszy (`90`).

* Czwarta miara, `Sum({1} TOTAL UnitSales*UnitPrice)` zwraca wartość `505` niezależnie od jakichkolwiek wyborów, ponieważ wyrażenie analizy zestawu `{1}` definiuje zestaw rekordów do oceny jako `ALL`. W przypadku wybrania klienta, na przykład `Canutility`, zwracaną wartością jest nadal `505`.

## Przykład — zastosowanie Sum z agregacją danych sprzedaży

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

#### Wyrażenie wykresu

Przegląd

Zestaw danych zawiera dane dotyczące sprzedaży sklepów w poszczególnych regionach. Firma chce agregować sprzedaż.

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:

  * `Month`

  * `SalesProduct`

  * `Region`

  * `Sales`

Skrypt ładowania

```
Example:
Load * inline [
Month,SalesProduct, Region, Sales
2024-01-01, T-shirt, East, 100
2024-01-01, T-shirt, West, 120
2024-01-01, Jeans, East, 200
2024-01-01, Jeans, West, 180
2024-02-01, T-shirt, East, 150
2024-02-01, T-shirt, West, 130
2024-02-01, Jeans, East, 250
2024-02-01, Jeans, West, 220
];
```

Wyniki

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

* `Month`

* `Region`

Dodaj to pole jako wymiar kolumny:

* `SalesProduct`

Utwórz następującą miarę:

* `=Sum(Sales)` w celu obliczenia łącznej sprzedaży dla każdego produktu.

Aby rozwinąć tabelę przestawną tak, by widoczne były wszystkie wiersze, w panelu właściwości, w sekcji Wygląd wybierz opcję Prezentacja. W obszarze Wiersze wybierz w pełni rozszerzone.

Results table

| Month<br>Region | SalesProduct |  |
| --- | --- | --- |
| Jeans | T-shirt |  |
| 2024-01-01 | 380 | 220 |
| East | 200 | 100 |
| West | 180 | 120 |
| 2024-02-01 | 470 | 280 |
| East | 250 | 150 |
| West | 220 | 130 |

Wyniki pokazują sprzedaż dla każdego `SalesProduct` według `Month` i `Region`, z zagregowaną sumą dla każdego `Month`.

## Dowiedz się więcej

* [Analiza zestawów](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-analysis-expressions.htm)
* [Określenie zakresu agregacji](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm)