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

Count() используется для агрегирования текстовых и числовых значений в каждом измерении диаграммы.

Syntax:  

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

Return data type: целое число

Arguments:  

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

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

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

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

Examples and results:  

Customer Product OrderNumber UnitSales Unit Price
Astrida AA 1 4 16
Astrida AA 7 10 15
Astrida BB 4 9 9
Betacab BB 6 5 10
Betacab CC 5 2 20
Betacab DD 1 25 25
Canutility AA 3 8 15
Canutility CC     19
Divadip AA 2 4 16
Divadip DD 3   25

В следующих примерах считается, что все клиенты выбраны, если не указано иначе.

Пример Результат
Count(OrderNumber)

Значение 10, поскольку существует 10 полей, которые могут иметь значение для элемента OrderNumber, а также учитываются все записи, даже пустые.

Примечание: «0» считается значением, а не пустой ячейкой. Тем не менее, если мера агрегирует значение для измерения до 0, это измерение не будет включено в диаграммы.
Count(Customer) Значение 10, поскольку элемент Count оценивает число вхождений во всех полях.
Count(DISTINCT [Customer]) Значение 4, поскольку при использовании классификатора Distinct элемент Count оценивает только уникальные вхождения.

При условии выбора клиента Canutility

Count(OrderNumber)/Count({1} TOTAL OrderNumber)

Значение 0,2, поскольку выражение возвращает число заказов выбранного клиента в виде процентного соотношения заказов всех клиентов. В этом случае 2/10.

При условии выбора клиентов Astrida и Canutility

Count(TOTAL <Product> OrderNumber)

Значение 5, поскольку это число заказов, размещенных для продуктов только выбранных клиентов, пустые ячейки учитываются.

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

Temp:

LOAD * inline [

Customer|Product|OrderNumber|UnitSales|UnitPrice

Astrida|AA|1|4|16

Astrida|AA|7|10|15

Astrida|BB|4|9|9

Betacab|CC|6|5|10

Betacab|AA|5|2|20

Betacab|BB|1|25| 25

Canutility|AA|3|8|15

Canutility|CC|||19

Divadip|CC|2|4|16

Divadip|DD|3|1|25

] (delimiter is '|');