Блог

OLAP и OLAP-куб: как устроена многомерная модель планирования

OLAP или Online Analytical Processing – технология многомерной обработки данных. Она используется там, где один и тот же показатель нужно быстро рассматривать в разных разрезах.
Возьмём обычную управленческую задачу. Финансовому директору нужно увидеть выручку за год. Затем возникает вопрос, как эта выручка распределяется по месяцам. После этого – какие регионы отклонились от плана, какие продукты дали основную маржу и что произойдёт с итоговым результатом при снижении объёма продаж.
Все эти вопросы относятся к одному показателю, но требуют разных срезов данных. В обычной таблице для каждого нового представления приходится менять структуру отчёта, добавлять формулы или собирать отдельную сводную таблицу. В OLAP-модели показатели изначально связаны с периодами, подразделениями, продуктами, сценариями и другими аналитиками. Пользователь выбирает нужный разрез и получает соответствующее представление.
Технология хорошо подходит для бюджетирования и финансового планирования, поскольку эти процессы по своей природе многомерны. Бюджет редко состоит только из статьи и суммы. За каждой цифрой стоят период, юридическое лицо, центр финансовой ответственности, проект, продукт, сценарий, валюта и другие признаки.

Что такое OLAP-куб

OLAP-куб – распространённое название многомерной структуры данных. Слово «куб» может немного запутать, потому что в реальной модели измерений обычно больше трёх.
Представим простую таблицу, где в строках находятся статьи бюджета, а в столбцах – месяцы. Такая таблица показывает данные в двух измерениях.
Теперь добавим юридические лица. Для каждого из них потребуется отдельный слой данных. Затем добавим сценарии: бюджет, факт и прогноз. После этого – подразделения, проекты, продукты и валюты. Получится уже не обычный трёхмерный куб, а многомерная модель, которую иногда называют гиперкубом.
Пользователь при этом продолжает видеть привычную таблицу. Система показывает выбранный срез многомерной модели, например расходы по статьям и месяцам для конкретного подразделения, юридического лица и сценария.
Внутри модели каждая сумма хранится в определённой точке пересечения аналитик. Условная цифра 15 млн рублей может относиться к выручке определённого продукта, конкретному региону, марту, одному юридическому лицу и версии «Прогноз 2».
Без такого контекста число теряет управленческий смысл.

Из чего состоит многомерная модель

Чтобы понять устройство OLAP-куба, достаточно разобраться с четырьмя понятиями: измерениями, элементами, иерархиями и показателями.

Измерения

Измерения – это направления, по которым компания планирует и анализирует данные.
В финансовой модели измерениями могут быть период, сценарий, юридическое лицо, ЦФО, статья бюджета, проект, продукт, клиентский сегмент или валюта.
Набор измерений зависит от задачи. Для модели ФОТ понадобятся сотрудники, должности, подразделения, виды начислений и проекты. Для планирования продаж – продукты, клиенты, регионы, каналы и менеджеры. Для строительного бюджета – объекты, этапы, подрядчики, виды работ и статьи затрат.
Количество измерений само по себе не говорит о качестве модели. Если добавить в неё все возможные аналитики, работать станет сложнее. Архитектор модели должен понимать, какие разрезы действительно влияют на расчёты и нужны пользователям.

Элементы измерений

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

Иерархии

Иерархия объединяет элементы в уровни.
Например, магазины могут входить в регионы, регионы – в дивизионы, а дивизионы – в общую структуру розничной сети. Месяцы объединяются в кварталы, кварталы – в годы. Отдельные статьи доходов и расходов входят в группы, из которых формируется итоговый БДР.
Иерархия позволяет перейти от общего значения к деталям. Финансовый директор видит расходы по компании, затем раскрывает нужное направление, подразделение и статью.
Структура компании со временем меняется. Открываются новые подразделения, закрываются проекты, сотрудники переходят между центрами ответственности. Поэтому при выборе системы стоит проверить, насколько гибко она работает с иерархиями и можно ли сохранять историю изменений.

Показатели

Показатели – это значения, которые компания вводит, загружает или рассчитывает. К ним относятся выручка, объём продаж, цена, себестоимость, ФОТ, численность, инвестиции, остатки денежных средств и другие величины.
Одни показатели загружаются из учётных систем, другие вводятся пользователями, третьи рассчитываются по формулам.
Например, выручка может определяться как произведение объёма продаж и цены. Начисления на ФОТ рассчитываются от фонда оплаты труда. Остаток денежных средств зависит от входящего остатка и движения денег за период.
В многомерной модели формула применяется с учётом контекста. Расчёт может выполняться отдельно по каждому продукту, проекту, подразделению и месяцу, а затем консолидироваться на более высоком уровне.

