Обзор алгоритмов MOLAP


Иерархии и агрегирование


Иерархичность данных — одно из важнейших свойств многомерных кубов. Иерархии призваны добавлять новые уровни в аналитическое пространство пользователя. Самым распространенным примером иерархии является ''день-неделя-месяц-год''. Соответственно, для уровней иерархии работают отношения обобщения и специализации (rollup/drilldown). Как правило, в научных работах рассматриваются простые примеры иерархий ''детальное значение — ALL'', однако, как мы увидим далее, подобного уровня детализации может быть недостаточно.

Все иерархии можно разбить на 2 типа, о которых пойдет речь ниже. Основой разбиения будет служить расстояние

$ d$

от корня (

$ \{ALL,ALL,\ldots,ALL\}$

) до листьев. В случае, если

$ d = const$
, иерархии называются уровневыми (leveled), иначе — несбалансированными (ragged).

Примеры типов иерархий:

Уровневые:

день-месяц-год; улица — город — страна

Несбалансированные:

Организационная диаграмма, различная группировка продуктов

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




Начало  Назад  Вперед