Что такое OLAP-куб и принцип его настройки
OLAP-куб - это инструмент, который напоминает сводную таблицу в Excel. Принцип работы примерно тот же: сгруппировать по одинаковому признаку числа или даты - и далее делать с ними дополнительные действия или вычисления.
Всё начинается с того, что нужно вытащить числа по каким-то критериям.
Какие есть числа про проект? - Реквизиты-числа в объектах (задачах, например) и в таблицах.
Но нужно не просто взять и всё сложить, а вычленить по какому-то признаку. Этим признаком может быть:
- реквизит-классификатор (выбор из преднастроенного списка);
- реквизит-процесс (тот же классификатор, только с заданной последовательностью выбора значений);
- дата.
OLAP на яблоках
Возьмём такую исходную таблицу:
| Фрукт | Количество |
|---|---|
| Яблоко | 2 |
| Груша | 3 |
| Апельсин | 1 |
| Яблоко | 2 |
| Груша | 4 |
| Апельсин | 1 |
| Яблоко | 7 |
| Груша | 4 |
| Апельсин | 2 |
Первый этап преобразования - создать показатель-запрос, агрегировать (суммировать) данные по признаку:
| Фрукт | Количество |
|---|---|
| Яблоко | 11 |
| Груша | 11 |
| Апельсин | 4 |
Усложним задачу. Предположим, что есть два разных проекта - проект Маши и проект Васи.
| Проект | Фрукт | Количество |
|---|---|---|
| Маши | Яблоко | 2 |
| Васи | Груша | 3 |
| Маши | Апельсин | 1 |
| Васи | Яблоко | 2 |
| Маши | Груша | 4 |
| Васи | Апельсин | 1 |
| Маши | Яблоко | 7 |
| Васи | Груша | 4 |
| Маши | Апельсин | 2 |
Когда этот куб выстроится в виде OLAP-отчёта, получится:
| Проект | Фрукт | Количество |
|---|---|---|
| Маши | Яблоко | 9 |
| Груша | 4 | |
| Апельсин | 3 | |
| Васи | Яблоко | 2 |
| Груша | 7 | |
| Апельсин | 1 |
Теперь представим, что измерений стало еще больше. Добавили критерий свежести.
| Проект | Фрукт | Свежий | Количество |
|---|---|---|---|
| Маши | Яблоко | да | 2 |
| Васи | Груша | да | 3 |
| Маши | Апельсин | нет | 1 |
| Васи | Яблоко | да | 2 |
| Маши | Груша | да | 4 |
| Васи | Апельсин | нет | 1 |
| Маши | Яблоко | да | 7 |
| Васи | Груша | да | 4 |
| Маши | Апельсин | нет | 2 |
| Маши | Яблоко | да | 2 |
| Васи | Груша | да | 3 |
| Маши | Апельсин | нет | 1 |
| Васи | Яблоко | да | 2 |
| Маши | Груша | да | 4 |
| Васи | Апельсин | да | 1 |
| Маши | Яблоко | нет | 7 |
| Васи | Груша | да | 4 |
| Маши | Апельсин | да | 2 |
Но в OLAP-отчёте (или сводной таблице) просто появился еще один маркер «Свежесть»:
| Проект | Фрукт | Свежий? | Количество |
|---|---|---|---|
| Васи | Апельсин | да | 1 |
| нет | 1 | ||
| Груша | да | 14 | |
| Яблоко | да | 4 | |
| Маши | Апельсин | да | 2 |
| нет | 4 | ||
| Груша | да | 8 | |
| Яблоко | да | 11 | |
| нет | 7 |
А можно показатели поменять местами…
| Свежий? | Фрукт | Проект | Количество |
|---|---|---|---|
| да | Апельсин | Васи | 1 |
| Маши | 2 | ||
| Груша | Васи | 14 | |
| Маши | 8 | ||
| Яблоко | Васи | 4 | |
| Маши | 11 | ||
| нет | Апельсин | Васи | 1 |
| Маши | 4 | ||
| Яблоко | Маши | 7 |
И так далее. Можно добавлять всё новые и новые измерения, по которым будет проводиться расчёт.
Измерений может быть не 2, как в обычной таблице, а не ограниченное количество.
От яблок к ADVANTA
- «Какой фрукт», «Свежий?» и «Чей проект» - это измерения OLAP-куба;
- То, что содержится в ячейках - результат вычислений по правилам из показателя. В примере выше самый простой вариант - показатель-запрос с агрегированием… причём, судя по контексту, скорее всего, из таблицы. Этот же показатель-запрос - основа для всех последующих сложных вычислений.
Подробно о том, как создать новый OLAP-куб.
Чтобы увидеть результат, нужно на основе созданного OLAP-куба создать OLAP-отчёт. И/или использовать этот OLAP-куб как источник для дальнейших вычислений.