Перейти к основному содержимому
Aggr — функция диаграммы

НА ЭТОЙ СТРАНИЦЕ

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

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

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

Кроме того, функция Aggr должна заключаться во внешнюю функцию агрегирования, которая использует массив результатов из функции Aggr в качестве ввода в агрегирование, в которое она вложена.

Синтаксис:  

Aggr({SetExpression}[DISTINCT] [NODISTINCT ] expr, StructuredParameter{, StructuredParameter})

Возвращаемые типы данных: двойное значение

Аргументы:  

Аргументы
Аргумент Описание
expr

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

StructuredParameter

StructuredParameter представляет собой измерение, к которому в некоторых случаях добавляется критерий сортировки следующего формата: (Dimension(Sort-type, Ordering))

Измерение представляет собой одиночное поле, оно не может быть выражением. Измерение предназначено для определения диапазона значений, для которых вычисляется выражение Aggr.

При включении критериев сортировки осуществляется сортировка созданного функцией Aggr диапазона значений, вычисляемого для измерения. Это имеет значение, если порядок сортировки влияет на результат выражения, содержащего функцию Aggr.

Сведения о порядке использования критериев сортировки см. в разделе Добавление критериев сортировки к измерению в составе структурированного параметра.

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

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

NODISTINCT

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

Базовые функции агрегирования, такие как Sum, Min и Avg, возвращают отдельное числовое значение, тогда как функцию Aggr() можно сравнить с созданием временного промежуточного набора результатов (виртуальной таблицы), с помощью которого можно провести другое агрегирование. Например, при вычислении среднего значения объема продаж путем сложения сумм продаж по клиентам в операторе Aggr() и затем вычисления среднего значения по суммированным результатам: Avg(TOTAL Aggr(Sum(Sales),Customer)).

Примечание о подсказкеИспользуйте функцию Aggr() в вычисляемых измерениях, если необходимо создать агрегирование вложенной диаграммы на различных уровнях.

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

Каждое измерение функции Aggr() может быть одиночным полем и не может быть выражением (вычисляемое измерение).

Базовая форма аргумента StructuredParameter в синтаксисе функции Aggr представляет собой одиночное измерение. Выражение Aggr(Sum(Sales, Month)) служит для вычисления итогового значения продаж за каждый месяц. Однако если выражение входит в состав другой функции агрегирования, в случае отсутствия критериев сортировки результат вычисления может быть неудовлетворительным. Это вызвано тем, что сортировка некоторых изменений может осуществляться в числовом или алфавитном порядке.

В аргументе StructuredParameter функции Aggr можно указать критерии сортировки измерения в составе выражения. Таким образом, к виртуальной таблице, созданной функцией Aggr, применяется определенный порядок сортировки.

Аргумент StructuredParameter имеет следующий синтаксис:

(FieldName, (Sort-type, Ordering))

Структурированные параметры поддерживают создание вложений:

(FieldName, (FieldName2, (Sort-type, Ordering)))

Доступны следующие типы сортировки: NUMERIC, TEXT, FREQUENCY или LOAD_ORDER.

С каждым типом сортировки связаны следующие типы упорядочивания:

Допустимые типы упорядочивания
Тип сортировки Допустимые типы упорядочивания
NUMERIC ASCENDING, DESCENDING или REVERSE
TEXT ASCENDING, A2Z, DESCENDING, REVERSE или Z2A
FREQUENCY DESCENDING, REVERSE или ASCENDING
LOAD_ORDER ASCENDING, ORIGINAL, DESCENDING или REVERSE

Типы упорядочивания REVERSE и DESCENDING эквивалентны друг другу.

Для типа сортировки TEXT типы упорядочивания ASCENDING и A2Z являются эквивалентными; также эквивалентны типы упорядочивания DESCENDING, REVERSE и Z2A.

Для типа сортировки LOAD_ORDER типы упорядочивания ASCENDING и ORIGINAL являются эквивалентными.

Примеры: Выражения диаграммы с использованием Aggr