Avg — функция диаграммы
Функция Avg() возвращает агрегированное среднее значения выражения или поля, повторяемых в измерениях диаграммы.
Синтаксис:
Avg([{SetExpression}] [DISTINCT] [TOTAL [<fld{, fld}>]] expr)
Возвращаемые типы данных: числовое значение
Аргументы:
- expr: Выражение или поле, содержащее данные для измерения.
- SetExpression: По умолчанию функция агрегирования агрегирует множество возможных записей, определенных выборкой. Альтернативный набор записей может быть определен набором выражений анализа.
- DISTINCT: Если слово DISTINCT указывается до аргументов функции, все дубликаты, возникшие в результате оценки аргументов функции, будут проигнорированы.
- TOTAL: Если слово TOTAL стоит перед аргументами функции, вычисление выполняется по всем возможным значениям, указанным в текущих выборках, а не только в тех, которые относятся к значению текущего измерения, т. е. измерения диаграммы игнорируются. После префикса TOTAL может быть указан список, включающий одно или несколько имен полей в угловых скобках <fld>. Эти имена полей должны быть поднабором переменных измерений диаграммы.
Ограничения:
Параметр функции агрегирования не должен содержать функции агрегирования, кроме внутреннего агрегирования, содержащего квалификатор TOTAL. Для получения более расширенных вложенных агрегирований необходимо использовать расширенную функцию Aggr вместе с заданным измерением.
Примеры:
Пример | Результат |
---|---|
Avg(Sales) |
Для таблицы, включающей измерение |
Avg([TOTAL (Sales)) | 53,458333 для всех значений элемента Customer, поскольку классификатор TOTAL означает, что измерения игнорируются. |
Avg(DISTINCT (Sales)) | 51,862069 для итогового значения, поскольку использование классификатора Distinct означает, что оцениваются только уникальные значения в поле Sales для каждого элемента Customer. |
Customer | Sum(Sales) | Avg(Sales) | Avg(TOTAL Sales) | Avg(DISTINCT Sales) | Avg({1}DISTINCT Sales) |
---|---|---|---|---|---|
- | 2566 | 53.46 | 53.458333 | 51.862069 | 53.458333 |
Astrida | 587 | 48.92 | 53.458333 | 43.1 | 53.458333 |
Betacab | 539 | 44.92 | 53.458333 | 43.909091 | 53.458333 |
Canutility | 683 | 56.92 | 53.458333 | 55.909091 | 53.458333 |
Divadip | 757 | 63.08 | 53.458333 | 61 | 53.458333 |
Данные, используемые в примерах:
Monthnames:
LOAD * INLINE [
Month, Monthnumber
Jan, 1
Feb, 2
Mar, 3
Apr, 4
May, 5
Jun, 6
Jul, 7
Aug, 8
Sep, 9
Oct, 10
Nov, 11
Dec, 12
];
Sales2013:
crosstable (Month, Sales) LOAD * inline [
Customer|Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec
Astrida|46|60|70|13|78|20|45|65|78|12|78|22
Betacab|65|56|22|79|12|56|45|24|32|78|55|15
Canutility|77|68|34|91|24|68|57|36|44|90|67|27
Divadip|57|36|44|90|67|27|57|68|47|90|80|94
] (delimiter is '|');
Чтобы выполнить сортировку месяцев в правильном порядке, при создании диаграмм перейдите на вкладку Sort в свойствах диаграммы и установите флажок Expression для параметра Sort by. В поле выражения напишите Monthnumber.
Customer | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Astrida | 46 | 60 | 70 | 13 | 78 | 20 | 45 | 65 | 78 | 12 | 78 | 22 |
Betacab | 65 | 56 | 22 | 79 | 12 | 56 | 45 | 24 | 32 | 78 | 55 | 15 |
Canutility | 77 | 68 | 34 | 91 | 24 | 68 | 57 | 36 | 44 | 90 | 67 | 27 |
Divadip | 57 | 36 | 44 | 90 | 67 | 27 | 57 | 68 | 47 | 90 | 80 | 94 |