Елена Королева,
заместитель директора управления маркетинга компании Intersoft Lab

Одна из задач, которую приходится решать специалистам корпоративных служб автоматизации, - обеспечение выпуска отчетов по данным корпоративных БД. Если разработка системы подготовки обязательной отчетности - работа вполне определенная, объемы и сроки исполнения которой поддаются оценке (алгоритмы расчета и формы отчетности регламентированы налоговыми органами), то совсем иначе дело обстоит с внутренней отчетностью для руководителей, менеджеров и аналитиков компании. Разработать и использовать жесткий пакет отчетов для контроля и анализа деятельности компании практически невозможно. Для оценки различных аспектов бизнеса руководителям и аналитикам всегда будут требоваться новые и новые показатели: открыв и изучив отчет, они могут счесть нужным углубиться в данные и узнать, как был рассчитан тот или иной показатель, построить график и сравнить показатели, вычислить коэффициенты и прочее. В результате ИТ-специалистам приходится постоянно программировать новые отчеты для пользователей, удовлетворяя их информационные потребности. Решить эту проблему можно, используя систему интерактивных OLAP-отчетов, ориентированную на пользователя.

Системы, реализующие технологию OLAP (оперативная аналитическая обработка данных), уже давно зарекомендовали себя как наиболее удобные для подготовки внутренней отчетности. Они обеспечивают получение данных из любых корпоративных источников (учетных систем, ERP- и CRM-систем, хранилищ данных, персональных БД), трансформацию плоских выборок в многомерные структуры и выпуск интерактивных экранных отчетов для анализа бизнес-данных.

OLAP-отчет предлагает пользователю многомерную таблицу (рис. 1), в которой числовые показатели (факты) представлены в разрезе иерархии измерений, по ветвям иерархии автоматически вычисляются итоги (агрегаты). Такая форма представления данных наилучшим образом подходит для подготовки финансовых, статистических и любых других корпоративных отчетов, поскольку предоставляет руководителям и менеджерам бизнес-информацию в разрезе сколь угодно сложной аналитики. Просматривая одну многомерную таблицу, пользователь сможет без программирования настраивать разнообразные виды отчетов: определять состав измерений таблицы и получать разную аналитику показателей, детализировать и обобщать данные, вычислять новые показатели по произвольным алгоритмам, строить диаграммы. ИТ-специалисту достаточно создать в системе словарь метаданных, с которым будут работать пользователи: описать источники данных в терминах предметной области и настроить доступ к ним, построить запросы. Далее пользователи смогут сами создавать необходимые отчеты.

Fig.1
Рис. 1. OLAP-отчет, подготовленный при помощи "Аналитической платформы Контур".

