Mondrian
— сервер OLAP (аналитической обработки в реальном времени) с открытыми исходными кодами, написанный на языке Java
. Разрабатывается и поддерживается корпорацией Pentaho
.
Для создания схемы потребуется воспользоваться desktop-приложением Pentaho schema workbench
.
OLAP-куб
— (On-Line Analytical Processing — интерактивный анализ данных) многомерный массив данных, как правило, разреженный и долговременно хранимый, используемый в OLAP. Может быть реализован на основе универсальных реляционных СУБД или специализированным программным обеспечением. Подробнее в статье OLAP-куб.
Создание схемы
Для создания схемы необходимо выполнить действие: File -> new -> schema
. В атрибутах новой схемы заполнить name
(наименование схемы).
Для сохранения схемы необходимо выполнить действие: File -> save
.
Настройка подключения к БД
Задается соединение с БД: Options -> connection
. В появившемся окне в разделе General
заполнить:
- Connection Name – Наименование для подключения;
- Connection Type = Postgre SQL – Тип хранения данных;
- Access = Native (JDBC) – Тип подключения;
- Settings:
Создание куба
- В созданной схеме необходимо создать куб (ПКМ по схеме и кликнуть «Add cube»)
В атрибутах нового куба заполнить:
- name – наименование куба.
- Далее необходимо добавить таблица фактов для куба (ПКМ по кубу и кликнуть «Add Table»);
В атрибутах новой таблицы заполнить:
- schema - схема БД;
- name – таблица фактов для куба.
Создание Меры
Добавить меру для куба (ПКМ по кубу и выбрать «Add Measure») и заполнить:
- name – наименование меры (Отображается на веб-интерфейсе);
-
aggregator – тип вычисления, который принимает одно из значений:
- sum;
- count;
- min;
- max;
- avg;
- distinct-count.
- column – наименование атрибута таблицы фактов, по которому будет считаться мера.
Создание Измерения
Измерение для схемы
Измерение для схемы используется в случаях, когда в рамках одной схемы создается несколько кубов. Для нескольких кубов можно использовать одно измерение схемы. При этом нужно лишь добавить ссылку на это измерение в кубе.
1.Создать новое измерение для схемы (ПКМ по схеме и кликнуть на Dimension).
Если измерение создано для схемы, а не для куба то из обязательных атрибутов только поле name – имя. Поле type ¬– тип измерения, заполняется по умолчанию значением StandartDimension, для не временных измерений. Для временных измерений заполняется значением TimeDimension.
2.При раскрытии измерения появляется иерархия. Обязательные атрибуты для иерархии:
- name – наименование иерархии,
- primarykey - столбец таблицы измерения, значения которого совпадают с каким – либо столбцом таблиц (ы) фактов (для связи куба и измерения)
3.Добавить таблицу для измерения (ПКМ по иерархии и кликнуть на Add Table). Среди обязательных атрибутов, уровень имеет следующие:
- schema – схема БД;
- name – наименование таблицы
4.После добавлении таблицы, аналогично нужно добавить хотя бы один уровень (Level). Среди обязательных атрибутов, уровень имеет следующие:
- name – наименование уровня;
- column (столбец, который будет отражаться как измерение в кубе).
5.Чтобы использовать измерение схемы в кубе, нужно кликнуть ПКМ по нужному кубу и нажать add dimension usage
Обязательные атрибуты:
- name – наименование измерения в кубе.
- foreign key – столбец таблицы фактов, значения которого должны совпадать с ключом, указанном в иерархиях измерения.
- source – необходимо выбрать измерение, которое будет использоваться.
Необязательный атрибут:
- caption – имя для измерения, которое будет отражаться для конкретного куба.
Измерение для куба
1.Чтобы использовать измерение для куба, нужно кликнуть ПКМ по нужному кубу и нажать add dimension
Если измерение создано для куба, то заполнить следующие поля:
- name – имя;
- type ¬– тип измерения, заполняется по умолчанию значением StandartDimension, для не временных измерений. Для временных измерений заполняется значением TimeDimension.
- foreignKey – внешний ключ для связи с таблицей фактов куба.
2.При раскрытии измерения появляется иерархия. Обязательные атрибуты для иерархии:
- name – наименование иерархии,
- primarykey - столбец таблицы измерения, значения которого совпадают с каким – либо столбцом таблиц (ы) фактов (для связи куба и измерения)
3.Добавить таблицу для измерения (ПКМ по иерархии и кликнуть на Add Table). Среди обязательных атрибутов, уровень имеет следующие:
- schema – схема БД;
- name – наименование таблицы
4.После добавлении таблицы, аналогично нужно добавить хотя бы один уровень (Level). Среди обязательных атрибутов, уровень имеет следующие:
- name – наименование уровня;
- column (столбец, который будет отражаться как измерение в кубе).
Измерение JOIN
Используемая диаграмма классов:
1.Создать Измерение 2.В уже созданной иерархии кликнуть ПКМ и создать Join 3.Заполнить в Join ссылки на таблицы
4.В самом Join необходимо указать primarykey и foreignkey
5.Создать Level:
6.Заполнить Иерархию для связи с таблицей фактов
7.В кубе нужно создать Dimension Usage
Схема куба:
Измерение с иерархией
Использование Уровней
1.Модель:
2.Создать новое измерение для схемы или для куба
Если предполагается работа с датами, то нужно отметить атрибут type = TimeDimension 3.Далее заполнить поля в Иерархии 4.Добавить таблицу для иерархии 5.После создать первый уровень:
- Заполнить Год:
- Заполнить Месяц:
Использование Closure Table
0.Модель:
1.Создать новое измерение для схемы или для куба
2.Далее заполнить поля в Иерархии
3.Добавить таблицу для иерархии
4.Далее в раскрытой иерархии нужно добавить уровень
5.В созданном уровне нужно добавить Closure
6.Заполнить Closure, для этого нужно выбрать в Table нужную таблицу
7.Заполнить уровень, для этого необходимо заполнить поля:
- name – наименование уровня;
- table – выбрать из выпадающего списка таблицу для измерения;
- column – атрибут первичного ключа таблицы;
- nameColumn – атрибут для отображения значения измерения;
- parentColumn – атрибут для ключа родителя;
- type – тип данных;
- uniqueMembers – отметить галочку для отметки, что данный уровень является первичным по счету;
- levelType – Regular;
- hideMemberlf – Never
- caption – отображаемое имя
8.Заполнить в Closure атрибуты parentColumn и childColumn значениями из выпадающих списков:
9.Для куба создать ссылку на измерение:
10.Заполнить Dimension Usage:
Создание виртуального Куба
Для отображения нескольких кубов на одной схеме используется функция создания виртуальных кубов. Для этого требуется:
1.Создать как минимум два куба с измерениями и мерами
2.В открытой схеме нужно создать виртуальный куб (ПКМ по схеме и кликнуть Add virtual cube
)
3.Заполнить, в появившимся окне, наименование (name) для виртуального куба
4.Добавить в виртуальный куб ссылки на измерения обычных кубов, для этого:
- Кликнуть ПКМ по виртуальному кубу и выбрать
Add virtual cube dimension
- В появившемся окне виртуального измерения заполнить атрибуты: name и cubeName в точности, как они называются в исходном кубе
5.Добавить в виртуальный куб ссылки на меры обычных кубов, для этого:
- Кликнуть ПКМ по виртуальному кубу и выбрать
Add virtual cube measure
- В появившемся окне виртуального измерения заполнить атрибуты: name и cubeName в точности, как они называются в исходном кубе