Hare.ru @ Коллективный разум / Hare.ru @ Дикое место

Архив hare.ru 
Мысли, конвертированные в текст

Полезные технологии


Все статьи раздела

Мой опыт по внедрению OLAP

Андрей Попов (Daddy) (апрель 2002)

С чего все начиналось.

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

В результате я решил поэкспериментировать с OLAP, благо инструментарий был под руками. Идея OLAP проста как мир – обменивать время на память. В качестве хранилища я выбрал базу данных MS SQL 2000, поскольку предполагал, что данные будут накапливаться годами, и их объем будет расти. В качестве сервера OLAP был выбран MS Analysis Server, входящий в комплект MS SQL 2000.

Больше всего времени ушло на поиски клиентской программы. В конце концов я остановился на программе MOLAP.RU. Эту программу отличает достаточно простой интерфейс и вполне приемлемая скорость работы. Она написана с использованием OWC, входящих в состав MS Office XP, но, в отличие от использования напрямую сводных таблиц Excel, она работает намного быстрее, особенно на больших объемах данных.

К сожалению, складывается впечатление, что проект заброшен. В программе есть одна особенность (или ошибка): если в анализируемом кубе все фактические меры (measures) сделаны невидимыми (т.е. видимы только вычисляемые меры), то программа не может получить список полей куба.

Для себя еще хочу посмотреть продукт MS Data Analyzer, продукт достаточно свежий, информации по нему еще мало.

Что еще стоит почитать в сети? Мне понравилась серия статей "Введение в OLAP" на сайте www.olap.ru, (перепечатка из Компьютер-Пресс). В них рассматриваются как раз те продукты, которые я выбрал. Для людей, только начинающих свое знакомство с OLAP – очень познавательно.

Что дальше?

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

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

Второй шаг – написание обработки, которая будет заполнять эти таблицы. Пример такой обработки есть на сайте MOLAP.RU.

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

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

У себя я определил четыре куба – Остатки, Обороты по отгрузке, Обороты по оплате и Возвраты. Кроме этого они все объединены в один виртуальный куб.

Что еще можно сделать?

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

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

Партнеры:


Также может быть интересно:

Канал Россия 1 на http://spbtvonline.ru/
   
 Сайт поддерживается за счет партнеров:
:::... Сайт содержит архив двух версий hare.ru Карта сайта