Концептуальная многомерная модель
В рамках многомерной модели все информационное пространство задачи разбивается на атрибуты двух типов: измерения и факты. Измерениями, как правило, становятся компоненты информационного пространства (атрибуты), не зависящие от анализируемых процессов, а характеристики анализируемых процессов становятся фактами. При этом, каждый факт имеет значение лишь в контексте конкретных значений набора измерений. Графически подобную модель легко представить в виде системы координат (или гиперкуба), где измерения являются гранями, а факты – точками в системе координат (или внутри куба). Понятно, что графически можно изобразить только куб с количеством измерений не больше трех, поэтому одной из наиболее популярных операций при работе с гиперкубом является его проекция на одно, два или три измерения. Пример куба, приведен на рисунке (Рис. 80).
Рис. 80. Куб данных
В дальнейшем, вне зависимости от реального количества измерений будем пользоваться термином гиперкуб.
В самом простом случае, измерения являются однородными, то есть состоят из равноправных значений. Например, значениями могут быть районы города, числа, филиалы и так далее. Но, в общем случае, и об этом писал в своей статье Кодд, измерения могут быть иерархическими, отражая иерархическую структуру организаций и характеристик процессов. Так, измерение может состоять из названий городов, и областей, к которым эти города относятся. Классическое измерение времени является иерархическим и содержит даты с группировкой по неделям, месяцам, кварталам и годам. Соответственно, пользователь при работе с гиперкубом может выбирать уровень детализации измерений и переходить от общих данных к детальным и обратно. Иерархия измерения может быть ровной или неровной. Ровная иерархия допускает только один вариант обобщения, тогда как неровная допускает несколько вариантов. Типичным примером неровной иерархии является иерархия временных единиц, в которой дни могут группироваться в недели, декады и месяцы, причем, в общем случае, никакой набор значений одной из этих единиц не объединяется в другую.
В качестве фактов для внутренних элементов иерархии измерения используются значения, полученные с помощью процедуры агрегирования из значений иерархии измерения более низкого порядка. Наиболее простым вариантом процедуры агрегирования (и наиболее часто встречающимся) может быть суммирование.
С гиперкубом можно выполнять следующие операции:
- выборка. Выбирается некоторое подмножество значений по одному или нескольким измерениям, и отобранные значения формируют новый куб;
- обобщение/детализация. Переход к более высокому (или более низкому) уровню иерархии измерения по одному или более измерениям.
- проекция. Фиксируются значения нескольких измерений (в том числе, на значении «Любой»), и результатом является получившийся гиперкуб.
- вращение. При отображении гиперкуба в виде сводной таблицы меняются местами оси.