Как многомерная модель выглядит для пользователя

Внутри OLAP-системы может находиться модель с большим количеством измерений. Пользователю не нужно видеть их одновременно.
На экран выводится двумерная таблица. Например, в строках находятся статьи БДР, в столбцах – месяцы. Юридическое лицо, подразделение и сценарий выбираются в фильтрах.
Если пользователь переносит подразделения в строки, а периоды в фильтр, отчёт меняется. Данные остаются в той же модели, но показываются с другой стороны.
Такой поворот называют pivot. Именно на этом принципе работает знакомая многим финансистам сводная таблица Excel.
OLAP развивает эту логику. Пользователь может быстро менять срез, переходить от общего к частному, сравнивать сценарии и перестраивать отчёт без создания новой копии данных.

Какие операции выполняются в OLAP-кубе

В материалах про OLAP часто встречаются термины slice, dice, drill-down, roll-up и pivot. Для работы финансового директора запоминать английские названия не обязательно, но за ними стоят привычные действия.
Slice означает выбор одного среза модели. Например, пользователь оставляет данные только по одному юридическому лицу или одному сценарию.
Dice – более сложная выборка. Можно оставить несколько регионов, определённую группу продуктов и период с января по июнь.
Drill-down – переход к деталям. Из годового результата пользователь проваливается в кварталы, затем в месяцы. Из общей суммы по компании – в подразделения и отдельные статьи.
Roll-up – обратное действие, когда детальные значения сворачиваются до общего итога.
Pivot – изменение расположения аналитик в отчёте. То, что раньше находилось в фильтре, можно перенести в строки или столбцы.
Для пользователя всё это выглядит как работа с отчётом. Технология становится заметна в тот момент, когда нужный разрез формируется быстро и без подготовки нового файла.

Почему OLAP подходит для бюджетирования

Бюджетирование требует одновременно работать с несколькими типами данных. Пользователи вводят планы, система загружает факт, расчётные показатели формируются по правилам, а финансовая команда сравнивает версии и собирает итоговую отчётность.
Обычная реляционная база хорошо хранит операции в таблицах. Но финансовый отчёт редко повторяет структуру исходных операций. Данные нужно сгруппировать по периодам, статьям, подразделениям и сценариям, а затем рассчитать промежуточные и итоговые показатели.
Многомерная модель создаёт для этого понятную структуру.
Представим холдинг с десятью юридическими лицами. Каждое общество готовит БДР и БДДС по подразделениям и проектам. Финансовой службе нужно получить результат по отдельной компании, группе компаний, направлению бизнеса или холдингу целиком. Затем сравнить бюджет с фактом и сформировать обновлённый прогноз.
В файловой модели для этого часто создаются отдельные книги, листы и своды. В OLAP-модели юридическое лицо, подразделение, проект и сценарий становятся измерениями. Пользователь выбирает нужный уровень, а система собирает данные по установленным правилам.

Чем OLAP-модель отличается от набора Excel-файлов

Excel позволяет строить сложные финансовые модели и остаётся удобным рабочим инструментом. Ограничения проявляются, когда количество участников и объём данных начинают расти.
В файловой модели каждая книга содержит собственные данные, формулы и справочники. Если одно подразделение изменило структуру файла, при консолидации может возникнуть ошибка. Копирование бюджета для нового прогноза создаёт ещё одну версию, которую нужно хранить и сверять.
В OLAP-системе версии могут находиться в одном измерении. Бюджет, факт и несколько прогнозов используют общую структуру справочников и расчётов. Чтобы сравнить их, не нужно открывать несколько файлов и переносить данные на отдельный лист.
Это не означает, что пользователю обязательно придётся отказаться от Excel. В Планум, например, Excel может оставаться рабочим интерфейсом. При этом данные и структура модели хранятся централизованно.
Финансист продолжает работать с таблицами и формулами, но значения относятся к единой многомерной модели. Это позволяет управлять доступом, версиями и совместной работой.

OLAP для анализа и OLAP для планирования

OLAP часто связывают с BI и анализом уже накопленных данных. Пользователь открывает отчёт, меняет разрезы и изучает фактические показатели.
В планировании возможностей просмотра недостаточно. Пользователям нужно вводить значения, менять предпосылки, создавать сценарии и запускать расчёты. После этого данные должны консолидироваться и становиться доступными другим участникам процесса.
Такую возможность обычно называют обратной записью, или write-back. Пользователь меняет значение в форме, а система записывает его в соответствующую точку многомерной модели.
Допустим, руководитель подразделения пересмотрел объём продаж на апрель. Значение должно попасть в нужное подразделение, продукт, месяц и сценарий. После записи система пересчитывает выручку, себестоимость, маржу и связанные показатели.
Поэтому при выборе платформы для бюджетирования стоит проверить, как она работает с вводом данных и расчётами. Наличие OLAP-отчётов ещё не означает, что система подходит для полноценного планирования.

