OLAP.ru   Rambler's Top100
Вы находитесь на страницах старой версии сайта. Перейдите на новую версию OLAP.ru
  
Поиск по сайту
Новости
Основы OLAP
Продукты
Business Objects/ Crystal Decisions
Каталог
OLAP в жизни
Тенденции
Download
Яndex
 
 
 
TopList
 

Введение в OLAP на практическом примере


Владимир Некрасов, технический директор компании Intersoft Lab

Опубликовано в PC Week RE #16/2001

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

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


В качестве инструмента будет рассмотрена OLAP-система самого простого и недорогого класса — OLAP-клиент**. Для примера выбран наиболее простой продукт из числа OLAP-клиентов — "Контур Стандарт" компании Intersoft Lab. (Для наглядности далее в статье общепринятые термины OLAP будут обозначаться жирным шрифтом и сопровождаться англоязычными аналогами.)

Итак, приступим к работе с системой. Для начала потребуется описать Источник данных (data source) — путь к таблице и ее поля. Это задача пользователя, знающего физическую реализацию базы данных. Для конечных пользователей он переводит название таблицы и ее полей в термины предметной области. За "источником данных" стоит локальная таблица, таблица или представление (view) SQL-сервера или хранимая процедура.


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


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

Особое свойство OLAP-систем — генерация измерений и данных по старшим временным периодам из даты и автоматическое вычисление итогов по этим периодам. Выберем периоды "Год", "Квартал" и "Месяц", при этом данных за каждый день в отчете не будет, но появятся сгенерированные измерения "Год", "Квартал" и "Месяц". Назовем отчет "Анализ продаж" и сохраним его. Работа по созданию интерфейса аналитического приложения закончена.


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

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


Например, перетащив (операция "move") колонку "Товар" на первое место, мы получим отчет о сравнении — "Сравнение объемов продаж товаров за год". Чтобы агрегировать данные за год, достаточно перетащить колонки "Квартал" и "Месяц" в верхнюю часть таблицы — "область неактивных измерений". Измерения "Квартал" и "Месяц", перенесенные в эту область, будут закрыты (операция "close dimension"), т. е. исключены из отчета; при этом факты просуммируются за год. Несмотря на то что измерения закрыты, по ним можно задавать конкретные годы, кварталы и месяцы для фильтрации данных (операция "filter").

Для большей наглядности изменим тип графика, иллюстрирующего OLAP-таблицу, и его расположение на экране.


Углубление в данные (операция "drill down") позволяет получить более детальные сведения о продажах интересующего нас товара. Щелкнув на знаке "+" напротив товара "Кофе", мы увидим объемы его продаж в разрезе регионов. Раскрыв регион "Урал", получим объемы продаж в разрезе городов Уральского региона, углубившись в данные по "Екатеринбургу", сможем просмотреть данные по оптовым покупателям этого города.

Для установки фильтров можно использовать и открытые измерения. Чтобы сравнить динамику продаж конфет в Москве и Екатеринбурге, установим фильтры на измерения "Товар" и "Город".

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


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

Действительно, OLAP — это естественное продолжение и развитие идеи электронных таблиц. По сути, визуальный интерфейс OLAP — это тоже электронная таблица (spreadsheet), но оснащенная мощной машиной вычислений и особым стандартом представления данных и управления ими. Более того, некоторые OLAP-клиенты реализованы как add-in к MS Excel. Поэтому миллионная армия "белых воротничков", уверенно владеющая электронными таблицами, очень быстро осваивает и OLAP-инструменты. Для них это "бархатная революция", предоставляющая новые возможности, но не сопряженная с необходимостью переучиваться.

Если читатель, прочитав эту статью, не потерял интереса к OLAP, он может обратиться к упомянутым в начале материалам. Сборники таких материалов размещены на ряде сайтов в Интернете, включая сайт Intersoft lab — www.iso.ru. С него можно также скачать демонстрационную версию системы "Контур Стандарт" с описанным в статье примером.

Замечания и вопросы техническому директору компании Intersoft Lab можно присылать по адресу: nekrasov@iso.ru.

 Обсудить на форуме   Написать вебмастеру 

© 2001 Interface Ltd