Какой же функциональностью должна обладать система отчетности, чтобы снять с программиста груз разработки отчетов и предоставить пользователям простые и эффективные инструменты для анализа деловой информации? В данной статье мы проиллюстрируем функциональность систем корпоративной отчетности на примере продуктов "Аналитической платформы Контур" компании Intersoft Lab (http://www.iso.ru). В состав платформы входят программы для создания мобильных OLAP-отчетов и доставки через Интернет/интранет - "Контур Дизайнер кубов" и "Контур Генератор кубов" для проектирования и создания отчетов в виде микрокубов, "Контур OLAPBrowser" для выпуска отчетов на ПК, в локальной сети и в Интернете, а также "Контур Стандарт" для выпуска отчетов из корпоративных БД в режиме on-line.

Инструменты ИТ-специалиста

Основная задача ИТ-специалиста компании - подготовить систему, чтобы пользователи могли ее эксплуатировать, т. е. обеспечить им получение данных из корпоративных БД и формирование многомерных массивов (кубов) для выпуска OLAP-отчетов. В этих целях настраивается доступ к данным, описываются БД и запросы, определяется структура многомерного куба. Это описание составит словарь метаданных, с которым в дальнейшем будут работать пользователи.

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

Описание словаря метаданных

Если для описания метаданных предоставляется визуальная среда, то работать со словарем смогут не только ИТ-специалисты, но и пользователи. ИТ-специалист, знающий структуру корпоративных БД, описывает в словаре источники данных - таблицы БД, их поля и связи, хранимые процедуры и т. п. Например, таблицу с данными о продажах c полями Data, Product_ID, Quantity, Area_ID можно описать как "Журнал продаж" с полями "Дата продажи", "Код товара", "Количество", "Код региона". Таким образом, пользователю при составлении отчета будет понятно, какие данные в него включать. В визуальной среде пользователь сможет самостоятельно строить простые запросы к БД, указывая, из каких полей источника берутся данные.

Удобно, когда существующие метаданные можно загружать из другой системы, - это позволяет значительно сократить время выполнения настроек. Так, программы "Аналитической платформы Контур" (АПК), предназначенные для выпуска OLAP-отчетов (рис. 2), позволяют загружать метаданные из XML-файлов. Метаданные можно выгрузить в XML-формате из исходных источников и загрузить в систему отчетности. Словарь метаданных реализован как открытый XML-файл, который может передаваться другим пользователям АПК и для использования внешними системами.

Fig.2 Рис. 2. "Контур Дизайнер кубов" - интерфейс для описания метаданных АПК.

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

Работа с данными различных БД

Система отчетности должна позволять работать с данными из любых корпоративных источников: реляционных БД, локальных таблиц, текстовых файлов и т. д. Программы АПК для прямого доступа к данным используют стандарты BDE (Borland Database Engine), ADO (Active Data Objects), ODBC (Open Database Connectivity), DAO (Direct Oracle Access). Для получения данных можно обращаться напрямую к таблицам БД либо, если прикладные системы запрещают прямой доступ к таблицам, использовать хранимые процедуры и view реляционных БД. Из закрытых БД можно получать данные для отчетов посредством выгрузки в XML-файлы.

Объединение данных из разных источников

Информация о деятельности компаний с многофилиальной структурой бывает распределена по нескольким разнородным БД. В этом случае, чтобы получить обобщенный отчет по всей компании, система должна поддерживать объединение в одном отчете данных из нескольких источников. Эта проблема решается в системах отчетности по-разному. Самый простой способ - это объединение данных посредством текстовых или XML-файлов. Информация из разных БД выгружается в файлы в едином XML-формате, после чего из них создается OLAP-отчет. В настоящее время большинство автоматизированных учетных систем поддерживают XML-формат, поэтому, как правило, дополнительно разрабатывать процедуры выгрузки не требуется.

Создание и обновление многомерных кубов

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

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

  • замена всех данных объемного многофункционального куба на данные из первоисточника;
  • частичное добавление новых данных, или инкрементальное обновление (этот процесс требует разработки процедур обнаружения измененных данных);
  • технология полного пересоздания небольших (до сотен мегабайт) тематических кубов.

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

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

Доставка отчетов пользователям

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

Программы АПК обеспечивают выпуск мобильных OLAP-отчетов - микрокубов. Микрокуб - это контейнер многомерных данных, метаданных и отчетов, предназначенный для дистрибуции отчетов и обмена данными между пользователями. В зависимости от состава данных их объем при создании микрокуба сжимается во много раз (от 10 до 1000). В результате огромная выборка превращается в небольшой файл микрокуба, который легко передать через Интернет или по электронной почте. В микрокубах можно передавать отчетность удаленным пользователям в филиалах, акционерам, инвесторам и клиентам компании. Даже находясь вне офиса - дома, на выездах и в командировках, руководители смогут получать необходимые отчеты через сайт компании или по электронной почте.

Инструменты для пользователя

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

Построение отчета

В OLAP-системе подготовка пользователем необходимого отчета сводится к простому манипулированию данными исходного OLAP-отчета. Такой отчет может отображать многомерные данные в виде таблицы с иерархией измерений, разноцветного куба или иначе - в зависимости от реализации системы. В OLAP-отчете данные агрегируются по иерархии измерений и по ветвям иерархии вычисляются итоги. Например, в отчете о продажах с иерархией измерений Город-Торговая точка-Менеджер будут показаны итоговые суммы продаж для каждого менеджера продаж торговой точки, каждой точки в городе, а также общие итоги продаж по всем менеджерам, точкам и городам. Для интерактивного управления отчетом пользователь выполняет разнообразные OLAP-операции: повороты таблицы, изменение состава измерений, углубление и обобщение, сортировку и фильтрацию и т. п. При выполнении каждой операции итоги автоматически пересчитываются, и пользователь получает новый отчет.

В программах АПК данные микрокуба отображаются в интерактивной многомерной таблице, в которой пользователь может управлять представлением данных, а именно:

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

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

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

Расчет показателей

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

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

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

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

Язык формул необходим для настройки произвольных алгоритмов вычисления показателей (рис. 3). Для вычисления показателей интерактивного OLAP-отчета язык формул должен обеспечивать манипулирование многомерными данными: например, получать итоги по группам измерений, использовать в формулах расчета показателей значения отдельных измерений и т. п.

Fig.3 Рис. 3. Интерфейс редактора формул АПК.

Визуализация данных

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

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

Графическое отображение данных. Еще один важный визуальный элемент интерактивного отчета - график, построенный по его данным. В системах отчетности предоставляются разнообразные виды диаграмм: круговые и столбчатые, в виде точек, площадей, линий и другие. Графики могут быть плоскими и объемными. Двухмерный график позволяет проанализировать значения одного факта (числового показателя) в разрезе одного измерения таблицы, трехмерный график может строиться по одному факту и двум измерениям либо по двум фактам и одному измерению таблицы.

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

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

Расшифровка отчета

Интерактивный OLAP-отчет создается по исходным данным, полученным из корпоративных БД. На основе этих данных вычисляются показатели отчета, которые увидит пользователь: руководитель, менеджер, аналитик. Чтобы он мог понять, каким образом был получен тот или иной показатель отчета, требуется возможность его расшифровки, т. е. просмотра исходных данных (рис. 4).

Fig.4
Рис. 4. Интерфейс "Детализация" OLAP-отчета АПК.

Выгрузка в популярные приложения

Многие пользователи уже привыкли пользоваться для подготовки отчетов электронными таблицами Microsoft Excel, поэтому для них важно, умеет ли система выгружать данные интерактивных отчетов в приложения Microsoft Office.

Оформление и печать отчетов

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

***

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