Count

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

Syntax:  

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

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

Arguments:  

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

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

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

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

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