Сейчас на сайте
Сейчас на сайте 0 пользователей и 0 гостей.

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

Значения, "откладываемые" вдоль измерений, называются Членами или Метками (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)

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