# Sum - funkcja wykresu

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

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

Typ zwracanych danych: liczbowy

* expr: Wyrażenie lub pole zawierające mierzone dane.

* SetExpression: Funkcja agregacji będzie domyślnie dokonywać agregacji na zbiorze możliwych rekordów zdefiniowanym przez daną 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.

  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. Po kwalifikatorze TOTAL może następować lista zawierająca co najmniej jedną nazwę pola w nawiasach trójkątnych &lt;fld&gt;. Te nazwy pól powinny być podzbiorem zmiennych wymiaru wykresu.

  [Określenie zakresu agregacji](https://help.qlik.com/pl-PL/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/ChartFunctions/define-aggregation-scope.htm)

Przykłady i wyniki

| Przykład | Wynik |
| --- | --- |
| `Sum(UnitSales)` | 38 Łączna suma wartości z kolumny `UnitSales`. |
| `Sum(UnitSales*UnitPrice)` | 505. Łączna suma wartości z kolumny `UnitPrice` pomnożonych przez wartości z kolumny `UnitSales`. |
| `Sum(TOTAL UnitSales*UnitPrice)` | 505 dla wszystkich wierszy w tabeli oraz jako łączna suma, ponieważ kwalifikator TOTAL informuje o tym, że suma nadal wynosi 505, bez uwzględnienia wymiarów wykresu. |
| Wybierz`  Customer B `.<br><br>`Sum({1} TOTAL UnitSales*UnitPrice)` | 505, niezależnie od dokonanej selekcji, ponieważ wyrażenie Set Analysis {1} określa zestaw rekordów, które zostaną ocenione w kategorii ALL, bez względu na dokonaną selekcję. |

**Dane zastosowane w przykładach:**

`ProductData:` `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 '|');`

Przykładowe dane w formie tabeli

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

[Analiza zestawów i wyrażenia zestawów](https://help.qlik.com/pl-PL/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/ChartFunctions/SetAnalysis/set-analysis-expressions.htm)

[Określenie zakresu agregacji](https://help.qlik.com/pl-PL/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/ChartFunctions/define-aggregation-scope.htm)