Как в OLAP-модели работают версии и сценарии

В традиционной файловой модели новый сценарий часто создаётся копированием книги. Через некоторое время появляются файлы «Бюджет финал», «Бюджет финал 2», «Прогноз новый» и «Прогноз новый итог».
В многомерной модели версия или сценарий становятся отдельным измерением. Пользователь может открыть бюджет, факт и прогноз в одном отчёте, рассчитать отклонения и посмотреть динамику.
При необходимости создаётся новый сценарий. Например, компания хочет оценить последствия снижения объёма продаж на 10%. В новом сценарии меняется драйвер, после чего модель пересчитывает финансовый результат.
Сценарии могут отличаться ценами, объёмами, валютными курсами, сроками проектов, численностью или другими предпосылками. При этом структура модели остаётся общей, поэтому результаты удобно сравнивать.

Как устроены расчёты

В многомерной модели расчёты могут выполняться на разных уровнях.
Одни значения суммируются. Например, расходы подразделений формируют итог по компании.
Другие рассчитываются по формулам. Маржинальность нельзя получить обычным сложением процентов по подразделениям. Сначала нужно собрать выручку и маржу, а затем рассчитать их отношение.
Некоторые показатели требуют распределения. Общие расходы управляющей компании могут распределяться между юридическими лицами по выручке, численности или другому драйверу.
Есть показатели, которые зависят от предыдущего периода. Остаток денежных средств на конец января становится входящим остатком февраля.
Поэтому финансовая модель не сводится к хранению цифр. В ней должны быть описаны правила консолидации, расчёта и распределения данных.
На демонстрации OLAP-системы полезно попросить показать формулу и объяснить, как она применяется по разным измерениям. Если бизнес-логика скрыта от финансовой команды, поддерживать модель будет сложно.

Что такое разреженность OLAP-куба

Теоретически в многомерной модели существует большое количество комбинаций элементов. Если в ней есть тысячи продуктов, десятки подразделений, несколько сценариев и много периодов, число возможных пересечений быстро растёт.
Но большая часть комбинаций не содержит данных.
Конкретный продукт может продаваться только в нескольких регионах. Один проект относится к определённому юридическому лицу. Не каждому сотруднику назначены все возможные виды начислений.
Такая модель называется разреженной. Пустые пересечения не должны занимать столько же ресурсов, сколько заполненные.
Способ работы с разреженностью влияет на объём хранения и скорость расчётов. Для крупной модели важно тестировать производительность на данных, близких к реальным, а не на небольшом демонстрационном примере.

MOLAP, ROLAP и HOLAP

OLAP можно реализовать по-разному.
MOLAP хранит данные в специализированной многомерной структуре. Такой подход ориентирован на быстрые многомерные расчёты и аналитику.
ROLAP использует реляционные таблицы, а многомерные запросы преобразуются в запросы к базе данных.
HOLAP сочетает оба подхода: часть данных и агрегатов хранится в многомерной структуре, а детализация может оставаться в реляционной базе.
Для финансового пользователя эти различия обычно не являются главным критерием выбора. Гораздо важнее, справляется ли система с моделью компании, поддерживает ли ввод данных, расчёты, версии, права доступа и необходимое количество пользователей.
Архитектуру стоит обсуждать совместно с IT. Она влияет на производительность, требования к инфраструктуре, масштабирование и интеграции.

Когда компании нужна многомерная модель

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

Какие ошибки возникают при проектировании OLAP-модели

Первая ошибка – попытка перенести существующие Excel-файлы в систему без пересмотра структуры. В файлах могут дублироваться справочники, формулы и промежуточные расчёты. Если воспроизвести их буквально, многомерная модель получится громоздкой.
Вторая ошибка – избыточная детализация. Компания пытается включить в первую версию все доступные данные. Модель становится сложной для пользователей, а сроки внедрения растут.
Третья – отсутствие владельцев справочников. Даже хорошо спроектированный куб начнёт давать противоречивые результаты, если никто не отвечает за статьи, ЦФО, проекты и правила их изменения.
Четвёртая – смешение разных бизнес-смыслов в одном измерении. Например, в одном справочнике объединяют продукты, услуги и проекты, хотя они участвуют в разных расчётах.
Пятая – проектирование только под один отчёт. Через несколько месяцев появляется новый запрос руководства, и выясняется, что нужная аналитика не была предусмотрена.
По нашему опыту, начинать нужно с управленческих вопросов. Какие решения принимает компания? Какие показатели для этого нужны? В каких разрезах их рассматривают? После этого можно определять структуру модели.

