logo
Информационные технологии управления

Члены и метки. Иерархии. Аналитические операции.

Значения, "откладываемые" вдоль измерений, называются Членами или Метками (members).

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

Пример.

Возьмем n-мерную систему координат, где n - число измерений. По каждой оси отложим члены измерения. Например, по измерению "Цех" это будут засечки, соответствующие всем производственным участкам данного цеха. В узлах координатной сетки откладываются готовность изделий. Каждый факт есть совокупность одной или нескольких мер. Например, отдельный факт изготовления заключает в себе совокупность как минимум трех величин – стоимость заготовки, стоимость изготовления и различные начисления. Таким образом, естественная структура БД для подобного представления - это многомерный куб, ребра которого соответствуют измерениям, а внутренний объем - мерам.

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

Иерархии

Метки могут объединяться в иерархии, состоящие из одного или нескольких уровней детализации (levels). Например, метки измерения "Магазин" (Store) естественно объединяются в иерархию с уровнями: Город ( City ), Штат ( State ), Страна ( Country ), Мир( All ).

В соответствии с уровнями иерархии вычисляются агрегатные значения, например, объем продаж для USA (уровень "Country") или для штата California (уровень "State"). В одном измерении можно реализовать более одной иерархии - скажем, для времени: {Год, Квартал, Месяц, День} и {Год, Неделя, День}.

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

Иерархии могут быть сбалансированными (balanced), как, например, иерархия, представленная выше (такова же иерархии, основанные на данных типа "дата-время"), и несбалансированными (unbalanced). Типичный пример несбалансированной иерархии - иерархия типа "начальник-подчиненный". Иногда для таких иерархий используется термин Parent-child hierarchy.

Существуют также иерархии, занимающие промежуточное положение между сбалансированными и несбалансированными (они обозначаются термином ragged - "неровный"). Обычно они содержат такие члены, логические "родители" которых находятся не на непо средственно вышестоящем уровне (например, в географической иерархии есть уровни Country, City и State, но при этом в наборе данных имеются страны, не имеющие штатов или регионов между уровнями Country и City).

Так как OLAP-системы являются специфическим ПО, в основе которого лежит технология МСУБД, то средствами пользовательского интерфейса можно выполнять такие аналитические операции:

Сечение

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

Проекция

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

Вращение (rolling)

Операция вращения изменяет порядок представления измерений, обеспечивая представление метакуб a в более удобной для восприятия форме.

Разбиение с поворотом (slicing and dicing)

Позволяет получить представление данных с разных точек зрения, осуществить доступ к данным в любых разрезах, комбинациях и порядке следования. Работа пользователя с данными по принципу "slicing and dicing" осуществляется с помощью языка многомерных запросов (Multi-Dimensional Query Language), как средства формулирования запросов к многомерным базам данных. Для проведения анализа можно получать всевозможные срезы данных (двумерный (плоскостной) срез, многомерный подкуб). Например, один срез данных о доходах может содержать все сведения о доходах от продаж товаров указанного типа по каждому городу. Другой срез может представлять данные о доходах отдельной компании в каждом из городов.

Консолидация (rolling up, roll-up, drill-up)

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

Операция спуска (раскрытия) (drill down)

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

Классификация OLAP

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

Классификация OLAP по назначению

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

Сегодня на отечественном рынке представлено достаточно много OLAP-систем, цены, за клиентскую лицензию которых колеблются в пределах $500 до $3000, в зависимости от уровня сложности и ориентации. Системы, ориентированные на использование на крупных предприятиях с поддержкой многопользовательского режима, могут стоить еще дороже. Впрочем, указанные цены касаются лишь стоимости самих программных продуктов. Как и любая другая система автоматизации, OLAP для адекватной работы требует услуг интегратора (чья стоимость может многократно превышать цену самой системы), связанных с правильным отбором и настройкой источников данных для проведения анализа.

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