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

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

Синтаксис:  

Sum([{SetExpression}] [DISTINCT] [TOTAL [<fld {,fld}>]] expr)

Тип возвращаемого значения: число

Аргументы:  

Аргумент Описание
expr Выражение или поле, содержащее данные для измерения.
SetExpression По умолчанию функция агрегирования агрегирует множество возможных записей, определенных выборкой. Альтернативный набор записей может быть определен набором выражений анализа.
DISTINCT Если слово DISTINCT указывается до аргументов функции, все дубликаты, возникшие в результате оценки аргументов функции, будут проигнорированы.
Примечание: Несмотря на то, что префикс DISTINCT поддерживается, используйте его чрезвычайно осторожно, поскольку его использование может ввести в заблуждение — читатель может подумать, что показано итоговое значение, в то время как некоторые данные опущены.
TOTAL

Если слово TOTAL стоит перед аргументами функции, вычисление выполняется по всем возможным значениям, указанным в текущих выборках, а не только в тех, которые относятся к значению текущего измерения, т. е. измерения диаграммы игнорируются.

После префикса TOTAL может быть указан список, включающий одно или несколько имен полей в угловых скобках <fld>. Эти имена полей должны быть поднабором переменных измерений диаграммы.

См.: Определение объема агрегирования

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

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
Примеры Результаты

Sum(UnitSales)

38. Итого значений в элементе UnitSales.

Sum(UnitSales*UnitPrice)

505. Итого элемента UnitPrice, умноженное на агрегированный элемент UnitSales.

Sum(TOTAL UnitSales*UnitPrice)

Значение 505 для всех строк в таблице, а также итоговое значение, поскольку префикс TOTAL означает, что сумма по-прежнему равна 505, без учета измерений диаграммы.

Выполните выборку Customer B.

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