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

Функция Avg() возвращает агрегированное среднее значения выражения или поля, повторяемых в измерениях диаграммы.

Синтаксис:  

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

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

Аргументы:  

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

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

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

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

Ограничения:  

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

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

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

Для таблицы, включающей измерение Customer и меру Avg([Sales]), если показано значение Итоги, результат будет 2566.

Avg([TOTAL (Sales)) 53,458333 для всех значений элемента Customer, поскольку префикс TOTAL означает, что измерения игнорируются.
Avg(DISTINCT (Sales)) 51,862069 для итогового значения, поскольку использование префикса Distinct означает, что оцениваются только уникальные значения в поле Sales для каждого элемента Customer.

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

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.