- Что собой представляет OLAP-куб
- Измерения (Dimensions)
- Факты (Facts)
- Меры (Measures)
- Для чего нужен OLAP-куб
- Виды OLAP-кубов
- MOLAP (Multidimensional OLAP)
- ROLAP (Relational OLAP)
- HOLAP (Hybrid OLAP)
- Модели OLAP-куба
- Принципы работы с OLAP-кубом
- Пример MDX-запросов для работы с OLAP-кубом
- Общая сумма продаж за все годы
- Региональные продажи за конкретный год
- Сумма продаж отдельного продукта по месяцам
- Средняя прибыль по группам товаров
- Максимальные продажи в каждом дне по одному региону
- Преимущества OLAP-куба
- Часто задаваемые вопросы об OLAP-кубе
- Где применяются системы OLAP?
- Что можно сделать с помощью OLAP?
- В каких сферах востребована технология?
25 рабочих гипотез для увеличения конверсии на 40%
Скачать материалы
Что это такое? OLAP-куб – массив данных, каждая грань которого содержит информацию определенного признака. Это не обязательно должна быть трехмерная модель, может также выглядеть как таблица.
Где используется? OLAP-куб нужен там, где происходит обработка большого количества данных. Применяется в онлайн-продажах, складском учете, маркетинговом исследовании. С помощью технологии готовят наглядные отчеты для анализа результатов.
Что собой представляет OLAP-куб
OLAP-куб представляет собой структуру, с помощью которой в одноименных системах можно представить многомерные массивы данных. Они создаются для быстрого и эффективного извлечения информации.
-
Дополнительно:
- 10 критических ошибок В2В маркетинга
- 5 полезных инструментов для В2В
Куб позволяет сократить время обработки больших объемов данных. И изначально подразумевает наличие лишь трех измерений. В действительности, куб данных OLAP может представлять большее их число. В этом случае его называют гиперкубом. OLAP-куб состоит из следующих компонентов.
Измерения (Dimensions)
Представляют собой оси, на которых указывают ключевые аспекты данных, поддающиеся анализу. Обычно используются массивы следующих типов:
- Продукт (бренд, категория, подкатегория).
- Время (год, квартал, месяц, неделя, день).
- География (страна, область, город, район).
- Клиенты (возрастная группа, тип, сегмент).
Измерения строятся по четкой иерархии. Так пользователь сможет глубже погружаться в анализ данных. Например, изменения могут состоять из уровней от года до дня или недели.
Факты (Facts)
Представляют собой метрики или числовые данные, которые и подвергаются анализу на основе измерений. В качестве примера можно привести следующие:
- Объем реализации (в единицах товара или услуги).
- Продажи (в денежном выражении).
- Расходы.
- Прибыль.
Фактические данные при построении OLAP-куба помещаются в центр и связываются с измерениями.
Меры (Measures)
Представляют собой агрегированные значения фактов. Их можно вычислить, применяя измерения. Например:
- Объем реализации за квартал.
- Суточные продажи товаров или услуг.
- Среднее значение прибыли по конкретному региону.
Меры позволяют выводить минимальные, средние, максимальные, суммированные и другие значения в агрегированном виде.
Для чего нужен OLAP-куб
Создание куба OLAP необходимо для решения следующих задач:
- Многомерный анализ данных. Использование куба позволяет клиенту изучать массивы информации с разных сторон. Например, можно проанализировать продажи по регионам, отдельным продуктам или времени.
- Быстрый анализ данных. Куб OLAP дает возможность пользователю в считанные секунды провести аналитику и найти ответы на сложные вопросы. В бизнесе время принятия решений имеет огромное значение.
- Прогнозирование и предсказание. Использование OLAP-кубов, построенных на исторических данных, позволяет предсказывать события в будущем. Например, можно понять, какой продукт будет пользоваться популярностью в ближайшее время.
- Принятие правильных решений. Куб позволяет быстро обрабатывать большие массивы данных. Так принятые решения получают обоснование. Например, можно посмотреть, какой продукт и в каком регионе продавался лучше всего.
Виды OLAP-кубов
В системах OLAP-кубов применяют три самых распространенных варианта хранения информации:
MOLAP (Multidimensional OLAP)
В такой системе структура OLAP-куба строится на первичных данных и результатах их анализа. Такой метод хранения позволяет ускорить процесс извлечения информации. Пользователь моментально получает доступ по запросу к необходимым данным.
Однако такая система имеет один существенный недостаток – таблицы, содержащие первичные данные, требуют много места для хранения. Если информации слишком много – для размещения OLAP-куба с MOLAP может не хватить технических ресурсов.
ROLAP (Relational OLAP)
Изначальные данные, а также результаты их анализа, помещаются не в сам куб, а в отдельные реляционные базы. Информация заносится в стандартные таблицы SQL. Существенный недостаток – скорость доступа к данным. Чтобы собрать нужный срез информации, придется обращаться с запросами к каждой таблице.
HOLAP (Hybrid OLAP)
Эта система объединила в себе принципы предыдущих двух. В этом случае первичные данные помещаются в реляционную базу, но результаты их анализа хранятся непосредственно в самом кубе. Поскольку эта схема объединила в себе преимущества обоих подходов, она получила наибольшее распространение.
Модели OLAP-куба
При создании OLAP-кубов применяются две самых распространенных схемы:
- «Звезда». При создании кубов по этой схеме в основе их лежат факт-таблицы. В них содержатся ключевые показатели (смертность и рождаемость, прибыль и убытки). Измерения представляются отдельными таблицами. Использование такой схемы позволяет сократить расходы на хранение данных, а также ускорить реализацию агрегационных запросов и анализ информации в больших объемах.
- «Снежинка». Основное отличие от «Звезды» – нормализация, она же разбивка измерений на несколько таблиц, связанных между собой. Реализовать эту схему сложнее. Зато она сокращает объем, который необходим для хранения данных.
Принципы работы с OLAP-кубом
- Создание. Прежде чем думать, как сделать OLAP-куб, необходимо собрать фактические данные и измерения. Для этого можно задействовать специальные программные инструменты (IBM Cognos, Oracle OLAP или Microsoft SQL Server Analysis Services).
- Запросы. Пользователь может обращаться к кубу с запросами, чтобы получить нужные данные. Для этого можно задействовать как особые инструменты, так и обычные таблицы Microsoft Excel. Нередко для формирования запросов к кубу применяют язык MDX (Multidimensional Expressions).
- Агрегация данных. Агрегация данных, которую позволяет куб, ускоряет процесс их анализа. Например, программа может заранее посчитать, какой объем продаж имеет продукт за месяц. При обработке соответствующего запроса пользователь получит ответ моментально.
- Детализация и свертка (Drill-down и Roll-up). Использование кубов OLAP, к примеру, позволяет детализировать данные, переходя от одного уровня к другому. Пользователь может посмотреть продажи за неделю, а затем углубиться до дневных. Аналогичным образом он может свернуть данные, чтобы увидеть общую картину.
Пример MDX-запросов для работы с OLAP-кубом
Язык MDX позволяет проводить операции над OLAP-кубами по извлечению информации. С его помощью можно запрашивать данные в многомерном отражении, получая агрегированный итог.
Язык MDX имеет визуал, схожий с SQL. Главное – их не перепутать.
Стандартный запрос на MDX имеет вид:
SELECT
[Measures].[Measure] ON COLUMNS,
[Dimension].[Hierarchy].[Level] ON ROWS
FROM [CubeName]
WHERE ([Slicer])
- SELECT. Указывает данные, которые будут возвращаться.
- ON COLUMNS. Устанавливает, какие данные отразятся в колонках (чаще – факты, меры).
- ON ROWS. Определяет, какие данные отразятся в строках (обычно это измерения).
- Указывает на куб, из которого нужно получить данные.
- WHERE. Устанавливает параметры фильтрации данных (например, по отдельному региону или временному отрезку).
Рассмотрим примеры запросов на языке MDX.
Общая сумма продаж за все годы
Задача: узнать сумму продаж за все годы, по которым доступны данные.
SELECT
{[Measures].[Sales Amount]} ON COLUMNS,
[Date].[Year].[Year].MEMBERS ON ROWS
FROM [SalesCube]
- [Measures].[Sales Amount]: Мера, которая отражает сумму продаж.
- [Date].[Year].[Year].MEMBERS: Временные измерения, отражающие доступные годы.
- [SalesCube]: Указание на куб, где хранится информация.
С помощью этого запроса в таблицу будут выведены данные, где строки отобразят годы, хранящиеся в кубе, а в колонках выведутся суммы продаж по ним.
Региональные продажи за конкретный год
Задача: вывести реализацию по регионам за 2023 год.
SELECT
{[Measures].[Sales Amount]} ON COLUMNS,
[Geography].[Region].[Region].MEMBERS ON ROWS
FROM [SalesCube]
WHERE ([Date].[Year].&[2023])
- [Geography].[Region].[Region].MEMBERS: Отображение регионов.
- WHERE ([Date].[Year].&[2023]): Фильтр, который отсекает данные за 2023 год.
После обработки запроса пользователь увидит сумму продаж по каждому региону за 2023 год.
Сумма продаж отдельного продукта по месяцам
Задача: имеется товар «Х». Нужно вывести данные о продажах его в каждом месяце 2023 года.
SELECT
{[Measures].[Sales Amount]} ON COLUMNS,
[Date].[Month].[Month].MEMBERS ON ROWS
FROM [SalesCube]
WHERE ([Product].[Product Name].&[X], [Date].[Year].&[2023])
- [Date].[Month].[Month].MEMBERS: Отображение месяцев.
- WHERE ([Product].[Product Name].&[X], [Date].[Year].&[2023]): Фильтр, отсекающий данные о продукте «Х» за 2023 год.
После реализации запроса пользователь увидит объемы продаж продукта «Х» в каждом месяце 2023 года.
Средняя прибыль по группам товаров
Задача: отобразить значение средней прибыли по отдельным категориям продуктов.
SELECT
{[Measures].[Profit]} ON COLUMNS,
[Product].[Category].[Category].MEMBERS ON ROWS
FROM [SalesCube]
- [Measures].[Profit]: Отображение прибыли.
- [Product].[Category].[Category].MEMBERS: Измерение, отражающее категории продуктов.
С помощью этого запроса пользователь выведет на экран среднюю прибыль по каждой из товарных категорий.
Максимальные продажи в каждом дне по одному региону
Задача: найти максимальные реализации по дням в регионе «Moskva».
SELECT
{[Measures].[Sales Amount]} ON COLUMNS,
[Date].[Day].[Day].MEMBERS ON ROWS
FROM [SalesCube]
WHERE ([Geography].[Region].&[Moskva])
- [Date].[Day].[Day].MEMBERS: Измерение по дням.
- WHERE ([Geography].[Region].&[Moskva]): Фильтр, отсекающий данные по региону «Moskva».
Пользователь увидит данные о максимальных продажах в каждом дне в регионе «Moskva».
Преимущества OLAP-куба
OLAP-куб с его измерениями и мерами обладает определенными особенностями. В частности:
- Доступ пользователя к данным не ограничен. В любой момент он может обратиться с запросом и получить полный объем информации.
- Хранение данных в предобработанном виде. Это позволяет сократить период их представления пользователю. В других системах информация хранится в больших базах, где на поиск нужных данных уходит много времени.
- Общее хранилище данных. Информация в OLAP-кубах находится в единой базе. Нет необходимости объединять несколько хранилищ.
- Можно настроить уровень детализации. С помощью MS SQL пользователь OLAP-куба может сам установить, какую глубину будут иметь выдаваемые данные. Например, общий запрос может вывести информацию о сделках компании за год. При необходимости ответ легко расширить, указав их суммы, контрагентов и другие параметры.
Часто задаваемые вопросы об OLAP-кубе
Где применяются системы OLAP?
OLAP является основным инструментов Business Intelligence. Используя их, можно собрать данные из разных источников, представив в удобном виде.
Что можно сделать с помощью OLAP?
OLAP-куб представляет следующие возможности:
- оценить эффективность логистических маршрутов;
- сформировать различные отчеты;
- изучить востребованность отдельных продуктов и потребности покупателей;
- оптимизировать управление ресурсами организации;
- установить причины падения прибыли и выручки, найти возможности для их устранения.
В каких сферах востребована технология?
OLAP-куб позволяет решать задачи в:
- офлайн- и онлайн-продажах;
- маркетинговых исследованиях;
- оценке логистики;
- складском хранении;
- учете качества клиентской работы и других.
Системы OLAP не имеют широкого распространения. Они пригодятся крупным компаниям, у которых данные хранятся в тера- и петабайтах. С помощью OLAP можно обрабатывать огромные массивы информации.
Ответить на вопрос, что такое OLAP-куб своими словами, несложно – это многомерная сводная таблица. Если закрыть глаза на технические моменты, по своему виду она больше напоминает MS Excel. Впрочем, она имеет ряд нюансов, которые следует учитывать при создании. Например, многомерность и агрегацию данных, сложность разработки.