Как проверить OLAP-систему перед выбором

Лучший способ оценки – показать поставщику реальную задачу и попросить провести демонстрацию на близкой структуре данных.
Сначала стоит проверить, как создаются измерения и иерархии. Затем – как пользователь вводит данные, меняет сценарий и переходит от общего итога к деталям.
Отдельно нужно посмотреть работу формул. Финансовому специалисту должно быть понятно, откуда получился показатель и какие значения участвовали в расчёте.
Если система рассматривается для крупной модели, потребуется нагрузочное тестирование. В нём должны участвовать не только отчёты, но и загрузка факта, запись плановых данных, пересчёт и одновременная работа пользователей.
Также стоит выяснить, кто сможет менять модель после внедрения. Если добавление новой аналитики или формы требует отдельной разработки, финансовая команда будет зависеть от IT или внешнего подрядчика.

Как многомерная модель работает в Планум-Платформа

В основе Планум-Платформы лежит собственная технология многомерного хранения и расчёта данных. Она используется для построения моделей бюджетирования, финансового планирования, ФОТ, продаж, производства, инвестиций и других процессов.
Данные организуются через измерения, иерархии, версии и показатели. Пользователь может открыть нужный срез в Excel или web-интерфейсе, изменить предпосылки и получить пересчитанный результат.
Например, в модели бюджетирования можно одновременно работать с БДР, БДДС, балансом, фактом и несколькими прогнозами. Юридические лица, ЦФО, проекты, статьи и периоды используются как общие аналитики. Это помогает избежать дублирования справочников между отдельными файлами.
Финансовая команда может развивать модель самостоятельно: добавлять отчёты, менять расчёты и управлять представлением данных. При этом IT контролирует размещение, интеграции и доступ.
Для пользователя многомерная технология остаётся внутри системы. В ежедневной работе он видит знакомые таблицы, фильтры, формулы и отчёты.

Частые вопросы об OLAP и OLAP-кубах

Как расшифровывается OLAP?

OLAP расшифровывается как Online Analytical Processing – интерактивная аналитическая обработка данных.

Что такое OLAP-куб простыми словами?

OLAP-куб – структура, в которой показатели связаны сразу с несколькими аналитиками. Например, сумма выручки может относиться к конкретному периоду, продукту, региону, юридическому лицу и сценарию.

Почему модель называется кубом, если измерений больше трёх?

Термин «куб» используется для наглядности. В реальной финансовой модели измерений может быть значительно больше. Технически такую структуру можно назвать многомерным кубом или гиперкубом.

Чем OLAP отличается от обычной базы данных?

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

Чем OLAP отличается от сводной таблицы Excel?

Сводная таблица даёт пользователю похожий способ анализа: показатели можно группировать и переставлять по строкам и столбцам. OLAP-модель хранит общую многомерную структуру на уровне системы и может поддерживать централизованные расчёты, версии, права доступа и совместную работу.

Можно ли использовать OLAP для планирования?

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

Что такое измерение в OLAP-кубе?

Измерение – аналитическое направление модели. Примеры измерений: период, сценарий, юридическое лицо, ЦФО, проект, продукт и статья бюджета.

Что находится в ячейке OLAP-куба?

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

Нужно ли финансовому специалисту разбираться в устройстве OLAP?

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

Вывод

OLAP помогает представить бюджет и финансовую модель как единое многомерное пространство. Показатели связываются с периодами, сценариями, подразделениями, проектами и другими аналитиками. Пользователь может менять срезы, переходить к деталям и сравнивать версии без создания новых копий данных.
Для бюджетирования этого недостаточно само по себе. Система также должна поддерживать ввод данных, расчёты, совместную работу, права доступа, загрузку факта и управление сценариями.
При выборе платформы мы рекомендуем смотреть не на термин OLAP в презентации, а на то, как технология работает на реальной задаче. Насколько быстро пересчитывается модель? Можно ли проследить формулу? Удобно ли менять структуру? Справляется ли система с объёмом данных и количеством пользователей?
Ответы на эти вопросы показывают, сможет ли многомерная модель стать рабочей основой планирования или останется красивой технологической схемой.

Обсудить многомерную модель планирования

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