Вычисления в кубах и отчетах и порядок их выполнения

Блог Форсайт
Ирина Кирьянова
Зачастую в отчетах требуется отобразить помимо исходных данных, хранящихся в базе данных, также и рассчитанные на их основе показатели. Данные вычисления можно производить как на уровне отчетов, используя вычисляемые элементы, итоги, агрегацию в фиксированных измерениях, так и на уровне кубов, например, с помощью вычисляемых фактов и агрегации. Однако, без учета порядка выполнения этих операций можно получить совсем неожиданные результаты. По умолчанию операции выполняются в следующем порядке: 1. Агрегация по фактам (серверная агрегация) в кубе. Настраивается в мастере стандартного куба на странице «Привязка фактов». 2. Агрегация по измерениям, настроенная в кубе. Настраивается в мастере стандартного и автоматического кубов на странице «Агрегация». 3. Вычисляемые факты в кубе. Настраиваются в мастере стандартного куба на странице «Вычисляемые факты». 4. Вычисляемые элементы в отчете. Настраиваются в иерархиях измерений в отчете. 5. Агрегация по фиксированным измерениям в отчете. Настраивается в отчете на вкладке «Данные» группы вкладок «Источник» боковой панели (в инструменте аналитические панели на вкладке «Данные -> Данные»). При этом есть ряд особенностей:
  • порядок операций 1 и 2 не настраиваемый;
  • порядок операций 2 и 3 в рамках одного куба тоже не настраиваемый. Однако есть небольшая хитрость, которая позволит посчитать агрегацию по вычисляемым фактам. Для этого в стандартном кубе нужно оставить настройку только вычисляемых фактов, а затем создать автокуб с тем же набором измерений, где в качестве источника данных выбрать стандартный куб и установить галочку «Брать данные из источника» на странице «Источник данных» мастера автокуба. После на странице «Агрегация» настроить агрегацию по измерениям в автокубе;
  • операции в кубе всегда выполняются раньше операций в отчетах;
  • есть возможность настраивать порядок операций 4 и 5. Для этого в экспресс-отчете на вкладке ленты инструментов «Конструктор» нажать кнопку «Цепочка вычислений».
Говоря о различных вычислительных возможностях платформы, в первую очередь пользователю важно, чтобы отчет открывался быстро и при этом потреблял меньше ресурсов. По умолчанию, в настоящее время вычисляемые факты в кубе считаются по отметке по всем измерениям независимо от того, есть в точке данные или нет. В продукте «Форсайт. Аналитическая платформа» реализован оптимизированный механизм расчета вычисляемых фактов — только в тех точках, в которых есть данные. Данный механизм настраивается в мастере стандартного куба: на странице «Вычисляемые факты» в диалоге настройки каждого вычисляемого факта есть флаг «Рассчитать по фактическим данным». По умолчанию флаг выключен. Данный флаг настраивается для каждого вычисляемого факта отдельно, то есть для разных фактов одного куба можно задать разные механизмы расчета. Но у данного механизма есть ряд ограничений: 1. Если в вычфакте используются специальные функции (SUM, SUM_S, FIRST, FIRST_S и т.д.), то вычфакт будет рассчитан только для тех точек, где есть данные. Если в какой-то точке в источнике данных нет, но они там должны быть в результате расчета вычфакта, то они не будут рассчитаны. 2. Если в вычфакте используется отношение, сдвигающее значение на несколько точек назад\вперед\вверх или которое берет значение из конкретного факта, то все значения в отметке будут рассчитаны верно, без ограничения на наличие данных.

Комментарии

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