Агрегация данных в кубах и отчетах

Блог Форсайт
Ирина Кирьянова

Агрегация в Prognoz Platform предназначена для объединения нескольких значений c использованием различных математических функций, например, суммы, арифметического среднего и т.д. Часто в отчетах требуется отобразить данные, агрегированные по тому или иному методу. Prognoz Platform предоставляет пользователям возможность гибкой настройки агрегации в различных инструментах отчетности, а также в кубах. В зависимости от того, где настроена агрегация, она может считаться на сервере или на клиенте, самими кубами или отчетами. Давайте подробнее разберем, где, как, а главное, для чего настраивается тот или иной вид агрегации.

Агрегация по фактам куба или, как ее еще часто называют, серверная агрегация позволяет выполнить расчет еще на этапе извлечения данных из источников куба на самом сервере. Однако серверная агрегация не всегда может быть применима: например, если в качестве таблицы фактов выбран «Источник данных ODBC». В этом случае в мастере стандартного куба для данного источника есть возможность настройки расчета агрегации на клиенте.

Данный вид агрегации настраивается в мастере стандартного куба на странице «Привязка фактов». Здесь для разных фактов можно выбрать свой метод агрегации, а для каждого источника указать, где выполнить расчет – на сервере или на клиенте. По умолчанию данные агрегируются на сервере.

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

Агрегация по уровням измерения настраивается для иерархических справочников, где по тому или иному методу данные с дочерних элементов справочника агрегируются и записываются в «элемент-родитель». При этом пользователь имеет возможность самостоятельно настроить, т.е. агрегировать в родительский элемент все его дочерние или только отмеченные элементы.

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

Этот вид агрегации доступен для настройки в мастерах стандартного и автоматического кубов на странице «Агрегация». Здесь для каждого измерения можно настроить различные методы агрегации для разных фактов.

Агрегация по фиксированным измерениям в инструментах отчетности платформы позволяет объединять данные по отмеченным элементам в фиксированных измерениях.

Настройка осуществляется в отчете на вкладке «Данные» группы вкладок «Источник» боковой панели (в инструменте «Аналитические панели» на вкладке «Данные -> Данные»).

В настоящее время агрегация по элементам фиксированных измерений, рассчитываемая самими отчетами, реализована лишь по методам «Сумма», «Среднее», «Максимум» и «Минимум». Однако отчеты позволяют при агрегации в фиксированных измерениях использовать методы, настроенные в кубе для измерений. Соответственно, при выборе метода «Из измерений источника» данные по фиксированному измерению будут объединены согласно настройкам со страницы «Агрегация» мастера куба.

Помимо этого, в Prognoz Platform был реализован новый метод агрегации для фиксированных измерений «Из фактов источника», который становится доступным в отчете, если в кубе на странице «Измерения» установлен флаг «Агрегировать данные по измерениям с полной отметкой», и для фактов задана агрегация на странице «Привязка фактов».

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

Кроме того, этот флаг позволяет переопределить методы агрегации, настроенные в кубе для фактов. То есть если при установленном флаге выбрать в отчете, например, метод «Сумма», то для всех фактов агрегация на сервере будет посчитана по методу «Сумма», а не по тем, которые настроены в кубе.

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

В кубе по измерению «Сотрудники» настроим агрегацию по методу «Сумма».

Поместим измерение «Сотрудники» в фиксированную область в Экспресс-отчете и настроим для отчета агрегацию по фиксированным измерениям по методу «Сумма».

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

- Если флаг «Агрегировать отмеченные элементы в измерении» не установлен, и агрегация идет по всему измерению, то при отметке только родительского элемента данные в нем будут агрегированы с дочерних, а при отметке родительского с дочерними – в родительском элементе будет задвоение данных.

Если в отчете выбрать метод агрегации «Из измерений источника», то возможны два случая:

- Если установлен флаг «Агрегировать отмеченные элементы в измерении», то агрегация будет посчитана только по отмеченным элементам. При этом, если в отметке будет только родительский элемент без дочерних, то данные в него агрегированы не будут.

- Если флаг «Агрегировать отмеченные элементы в измерении» не установлен, то при множественной отметке всегда будет показан результат агрегации по всему измерению независимо от отметки. А если отметка единичная, и это «элемент-родитель», то данные будут агрегированы с его дочерних элементов.

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

Комментарии

Email не будет опубликован.
Подробнее о политике использования персональных данных