# Sum — функция диаграммы

Sum() вычисляет итоговое значение, выданное выражением или полем, агрегированных данных.

Синтаксис:

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

Возвращаемые типы данных: числовое значение

Аргументы:

* expr: Выражение или поле, содержащее данные для измерения.

* SetExpression: По умолчанию функция агрегирования агрегирует множество возможных записей, определенных выборкой. Альтернативный набор записей может быть определен набором выражений анализа.

* DISTINCT: Если слово DISTINCT указывается до аргументов функции, все дубликаты, возникшие в результате оценки аргументов функции, будут проигнорированы.

  Примечание к информацииНесмотря на то, что классификатор DISTINCT поддерживается, используйте его чрезвычайно осторожно, поскольку его использование может ввести в заблуждение — читатель может подумать, что показано итоговое значение, в то время как некоторые данные опущены.

* TOTAL: Если слово TOTAL стоит перед аргументами функции, вычисление выполняется по всем возможным значениям, указанным в текущих выборках, а не только в тех, которые относятся к значению текущего измерения, т. е. измерения диаграммы игнорируются. После префикса TOTAL может быть указан список, включающий одно или несколько имен полей в угловых скобках &lt;fld&gt;. Эти имена полей должны быть поднабором переменных измерений диаграммы.

  [Определение объема агрегирования](https://help.qlik.com/ru-RU/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/ChartFunctions/define-aggregation-scope.htm)

Примеры:

Примеры и результаты

| Пример | Результат |
| --- | --- |
| `Sum(UnitSales)` | 38. Итого значений в элементе `UnitSales`. |
| `Sum(UnitSales*UnitPrice)` | 505. Итого элемента `UnitPrice`, умноженное на агрегированный элемент `UnitSales`. |
| `Sum(TOTAL UnitSales*UnitPrice)` | Значение 505 для всех строк в таблице, а также итоговое значение, поскольку классификатор TOTAL означает, что сумма по-прежнему равна 505, без учета измерений диаграммы. |
| Выполните выборку`  Customer B `.<br><br>`Sum({1} TOTAL UnitSales*UnitPrice)` | Значение 505, независимо от сделанной выборки, поскольку выражение Set Analysis {1} определяет порядок записей для оценки в качестве элемента ALL, независимо от выборки. |

**Данные, используемые в примерах:**

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

Пример данных в виде таблицы

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

## Подробнее

* [Анализ множества и выражения множества](https://help.qlik.com/ru-RU/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/ChartFunctions/SetAnalysis/set-analysis-expressions.htm)
* [Определение объема агрегирования](https://help.qlik.com/ru-RU/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/ChartFunctions/define-aggregation-scope.htm)