Count
Count() используется для агрегирования текстовых и числовых значений в каждом измерении диаграммы.
Синтаксис:
Count([{SetExpression}] [DISTINCT] [TOTAL [<fld {,fld}>]] expr)
Возвращаемые типы данных: целое число
Аргументы:
- expr: Выражение или поле, содержащее данные для измерения.
- SetExpression: По умолчанию функция агрегирования агрегирует множество возможных записей, определенных выборкой. Альтернативный набор записей может быть определен набором выражений анализа.
- DISTINCT: Если слово DISTINCT указывается до аргументов функции, все дубликаты, возникшие в результате оценки аргументов функции, будут проигнорированы.
- TOTAL: Если слово TOTAL стоит перед аргументами функции, вычисление выполняется по всем возможным значениям, указанным в текущих выборках, а не только в тех, которые относятся к значению текущего измерения, т. е. измерения диаграммы игнорируются. После префикса TOTAL может быть указан список, включающий одно или несколько имен полей в угловых скобках <fld>. Эти имена полей должны быть поднабором переменных измерений диаграммы.
Примеры:
В следующих примерах считается, что все клиенты выбраны, если не указано иначе.
Пример | Результат |
---|---|
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 '|');
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 |