Консалтинг и автоматизация в области управления
эффективностью банковского бизнеса

Публикации

Бухгалтер и компьютер

Как создать OLAP-модуль для 1С. Аналитика для 1С

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

Предыдущие статьи цикла "Аналитика для 1С" "на практических примерах" знакомили читателей с возможностями OLAP. В качестве примера аналитического приложения для программ "1С" был рассмотрен OLAP-модуль "Контур Стандарт.Анализ для 1С:Торговля и Склад", разработанный компанией Intersoft Lab. Фактически, представленный OLAP-модуль является расширением аналитической функциональности типовой конфигурации "1С:Торговля и Склад".

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

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

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

Что такое OLAP-модуль?

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

Архитектурно OLAP-модуль включает пакет OLAP-отчетов для конечного пользователя и программу для их просмотра и выпуска. Исходные данные для OLAP-анализа могут храниться непосредственно в базе данных 1С или регулярно выгружаться в специальную витрину данных.

Последний вариант целесообразен, если OLAP-модуль предназначен для тиражного использования. В этом случае, в состав OLAP-модуля может дополнительно входить программа для выгрузки данных из 1С. Например, модуль "Контур Стандарт.Анализ для 1С:Торговля и Склад" включает:

  • программу выгрузки данных для анализа из системы 1С,
  • OLAP-приложение "Анализ для 1С:Торговля и Склад" из 67 отчетов,
  • систему Контур Стандарт для OLAP-анализа и выпуска отчетов

Принципы создания OLAP-приложений

OLAP-приложение - основная составляющая OLAP-модуля. Рассмотрим принципы создания OLAP-приложения и работы с ним с помощью инструментальной OLAP-системы Контур Стандарт.

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

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

Возможности и приемы работы с OLAP-отчетами достаточно подробно рассматривались в предыдущих статьях цикла "Аналитика для 1С".

Здесь же остановимся подробнее на технологии создании OLAP-приложения.

Пример создания OLAP-приложения для анализа продаж по данным "1С:Торговля и Склад"

Создание OLAP-приложения с помощью системы Контур Стандарт начинается с указания Источников данных (data source) - путей к таблицам и их полей. Для этого необходимо знать логическую организацию базы данных. Источником данных может быть таблица (локальная, SQL-сервера), хранимая процедура.

В примере будем использовать данные о продажах, выгруженные из базы данных "1С:Торговля и Склад" в локальные dbf-файлы:
  • Sale.dbf - журнал продаж,
  • Ware.dbf - справочник товаров,
  • Client.dbf - данные о клиентах.

При их описании (см. рис.1) дадим таблицам и полям русскоязычные наименования.

Таблицу Ware.dbf опишем три раза: как справочник товаров и справочники групп и подгрупп товаров.



Рис. 1 Описание источников данных: таблиц и их полей

Исходные данные для анализа хранятся в нескольких таблицах. При этом часть полей таблиц (например, различные коды) не потребуются для отчетов. Поэтому следующим шагом описывается бизнес-объект - Выборка (result set или query) - алгоритм объединения таблиц по ключевым полям, условия фильтрации и набор возвращаемых полей. Таким образом, создается семантический слой, который скрывает физическую реализацию базы данных от конечного пользователя.

Создадим выборку "Продажи".



Рис. 2 Настройка выборки: список отображаемых полей

Для отображения выберем поля таблиц - "Группа товаров", "Подгруппа товаров", "Товар", "Покупатель", "Менеджер", "Сумма" и "Дата" (см. рис.2). Таблицу журнала продаж свяжем с таблицей покупателей по коду покупателя, с таблицей товаров - по коду товара. Для отображения иерархического каталога товаров свяжем таблицы товаров, групп и подгрупп товаров (см. рис.3).



Рис. 3 Настройка выборки: связи между таблицами

После описания источников данных и выборок создаются отчеты. Сначала поля плоской выборки данных разбиваются на две группы - факты (facts или measures) и измерения (dimensions). Факты - это цифры, а измерения - "разрезы", в которых будут суммироваться факты. Для факта нужно выбрать один или несколько алгоритмов агрегации. Простейший алгоритм - сумма. Кроме суммирования OLAP поддерживает другие математические и статистические алгоритмы.

В нашем примере измерениями станут "Группа товаров", "Подгруппа товаров", "Товар", "Менеджер", "Покупатель", "Дата", фактом - "Сумма". Для факта выберем алгоритм агрегации - "Сумма".

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

Выберем периоды "Год", "Месяц" и "Дата" (см. рис.4), при этом данные за каждый день в отчете будут присутствовать, но также появятся сгенерированные измерения "Год" и "Месяц".



Рис. 4 Рис. 4 Настройка OLAP-отчета

Запустив этот интерфейс, получим отчет о продажах в разрезе товаров (групп, подгрупп, товаров), менеджеров, покупателей (см. рис.5).

Рис. 5 Отчет "Продажи товаров в разрезе менеджеров и покупателей"

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

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

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

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

>Демонстрационную версию инструментальной OLAP-системы Контур Стандарт с обучающими уроками можно скачать с сайта компании Intersoft Lab (www.iso.ru).