Значения, "откладываемые" вдоль измерений, называются Членами или Метками (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-системы являются специфическим ПО, в основе которого лежит технология МСУБД, то средствами пользовательского интерфейса можно выполнять такие аналитические операции: |