Аналитическая аналитическая обработка (OLAP) - это технология, которая используется для упорядочения баз данных большого бизнеса и поддержки бизнес-аналитики. Базы данных OLAP делятся на один или несколько кубов, и каждый из них организуется администратором куба так, чтобы он соответствовал способу получения и анализа данных, чтобы облегчить создание и использование отчетов сводной таблицы и отчетов сводной диаграммы, которые вам понадобятся.

В этой статье

Что такое бизнес-аналитика?

Бизнес-аналитик часто хочет получить большую картину бизнеса, чтобы просматривать более широкие тенденции на основе агрегированных данных, а также просматривать тенденции с разбивкой на любое количество переменных. Бизнес-аналитика - это процесс извлечения данных из базы данных OLAP и анализа этих данных для получения сведений, которые можно использовать для принятия информированных бизнес-решений и выполнения действий. Например, с помощью OLAP и бизнес-аналитики вы можете ответить на следующие вопросы о бизнес-данных.

    Как общая сумма продаж всех продуктов в 2007 сравнивается с объемом продаж с 2006?

    Как это сравнивается с датой и временем по выгодным периодом за последние пять лет?

    Сколько денег клиенты потратили на 35 в прошлый год и каким образом изменилось это поведение с течением времени?

    Сколько продуктов было продано в двух определенных странах/регионах в этом месяце, в отличие от того же месяца прошлого года?

    Для каждой группы возрастов клиентов Каково разделение рентабельности (как процент маржи, так и итог) по категориям товаров?

    Поиск лучших и нижних продавцов, дистрибьюторов, поставщиков, клиентов, партнеров и клиентов.

Что такое аналитическая обработка в Интернете (OLAP)?

Базы данных OLAP (Online Analytical Processing) упрощают запросы бизнес-аналитики. OLAP - это технология баз данных, оптимизированная для запросов и отчетов, а не для обработки транзакций. Источник данных для OLAP - это оперативные базы данных обработки транзакций (OLTP), которые обычно хранятся в хранилищах данных. Данные OLAP извлекаются из этих исторических данных и объединяются в структуры, которые допускают сложный анализ. Данные OLAP также упорядочиваются иерархически и хранятся в кубах, а не в таблицах. Это сложная технология, использующая многомерные структуры для обеспечения быстрого доступа к данным для анализа. В этой Организации для отчета сводной таблицы или отчета сводной диаграммы можно легко отобразить сводные данные высокого уровня, такие как итоги продаж по всей стране или региону, а также отобразить сведения о сайтах, где продажи особенно велики или слабы.

Базы данных OLAP предназначены для ускорения загрузки данных. Поскольку OLAP-сервер, а не Microsoft Office Excel, вычисляет обобщенные значения, при создании или изменении отчета необходимо отправлять в Excel меньшие данные. Этот подход позволяет работать с большим объемом исходных данных, чем в случае, если данные были организованы в традиционной базе данных, где Excel извлекает все отдельные записи и вычисляет обобщенные значения.

Базы данных OLAP содержат два основных типа данных: меры, которые представляют собой числовые данные, количества и средние значения, которые используются для принятия информированных бизнес-решений, и измерения, которые являются категориями, используемыми для упорядочения этих мер. Базы данных OLAP помогают упорядочить данные с помощью множества уровней детализации, используя те же категории, которые вы знаете для анализа данных.

В следующих разделах каждый компонент подробно описан ниже.

Кубическ Структура данных, объединяющая меры по уровням и иерархиям каждого измерения, которое вы хотите проанализировать. Кубы объединяют несколько измерений, таких как время, география и строки продукта, с итоговыми данными, такими как продажи и запасы. Кубы - это не "Кубы" в строгом математическом смысле, так как они не обязательно имеют одинаковые стороны. Тем не менее, они представляют собой метафору Апт для сложного понятия.

Измерений Набор значений в Кубе, основанных на столбце в таблице фактов куба и который обычно является числовым значением. Меры - это центральные значения в Кубе, которые предварительно обрабатываются, обрабатываются и анализируются. Наиболее распространенными примерами являются продажи, доходы, доходы и затраты.

Member Элемент в иерархии, представляющий один или несколько вхождений данных. Элемент может быть как уникальным, так и неуникальным. Например, 2007 и 2008 представляют уникальные элементы на уровне года измерения времени, в то время как Январь представляет неуникальные элементы на уровне месяца, так как в измерении времени есть более одного января, так как в нем содержатся данные для более чем одного года.

Вычисляемый элемент Элемент измерения, значение которого вычисляется во время выполнения с помощью выражения. Значения вычисляемых элементов могут быть производными от значений других членов. Например, вычисляемый элемент "прибыль" может быть определен путем вычитания значения элемента, а также затрат из значения элемента, продажи.

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

Иерархия Логическая структура дерева, которая упорядочивает элементы измерения, так что у каждого элемента есть один родительский элемент и ноль или более дочерних элементов. Дочерний элемент - это член более ранней группы в иерархии, непосредственно связанный с текущим членом. Например, в иерархии времени, содержащей уровни квартал, месяц и день, Январь является дочерним элементом Qtr1. Родительский элемент - это член более низкого уровня в иерархии, непосредственно связанный с текущим членом. Родительским значением обычно является консолидация значений всех дочерних элементов. Например, в иерархии времени, содержащей уровни "квартал", "месяц" и "день", Qtr1 является родительским для января.

Уровень В иерархии данные могут быть организованы в более низкие и более высокие уровни детализации, такие как годы, кварталы, месяцы и дневные уровни в иерархии времени.

Функции OLAP в Excel

Получение данных OLAP Вы можете подключаться к источникам данных OLAP точно так же, как и к другим внешним источникам данных. Вы можете работать с базами данных, созданными с помощью служб Microsoft SQL Server OLAP версии 7,0, служб Microsoft SQL Server Analysis Services версии 2000 и Microsoft SQL Server Analysis Services версии 2005, серверных продуктов Microsoft OLAP. Excel также может работать с продуктами OLAP третьих лиц, которые совместимы с OLE-DB для OLAP.

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

Создание файлов куба для автономного использования Вы можете создать файл автономного куба (. cub) с подмножеством данных из базы данных сервера OLAP. Автономные файлы куба используются для работы с данными OLAP, если вы не подключены к сети. С помощью куба вы можете работать с большим объемом данных в отчете сводной таблицы или отчете сводной диаграммы, чем в противном случае, и ускорить получение данных. Вы можете создавать файлы Куба только в том случае, если вы используете поставщик OLAP, например Microsoft SQL Analysis Services версии 2005, которая поддерживает эту функцию.

Действия сервера Действие сервера - это необязательная функция, которую администратор куба OLAP может определять на сервере, который использует элемент куба или меру в качестве параметра в запросе для получения сведений в Кубе, или для запуска другого приложения, например браузера. В Excel поддерживается URL-адреса, отчеты, наборы строк, детализация и развертывание подробных серверных действий, но не поддерживает собственный собственный оператор и набор данных.

КПЭ Ключевой показатель эффективности - это особая вычисляемая мера, определенная на сервере, позволяющая отслеживать "ключевые показатели эффективности", в том числе состояние (текущее значение соответствует определенному номеру). и тенденция (значения с течением времени). Когда они отображаются, сервер может отсылать соответствующие значки, похожие на новый значок Excel, чтобы они выстроили выше или ниже уровней состояния (например, для значка остановки), а также раскрутка значения вверх или вниз (например, значок стрелки направления).

Форматирование на сервере Администраторы кубов могут создавать меры и вычисляемые элементы с помощью цветового форматирования, форматирования шрифта и правил условного форматирования, которые могут быть назначены как корпоративное стандартное бизнес-правило. Например, серверный формат для дохода может представлять собой числовой формат валюты, цвет ячейки зеленого цвета, если значение больше или равно 30 000, и красный, если значение меньше 30 000, и стиль шрифта полужирный, если значение меньше 30 000, и при положительном значении - обычный. больше или равно 30 000. Дополнительные сведения можно найти .

Язык интерфейса Office Администратор куба может определять переводы для данных и ошибок на сервере для пользователей, которые должны просматривать сведения сводной таблицы на другом языке. Эта функция определена как свойство соединения с файлом, а региональные параметры компьютера пользователя и страны должны соответствовать языку интерфейса.

Программные компоненты, необходимые для доступа к источникам данных OLAP

Поставщик OLAP Для настройки источников данных OLAP для Excel необходим один из указанных ниже провайдеров OLAP.

    Поставщик Microsoft OLAP В Excel входит драйвер источника данных и клиентское программное обеспечение для доступа к базам данных, созданным с помощью служб Microsoft SQL Server olap версии 7,0, Microsoft SQL Server olap версии 2000 (8,0) и Microsoft SQL Server Analysis services версии 2005 (9,0).

    Сторонние поставщики OLAP Для других продуктов OLAP необходимо установить дополнительные драйверы и клиентское программное обеспечение. Чтобы использовать возможности Excel для работы с данными OLAP, продукт стороннего поставщика должен соответствовать стандарту OLE-DB для OLAP и быть совместимым с Microsoft Office. Для получения сведений об установке и использовании стороннего поставщика OLAP обратитесь к системному администратору или поставщику продукта OLAP.

Базы данных сервера и файлы Куба Клиентское программное обеспечение Excel OLAP поддерживает соединения с двумя типами баз данных OLAP. Если база данных на сервере OLAP доступна в сети, вы можете получать из нее исходные данные прямо из нее. Если у вас есть автономный файл куба, который содержит данные OLAP или файл определение кубов, вы можете подключаться к этому файлу и получать из него исходные данные.

Источники данных Источник данных предоставляет доступ ко всем данным в базе данных OLAP или файле автономного куба. Создав источник данных OLAP, вы можете основывать на нем отчеты и возвращать данные OLAP в Excel в виде отчета сводной таблицы или отчета сводной диаграммы, а также в функции листа, преобразованной из отчета сводной таблицы.

Microsoft Query С помощью Query можно получать данные из внешней базы данных, например Microsoft SQL или Microsoft Access. Для получения данных из сводной таблицы OLAP, связанной с файлом куба, использовать запрос не требуется. Дополнительные сведения .

Различия в функциях OLAP и не-OLAP исходных данных

Если вы работаете с отчетами сводных таблиц и сводными диаграммами из OLAP исходные данные и других типов исходных данных, вы увидите некоторые отличия функций.

Извлечение данных Сервер OLAP возвращает новые данные в Excel при каждом изменении макета отчета. При использовании других типов внешних источников данных вы запрашиваете все исходные данные за один раз или можете задавать параметры для запроса только при отображении разных элементов полей фильтра отчета. Кроме того, у вас есть еще несколько вариантов обновления отчета.

В отчетах, основанных на исходных данных OLAP, параметры поля фильтра отчета недоступны, фоновый запрос недоступен, а параметр оптимизации памяти недоступен.

Примечание: Параметр оптимизации памяти также недоступен для источников данных OLEDB и отчетов сводных таблиц, основанных на диапазоне ячеек.

Типы полей Исходные данные OLAP. поля измерение могут использоваться только как строки (ряды), столбцы (категория) или поля страницы. Поля мер можно использовать только в качестве полей значений. Для других типов исходных данных все поля можно использовать в любой части отчета.

Доступ к подробным данным Для исходных данных OLAP сервер определяет доступные уровни детализации и вычисляет сводные значения, поэтому записи с подробными сведениями, которые составляют суммарные значения, могут быть недоступны. Тем не менее, сервер может предоставить поля свойств, который вы можете отобразить. Другие типы исходных данных не имеют полей свойств, но вы можете отобразить основные сведения для значений полей данных и элементов, а также отобразить элементы без данных.

У полей фильтра отчета OLAP может быть не все элементы, а команда Показать страницы фильтра отчета недоступна.

Первоначальный порядок сортировки Для исходных данных OLAP элементы сначала отображаются в том порядке, в котором они возвращаются OLAP сервером. Вы можете отсортировать или вручную изменить порядок элементов. Для других типов исходных данных элементы нового отчета сначала сортируются по имени элемента в возрастающем порядке.

Ними Серверы OLAP предоставляют обобщенные значения непосредственно для отчета, поэтому невозможно изменить итоговые функции для полей значений. Для других типов исходных данных вы можете изменить статистическую функцию для поля значения и использовать несколько итоговых функций для одного и того же поля значения. Нельзя создавать вычисляемые поля и вычисляемые элементы в отчетах с исходными данными OLAP.

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

Для исходных данных OLAP вы можете включить или исключить скрытые элементы при расчете промежуточных и общих итогов. Для других типов исходных данных вы можете включать скрытые элементы полей фильтра отчета в промежуточные итоги, но скрытые элементы в других полях будут исключены по умолчанию.

Проблемы аналитики, OLAP, хранилищ данных вызывают все больший интерес у российских ИТ-специалистов. К настоящему времени в нашей компьютерной печати и Интернете опубликовано немало хороших, академичных по способу изложения материалов по этой тематике, в том числе и вводного характера. Мы же предлагаем вашему вниманию статью, в которой сознательно пытаемся объяснить OLAP “на пальцах”, на конкретном примере. Практика показывает, что такое объяснение необходимо и некоторым ИТ-специалистам и особенно конечным пользователям.

Итак, OLAP *1 в первом приближении, “на пальцах”, можно определить как особый способ анализа данных и получения отчетов. Его суть состоит в предоставлении пользователю многомерной таблицы, автоматически суммирующей данные в различных разрезах и позволяющей интерактивно управлять вычислениями и формой отчета. В этой статье будет рассказано о технологии и основных операциях OLAP на примере анализа счетов-фактур предприятия, занятого оптовой торговлей продуктами питания.

*1. OLAP - On-Line Analytical Processing, оперативный анализ данных.

В качестве инструмента будет рассмотрена OLAP-система самого простого и недорогого класса - OLAP-клиент *1. Для примера выбран наиболее простой продукт из числа OLAP-клиентов - “Контур Стандарт” компании Intersoft Lab. (Для наглядности далее в статье общепринятые термины OLAP будут обозначаться жирным шрифтом и сопровождаться англоязычными аналогами.)

*1. Более подробно о классификации OLAP-систем рассказано в статье "OLAP, сделано в России" в PC Week/RE, №3/2001.

Итак, приступим к работе с системой. Для начала потребуется описать Источник данных (data source) - путь к таблице и ее поля. Это задача пользователя, знающего физическую реализацию базы данных. Для конечных пользователей он переводит название таблицы и ее полей в термины предметной области. За “источником данных” стоит локальная таблица, таблица или представление (view) SQL-сервера или хранимая процедура.

Скорее всего в конкретной базе данных счета-фактуры хранятся не в одной, а в нескольких таблицах. Кроме того, часть полей или записей может не использоваться для анализа. Поэтому далее создается Выборка (result set или query), - в которой настраиваются: алгоритм объединения таблиц по ключевым полям, условия фильтрации и набор возвращаемых полей. Назовем нашу выборку “Счета-фактуры” и поместим в нее все поля источника данных “Счета-фактуры”. Таким образом, ИТ-специалист, создавая семантический слой, скрывает физическую реализацию базы данных от конечного пользователя.

Затем настраивается OLAP-отчет. Этим может заняться специалист в предметной области. Сначала поля плоской выборки данных разбиваются на две группы - факты (facts или measures) и измерения (dimensions). Факты - это цифры, а измерения - “разрезы”, в которых будут суммироваться факты. В нашем примере измерениями станут: “Регион”, “Город”, “Покупатель”, “Товар”, “Дата”, а факт будет один - поле “Сумма” счета-фактуры. Для факта нужно выбрать один или несколько алгоритмов агрегации. OLAP способен не только суммировать итоги, но и выполнять более сложные вычисления, вплоть до статистического анализа. При выборе нескольких алгоритмов агрегации будут созданы виртуальные, вычисляемые факты (calculated facts). В примере выбран один алгоритм агрегации - “Сумма”.

Особое свойство OLAP-систем - генерация измерений и данных по старшим временным периодам из даты и автоматическое вычисление итогов по этим периодам. Выберем периоды “Год”, “Квартал” и “Месяц”, при этом данных за каждый день в отчете не будет, но появятся сгенерированные измерения “Год”, “Квартал” и “Месяц”. Назовем отчет “Анализ продаж” и сохраним его. Работа по созданию интерфейса аналитического приложения закончена.

Теперь, ежедневно или ежемесячно запуская этот интерфейс, пользователь будет видеть таблицу и график, в которых счета-фактуры просуммированы по товарам, покупателям и периодам.

Для того чтобы манипуляции с данными были интуитивно понятны, инструментами управления динамической таблицей являются элементы самой таблицы - ее колонки и строки. Пользователь может перемещать их, удалять, фильтровать и выполнять другие OLAP-операции. При этом таблица автоматически вычисляет новые промежуточные и окончательные итоги.


Например, перетащив (операция “move”) колонку “Товар” на первое место, мы получим отчет о сравнении - “Сравнение объемов продаж товаров за год”. Чтобы агрегировать данные за год, достаточно перетащить колонки “Квартал” и “Месяц” в верхнюю часть таблицы - “область неактивных измерений”. Измерения “Квартал” и “Месяц”, перенесенные в эту область, будут закрыты (операция “close dimension”), т. е. исключены из отчета; при этом факты просуммируются за год. Несмотря на то что измерения закрыты, по ним можно задавать конкретные годы, кварталы и месяцы для фильтрации данных (операция “filter”).

Для большей наглядности изменим тип графика, иллюстрирующего OLAP-таблицу, и его расположение на экране.

Углубление в данные (операция “drill down”) позволяет получить более детальные сведения о продажах интересующего нас товара. Щелкнув на знаке “+” напротив товара “Кофе”, мы увидим объемы его продаж в разрезе регионов. Раскрыв регион “Урал”, получим объемы продаж в разрезе городов Уральского региона, углубившись в данные по “Екатеринбургу”, сможем просмотреть данные по оптовым покупателям этого города.

Для установки фильтров можно использовать и открытые измерения. Чтобы сравнить динамику продаж конфет в Москве и Екатеринбурге, установим фильтры на измерения “Товар” и “Город”.

Закроем ненужные измерения и выберем тип графика “Линия”. На получившемся графике можно проследить динамику продаж, оценить сезонные колебания и связь падений и роста сбыта товара в разных городах.

Таким образом, мы убедились, что OLAP-технология позволяет пользователю из одного интерфейса выпустить десятки видов самых разных отчетов, управляя динамической OLAP-таблицей при помощи мыши. Задачей программиста, владеющего таким инструментом, становится не рутинное кодирование отчетных форм, а настройка OLAP-клиента на базы данных. При этом способы управления отчетом интуитивно понятны конечному пользователю.

Действительно, OLAP - это естественное продолжение и развитие идеи электронных таблиц. По сути, визуальный интерфейс OLAP - это тоже электронная таблица (spreadsheet), но оснащенная мощной машиной вычислений и особым стандартом представления данных и управления ими. Более того, некоторые OLAP-клиенты реализованы как add-in к MS Excel. Поэтому миллионная армия “белых воротничков”, уверенно владеющая электронными таблицами, очень быстро осваивает и OLAP-инструменты. Для них это “бархатная революция”, предоставляющая новые возможности, но не сопряженная с необходимостью переучиваться.

Если читатель, прочитав эту статью, не потерял интереса к OLAP, он может обратиться к упомянутым в начале материалам. Сборники таких материалов размещены на ряде сайтов в Интернете, включая сайт Intersoft lab - www.iso.ru. С него можно также скачать демонстрационную версию системы “Контур Стандарт” с описанным в статье примером.

Клиентские OLAP-средства представляют собой приложения, осуществляющие вычисление агрегатных данных (сумм, средних величин, максимальных или минимальных значений) и их отображение, при этом сами агрегатные данные содержатся в кэше внутри адресного пространства такого OLAP-средства.

Если исходные данные содержатся в настольной СУБД, вычисление агрегатных данных производится самим OLAP-средством. Если же источник исходных данных - серверная СУБД, многие из клиентских OLAP-средств посылают на сервер SQL-запросы, содержащие оператор GROUP BY, и в результате получают агрегатные данные, вычисленные на сервере.

Как правило, OLAP-функциональность реализована в средствах статистической обработки данных (из продуктов этого класса на российском рынке широко распространены продукты компаний StatSoft и SPSS) и в некоторых электронных таблицах. В частности, средствами многомерного анализа обладает Microsoft Excel. С помощью этого продукта можно создать и сохранить в виде файла небольшой локальный многомерный OLAP-куб и отобразить его двух- или трехмерные сечения.

Надстройки к пакету приложений Microsoft Office для извлечения и обработки данных представляют собой ряд функций, обеспечивающих доступ к возможностям извлечения и обработки данных из приложений Microsoft Office, и тем самым позволяющих осуществлять прогностический анализ на локальном компьютере. Благодаря тому, что встроенные в службы платформы Microsoft SQL Server алгоритмы извлечения и обработки данных доступны из среды приложений Microsoft Office, бизнес-пользователи могут легко извлекать ценную информацию из сложных наборов данных всего несколькими щелчками мыши. Надстройки к пакету приложений Office для извлечения и обработки данных дают конечным пользователям возможность выполнять анализ непосредственно в приложениях Microsoft Excel и Microsoft Visio.

В состав Microsoft Office 2007 входят три отдельных OLAP-компонента:

  1. клиент извлечения и обработки данных для Excel позволяет создавать проекты извлечения и обработки данных на базе служб SSAS и управлять ими из Excel 2007;
  2. средства анализа таблиц для приложения Excel позволяют использовать встроенные в службы SSAS функции извлечения и обработки информации для анализа данных, хранящихся в таблицах Excel;
  3. шаблоны извлечения и обработки данных для приложения Visio позволяют визуализировать деревья решений, деревья регрессии, кластерные диаграммы и сети зависимостей на диаграммах Visio.
Таблица 1.1. Продукты Oracle для OLAP и бизнес-анализа
Тип средств Продукт

Работа с OLAP-кубом в MS Excel

1. Получаем разрешение на доступ к OLAP-кубу SQL Server Analysis Services (SSAS)
2. На вашем компьютере должен быть установлен MS Excel 2016 / 2013 / 2010 (можно и MS Excel 2007, но в нем работать не удобно, и совсем бедная функциональность MS Excel 2003)
3. Открываем MS Excel, запускаем мастер настройки соединения с аналитической службой:


3.1 Указываем имя или IP-адрес действующего сервера OLAP (иногда требуется указать номер открытого порта, например, 192.25.25.102:80); используется доменная аутентификация:


3.2 Выбираем многомерную базу данных и аналитический куб (в случае наличия прав доступа к кубу):


3.3 Настройки соединения с аналитической службой будут сохранены в odc-файле на Вашем компьютере:


3.4 Выбираем вид отчета (сводная таблица/график) и указываем место для его размещения:


Если в книге Excel уже создано подключение, то им можно воспользоваться повторно: главное меню «Данные» -> «Существующие подключения» -> выбираем подключение в этой книге -> вставляем сводную таблицу в указанную ячейку.

4. Успешно подключились к кубу, можно приступать к интерактивному анализу данных:


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


Каждый раз, когда изменяется сводная таблица, на сервер OLAP автоматически отправляется MDX-инструкция, по исполнении которой возвращаются данные. Чем больше и сложнее объем обрабатываемых данных, рассчитываемых показателей, тем дольше время исполнения запроса. Отменить исполнение запроса можно нажатием клавиши Escape . Последние выполненные операции можно отменить (Ctrl+Z) или вернуть (Ctrl+Y).


Как правило, для наиболее часто используемых сочетаний атрибутов измерений в кубе хранятся заранее рассчитанные агрегированные данные, поэтому время отклика таких запросов несколько секунд. Однако все возможное комбинации агрегаций просчитать невозможно, так как для этого может потребоваться очень много времени и места для хранения. Для исполнения массивных запросов к данным на уровне детализации могут потребоваться значительные вычислительные ресурсы сервера, поэтому время их исполнения может быть продолжительным. После чтения данных с дисковых накопителей сервер помещает их в кэш оперативной памяти, что позволяет последующим таким запросам выполняться мгновенно, поскольку данные будут извлекаться уже из кэша.


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


После размещения иерархии в области строк / столбцов возможно скрыть отдельные уровни:


У ключевых атрибутов (реже - для атрибутов выше по иерархии) измерений могут быть свойства - описательные характеристики, которые могут отображаться как во всплывающих подсказках, так и в виде полей:


Если требуется отобразить сразу несколько свойств полей, то можно воспользоваться соответствующим диалоговым списком:


Определяемые пользователем наборы

В Excel 2010 появилась возможность интерактивного создания собственных (определяемых пользователем) наборов из элементов измерения:


В отличие от наборов создаваемых и хранящихся централизованно на стороне куба, пользовательские наборы сохраняются локально в книге Excel и могут использоваться в дальнейшем:


Продвинутые пользователи могут создавать наборы, используя MDX конструкции:


Настройка свойств сводной таблицы

Посредством пункта "Параметры сводной таблицы..." контекстного меню (щелчок правой кнопкой мыши в рамках сводной таблицы) предоставляется возможность настройки сводной таблицы, например:
- вкладка "Вывод", параметр "Классический макет сводной таблицы" - сводная таблица становится интерактивной, можно перетаскивать поля (Drag&Drop);
- вкладка "Вывод", параметр "Показывать элементы без данных в строках" - в сводной таблице будут отображаться пустые строки, не содержащие ни одного значения показателя по соответствующим элементам измерений;
- вкладка "Разметка и формат", параметр "Сохранять форматирование ячеек при обновлении" - в сводной таблице можно переопределить и сохранить формат ячеек при обновлении данных;


Создание сводных диаграмм

Для имеющейся сводной OLAP-таблицы можно создать сводную диаграмму – круговую, линейчатую, гистограмму, график, точечную и другие виды диаграмм:


При этом сводная диаграмма будет синхронизирована со сводной таблицей – при изменении состава показателей, фильтров, измерений в сводной таблице также обновляется сводная таблица.

Создание информационных панелей

Выделим исходную сводную таблицу, скопируем ее в буфер обмена (Ctrl+C) и вставим её копию (Ctrl+V), в которой изменим состав показателей:


Для одновременного управления несколькими сводными таблицами вставим срез (новый функционал, доступный, начиная с версии MS Excel 2010). Подключим наш Slicer к сводным таблицам – щелчок правой кнопкой мыши в рамках среза, выбор в контекстном меню пункта "Подключения к сводной таблице...". Следует отметить, что может быть несколько панелей срезов, которые могут обслуживать одновременно сводные таблицы на разных листах, что позволяет создавать скоординированные информационные панели (Dashboard).


Панели срезов можно настраивать: необходимо выделить панель, затем см. пункты "Размер и свойства...", "Настройки среза", "Назначить макрос" в контекстном меню, активируемого по правому щелку мыши или пункт "Параметры" главного меню. Так, возможно установить кличество столбцов для элементов (кнопок) среза, размеры кнопок среза и панели, определить для среза цветовую гамму и стиль оформления из имеющегося набора (или создать свой стиль), определить собственный заголовок панели, назначить программный макрос, посредством которого можно расширить функционал панели.


Исполнение MDX запроса из Excel

  1. Прежде всего, необходимо выполнить операцию DRILLTHROUGH на каком-нибудь показателе, т.е. спуститься к детализированным данным (детализированные данные отображаются на отдельном листе), и открыть список подключений;
  2. Открыть свойства подключения, перейти на вкладку «Определение»;
  3. Выбрать тип команды по умолчанию, а в поле текста команды разместить заранее подготовленный MDX запрос;
  4. При нажатии кнопки после проверки правильности синтаксиса запроса и наличия соответствующих прав доступа запрос исполнится на сервере, а результат будет представлен в текущем листе в виде обычной плоской таблицы.
    Посмотреть текст MDX-запроса, генерируемого Excel, можно с помощью установки бесплатного дополнения , которое предоставляет также и другие дополнительные функциональные возможности.

Перевод на другие языки

Аналитический куб поддерживает локализацию на русский и английский языки (при необходимости возможна локализация на другие языки). Переводы распространяются на наименования измерений, иерархий, атрибутов, папок, мер, а также элементы отдельных иерархий в случае наличия для них переводов на стороне учетных систем/ хранилища данных. Чтобы сменить язык, необходимо открыть свойства подключения и в строке подключения добавить следующую опцию:
Extended Properties="Locale=1033"
где 1033 - локализация на английский язык
1049 - локализация на русский язык


Дополнительные расширения Excel для Microsoft OLAP

Возможности работы с OLAP-кубами Microsoft возрастут, если использовать дополнительные расширения, например, OLAP PivotTable Extensions, благодаря которому можно пользоваться быстрым поиском по измерению:


сайт 2011-01-11 16:57:00Z Последнее изменение: 2017-10-15 16:33:59Z Возрастная аудитория: 14-70

В стандартной сводной таблице исходные данные хранятся на локальном жестком диске. Таким образом, вы всегда можете управлять ими и переорганизовывать их, даже не имея доступа к сети. Но это ни в коей мере не касается сводных таблиц OLAP. В сводных таблицах OLAP кеш никогда не хранится на локальном жестком диске. Поэтому сразу же после отключения от локальной сети ваша сводная таблица утратит работоспособность. Вы не сможете переместить в ней ни одного поля.

Если вам все же необходимо анализировать OLAP-данные после отключения от сети, создайте автономный куб данных. Автономный куб данных - это отдельный файл, который представляет собой кеш сводной таблицы и хранит OLAP-данные, просматриваемые после отключения от локальной сети. OLAP-данные, скопированные в сводную таблицу, можно распечатать, на сайте http://everest.ua подробно об этом рассказано.

Чтобы создать автономный куб данных, сначала создайте сводную таблицу OLAP. Поместите курсор в пределах сводной таблицы и щелкните на кнопке Средства OLAP (OLAP Tools) контекстной вкладки Параметры (Tools), входящей в группу контекстных вкладок Работа со сводными таблицами (PivotTable Tools). Выберите команду Автономный режим OLAP (Offline OLAP) (рис. 9.8).

Рис. 9.8. Создание автономного куба данных

На экране появится диалоговое окно настроек автономного куба данных OLAP. Щелкните в нем на кнопке Создать автономный файл данных (Create Offline Data File). Вы запустили мастер создания файла куба данных. Щелкните на кнопке Далее (Next), чтобы продолжить процедуру.

Cначала необходимо указать размерности и уровни, которые будут включаться в куб данных. В диалоговом окне необходимо выбрать данные, которые будут импортироваться из базы данных OLAP. Идея состоит в том, чтобы указать только те размерности, которые понадобятся после отключения компьютера от локальной сети. Чем больше размерностей укажете, тем больший размер будет иметь автономный куб данных.

Щелкните на кнопке Далее для перехода к следующему диалоговому окну мастера. В нем вы получаете возможность указать члены или элементы данных, которые не будут включаться в куб. В частности, вам не потребуется мера Internet Sales-Extended Amount, поэтому флажок для нее будет сброшен в списке. Сброшенный флажок указывает на то, что указанный элемент не будет импортироваться и занимать лишнее место на локальном жестком диске.

На последнем этапе укажите расположение и имя куба данных. В нашем случае файл куба будет назван MyOfflineCube.cub и будет располагаться в папке Work.

Файлы кубов данных имеют расширение .cub

Спустя некоторое время Excel сохранит автономный куб данных в указанной папке. Чтобы протестировать его, дважды щелкните на файле, что приведет к автоматической генерации рабочей книги Excel, которая содержит сводную таблицу, связанную с выбранным кубом данных. После создания вы можете распространить автономный куб данных среди всех заинтересованных пользователей, которые работают в режиме отключенной локальной сети.

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

Работа с файлами автономного куба

автономный файл куба (. cub) хранит данные в форме куба OLAP (Online Analytical Processing). Эти данные могут представлять часть базы данных OLAP на сервере OLAP или могут создаваться независимо от базы данных OLAP. Используйте автономный файл куба, чтобы продолжить работу с отчетами сводной таблицы и сводной диаграммы, если сервер недоступен или когда вы отключены от сети.

Примечание по безопасности: Будьте внимательны при использовании или распространении файла автономного куба, содержащего конфиденциальные или личные данные. Вместо файла куба рекомендуется сохранить данные в книге, чтобы можно было управлять доступом к данным с помощью функции управления правами. Дополнительные сведения можно найти в разделе Управление правами на доступ к данным в Office.

При работе с отчетом сводной таблицы или сводной диаграммы, основанными на исходных данных сервера OLAP, вы можете с помощью мастера автономного куба скопировать исходные данные в отдельный файл автономного куба на компьютере. Для создания этих автономных файлов необходимо, чтобы поставщик данных OLAP поддерживал такую возможность, например MSOLAP из служб Microsoft SQL Server Analysis Services, установленных на компьютере.

Примечание: Создание и использование файлов автономных кубов из служб Microsoft SQL Server Analysis Services регулируется термином и лицензированием установки Microsoft SQL Server. Ознакомьтесь с соответствующими сведениями о лицензировании версии SQL Server.

Работа с мастером автономного куба

Для создания файла автономного куба вы можете выбрать подмножество данных в базе данных OLAP с помощью мастера автономного куба, а затем сохранить это подмножество. В отчете не нужно включать все поля, включенные в файл, а также выбирать из них любые из них и поля данных, доступные в базе данных OLAP. Чтобы сохранить файл как минимум, вы можете включить только те данные, которые должны отображаться в отчете. Вы можете опустить все измерения и для большинства типов измерений вы также можете исключить сведения о более низком уровне и элементы верхнего уровня, которые не нужно отображать. Для всех элементов, которые вы включаете, поля свойств, доступные в базе данных для этих элементов, также сохраняются в автономном файле.

Перевод данных в автономный режим и их обратное подключение

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

Ниже описаны основные шаги, которые следует выполнить для автономной работы с данными, а затем снова перевести данные в Интернет.

Создайте или откройте сводную таблицу или отчет сводной диаграммы, основанную на данных OLAP, к которым вы хотите получить доступ в автономном режиме.

Создание автономный файл куба на компьютере. В разделе Создание файла автономного куба из базы данных OLAP-сервера (ниже в этой статье).

Отключение от сети и работа с файлом автономного куба.

Подключитесь к сети и повторно подключите файл куба автономно. Ознакомьтесь с разделом Повторное подключение файла автономного куба к базе данных OLAP-сервера (ниже, в этой статье).

Обновление файла автономного куба с новыми данными и повторное создание автономного файла куба. Ознакомьтесь с разделом обновление и повторное создание файла автономного куба (ниже в этой статье).

БЛОГ

Только качественные посты

Что такое Сводные таблицы Excel и OLAP кубы

Смотрите видео к статье:

OLAP – это англ. online analytical processing, аналитическая технология обработки данных в реальном времени. Простым языком – хранилище с многомерными данными (Куб), еще проще – просто база данных, из которой можно получить данные в Excel и проанализировать с помощью инструмента Excel – Сводные таблицы.

Сводные таблицы – это пользовательский интерфейс для отображения многомерных данных. Иными словами - специальный вид таблиц, с помощью которых можно сделать практически любой отчет.

Чтобы было понятно, давайте сравним «Обычную таблицу» со «Сводной таблицей»

Обычная таблица:

Сводная таблица:

Основное отличие Сводных таблиц – это наличие окна «Список полей сводной таблицы », из которого можно выбирать нужные поля и получать любую таблицу автоматически!

Как пользоваться

Откройте файл Excel, который подключен к OLAP-кубу, например «BIWEB»:

Теперь, что это означает и как этим пользоваться?

Перетащите нужные поля, чтобы получить, например, такую таблицу:

«Плюсики » позволяют детализировать отчет. В этом примере «Бренд» детализируется до «Сокращенных названий», а «Квартал» до «Месяца», т.е. так:

Аналитические функции в Excel (функции кубов)

Microsoft постоянно добавляет в Excel новые возможности в части анализа и визуализации данных. Работу с информацией в Excel можно представить в виде относительно независимых трех слоев:

  • «правильно» организованные исходные данные
  • математика (логика) обработки данных
  • представление данных

Рис. 1. Анализ данных в Excel: а) исходные данные, б) мера в Power Pivot, в) дашборд; чтобы увеличить изображение кликните на нем правой кнопкой мыши и выберите Открыть картинку в новой вкладке

Скачать заметку в формате Word или pdf, примеры в формате Excel

Функции кубов и сводные таблицы

Наиболее простым и в тоже время очень мощным средством представления данных являются сводные таблицы. Они могут быть построены на основе данных, содержащихся: а) на листе Excel, б) кубе OLAP или в) модели данных Power Pivot. В последних двух случаях, помимо сводной таблицы, можно использовать аналитические функции (функции кубов) для формирования отчета на листе Excel. Сводные таблицы проще. Функции кубов сложнее, но предоставляют больше гибкости, особенно в оформлении отчетов, поэтому они широко применяются в дашбордах.

Дальнейшее изложение относится к формулам кубов и сводным таблицам на основе модели Power Pivot и в нескольких случаях на основе кубов OLAP.

Простой способ получить функции кубов

Когда (если) вы начинали изучать код VBA, то узнали, что проще всего получить код, используя запись макроса. Далее код можно редактировать, добавить циклы, проверки и др. Аналогично проще всего получить набор функций кубов, преобразовав сводную таблицу (рис. 2). Встаньте на любую ячейку сводной таблицы, перейдите на вкладку Анализ , кликните на кнопке Средства OLAP , и нажмите Преобразовать в формулы .

Рис. 2. Преобразование сводной таблицы в набор функций куба

Числа сохранятся, причем это будут не значения, а формулы, которые извлекают данные из модели данных Power Pivot (рис. 3). Получившуюся таблицу вы может отформатировать. В том числе, можно удалять и вставлять строки и столбцы внутрь таблицы. Срез остался, и он влияет на данные в таблице. При обновлении исходных данных числа в таблице также обновятся.

Рис. 3. Таблица на основе формул кубов

Функция КУБЗНАЧЕНИЕ()

Это, пожалуй, основная функция кубов. Она эквивалента области Значения сводной таблицы. КУБЗНАЧЕНИЕ извлекает данные из куба или модели Power Pivot, и отражает их вне сводной таблицы. Это означает, что вы не ограничены пределами сводной таблицы и можете создавать отчеты с бесчисленными возможностями.

Написание формулы «с нуля»

Вам не обязательно преобразовывать готовую сводную таблицу. Вы можете написать любую формулу куба «с нуля». Например, в ячейку С10 введена следующая формула (рис. 4):

Рис. 4. Функция КУБЗНАЧЕНИЕ() в ячейке С10 возвращает продажи велосипедов за все годы, как и в сводной таблице

Маленькая хитрость. Чтобы удобнее было читать формулы кубов, желательно, чтобы в каждой строке помещался только один аргумент. Можно уменьшить окно Excel. Для этого кликните на значке Свернуть в окно , находящемся в правом верхнем углу экрана. А затем отрегулируйте размер окна по горизонтали. Альтернативный вариант – принудительно переносить текст формулы на новую строку. Для этого в строке формул поставьте курсор в том месте, где хотите сделать перенос и нажмите Alt+Enter.

Рис. 5. Свернуть окно

Синтаксис функции КУБЗНАЧЕНИЕ()

Справка Excel абсолютно точна и абсолютно бесполезна для начинающих:

КУБЗНАЧЕНИЕ(подключение; [выражение_элемента1]; [выражение_элемента2]; …)

Подключение – обязательный аргумент; текстовая строка, представляющая имя подключения к кубу.

Выражение_элемента – необязательный аргумент; текстовая строка, представляющая многомерное выражение, которое возвращает элемент или кортеж в кубе. Кроме того, «выражение_элемента» может быть множеством, определенным с помощью функции КУБМНОЖ. Используйте «выражение_элемента» в качестве среза, чтобы определить часть куба, для которой необходимо возвратить агрегированное значение. Если в аргументе «выражение_элемента» не указана мера, будет использоваться мера, заданная по умолчанию для этого куба.

Прежде, чем перейти к объяснению синтаксиса функции КУБЗНАЧЕНИЕ, пару слов о кубах, моделях данных, и загадочном кортеже .

Некоторые сведения о кубах OLAP и моделях данных Power Pivot

Кубы данных OLAP (O nl ine A nalytical P rocessing - оперативный анализ данных) были разработаны специально для аналитической обработки и быстрого извлечения из них данных. Представьте трехмерное пространство, где по осям отложены периоды времени, города и товары (рис. 5а). В узлах такой координатной сетки расположены значения различных мер: объем продаж, прибыль, затраты, количество проданных единиц и др. Теперь вообразите, что измерений десятки, или даже сотни… и мер тоже очень много. Это и будет многомерный куб OLAP. Создание, настройка и поддержание в актуальном состоянии кубов OLAP – дело ИТ-специалистов.

Рис. 5а. Трехмерный куб OLAP

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

Power Pivot – относительно новая фишка Microsoft. Это встроенная в Excel и отчасти независимая среда с привычным интерфейсом. Power Pivot значительно превосходит по своим возможностям стандартные сводные таблицы. Вместе с тем, разработка кубов в Power Pivot относительно проста, а самое главное – не требует участия ИТ-специалиста. Microsoft реализует свой лозунг: «Бизнес-аналитику – в массы!». Хотя модели Power Pivot не являются кубами на 100%, о них также можно говорить, как о кубах (подробнее см. вводный курс Марк Мур. Power Pivot и более объемное издание Роб Колли. Формулы DAX для Power Pivot).

Основные компоненты куба – это измерения, иерархии, уровни, элементы (или члены; по-английски members) и меры (measures). Измерение – основная характеристика анализируемых данных. Например, категория товаров, период времени, география продаж. Измерение – это то, что мы можем поместить на одну из осей сводной таблицы. Каждое измерение помимо уникальных значений включает элемент , выполняющий агрегацию всех элементов этого измерения.

Измерения построены на основе иерархии . Например, категория товаров может разбиваться на подкатегории, далее – на модели, и наконец – на названия товаров (рис. 5б) Иерархия позволяет создавать сводные данные и анализировать их на различных уровнях структуры. В нашем примере иерархия Категория включает 4 Уровня .

Элементы (отдельные члены) присутствуют на всех уровнях. Например, на уровне Category есть четыре элемента: Accessories, Bikes, Clothing, Components. Другие уровни имеют свои элементы.

­Меры – это вычисляемые значения, например, объем продаж. Меры в кубах хранятся в собственном измерении, называемом (см. ниже рис. 9). Меры не имеют иерархий. Каждая мера рассчитывает и хранит значение для всех измерений и всех элементов, и нарезается в зависимости от того, какие элементы измерений мы поместим на оси. Еще говорят, какие зададим координаты, или какой зададим контекст фильтра. Например, на рис. 5а в каждом маленьком кубике рассчитывается одна и та же мера – Прибыль. А возвращаемое мерой значение зависит от координат. Справа на рисунке 5а показано, что Прибыль (в трех координатах) по Москве в октябре на яблоках = 63 000 р. Меру можно трактовать, и как одно из измерений. Например, на рис. 5а вместо оси Товары , разместить ось Меры с элементами Объем продаж , Прибыль , Проданные единицы . Тогда каждая ячейка и будет каким-то значением, например, Москва, сентябрь, объем продаж.

Кортеж – несколько элементов разных измерений, задающие координаты по осям куба, в которых мы рассчитываем меру. Например, на рис. 5а Кортеж = Москва, октябрь, яблоки. Также допустимый кортеж – Пермь, яблоки. Еще один – яблоки, август. Не вошедшие в кортеж измерения присутствуют в нем неявно, и представлены членом по умолчанию . Таким образом, ячейка многомерного пространства всегда определяется полным набором координат, даже если некоторые из них в кортеже опущены. Нельзя включить два элемента одного измерения в кортеж, не позволит синтаксис. Например, недопустимый кортеж Москва и Пермь, яблоки. Чтобы реализовать такое многомерное выражение потребуется набор двух кортежей: Москва и яблоки + Пермь и яблоки.

Набор элементов – несколько элементов одного измерения. Например, яблоки и груши. Набор кортежей – несколько кортежей, каждый из которых состоит из одинаковых измерений в одной и той же последовательности. Например, набор из двух кортежей: Москва, яблоки и Пермь, бананы.

Автозавершение в помощь

Вернемся к синтаксису функции КУБЗНАЧЕНИЕ. Воспользуемся автозавершением. Начните ввод формулы в ячейке:

Excel предложит все доступные в книге Excel подключения:

Рис. 6. Подключение к модели данных Power Pivot всегда называется ThisWorkbookDataModel

Рис. 7. Подключения к кубам

Продолжим ввод формулы (в нашем случае для модели данных):

Автозавершение предложит все доступные таблицы и меры модели данных:

Рис. 8. Доступные элементы первого уровня – имена таблиц и набор мер (выделен)

Выберите значок Measures . Поставьте точку:

КУБЗНАЧЕНИЕ(» ThisWorkbookDataModel » ; » .

Автозавершение предложит все доступные меры:

Рис. 9. Доступные элементы второго уровня в наборе мер

Выберите меру . Добавьте кавычки, закрывающую скобку, нажмите Enter.

КУБЗНАЧЕНИЕ(» ThisWorkbookDataModel » ; » . »)

Рис. 10. Формула КУБЗНАЧЕНИЕ в ячейке Excel

Аналогичным образом можете добавить третий аргумент в формулу:

VBA в Excel Объект Excel.PivotTable и работа со сводными таблицами и кубами OLAP в Excel

10.8 Работа со сводными таблицами (объект PivotTable)

Объект Excel.PivotTable, программная работа со сводными таблицами и кубами OLAP в Excel средствами VBA, объект PivotCache, создание макета сводной таблицы

В процессе работы большинства предприятий накапливаются так называемые необработанные данные (raw data) о деятельности. Например, для торгового предприятия могут накапливаться данные о продажах товаров - по каждой покупке отдельно, для предприятий сотовой связи - статистика нагрузки на базовые станции и т.п. Очень часто менеджменту предприятия необходима аналитическая информация, которая генерируется на основе необработанной - например, посчитать вклад каждого вида товара в доходы предприятия или качество обслуживания в зоне данной станции. Из необработанной информации такие сведения извлечь очень тяжело: нужно выполнять очень сложные SQL-запросы, которые выполняются долго и часто мешают текущей работе. Поэтому все чаще в настоящее время необработанные данные сводятся вначале в хранилище архивных данных - Data Warehouse, а затем - в кубы OLAP, которые очень удобны для интерактивного анализа. Проще всего представить себе кубы OLAP как многомерные таблицы, в которых вместо стандартных двух измерений (столбцы и строки, как в обычных таблицах), измерений может быть очень много. Обычно для описания измерений в кубе используется термин «в разрезе». Например, отделу маркетинга может быть нужна информация во временном разрезе, в региональном разрезе, в разрезе типов продукта, в разрезе каналов продаж и т.п. При помощи кубов (в отличие от стандартных SQL-запросов) очень просто получать ответы на вопросы типа «сколько товаров такого-то типа было продано в четвертом квартале прошлого года в Северо-Западном регионе через региональных дистрибьюторов.

Конечно же, в обычных базах данных такие кубы не создать. Для работы с кубами OLAP требуются специализированные программные продукты. Вместе с SQL Server поставляется база данных OLAP от Microsoft, которая называется Analysis Services. Есть OLAP-решения от Oracle, IBM, Sybase и т.п.

Для работы с такими кубами в Excel встроен специальный клиент. По-русски он называется Сводная таблица (на графическом экране он доступен через меню Данные -> Сводная таблица ), а по-английски - Pivot Table . Соответственно, объект, который представляет этот клиент, называется PivotTable. Необходимо отметить, что он умеет работать не только с кубами OLAP, но и с обычными данными в таблицах Excel или баз данных, но многие возможности при этом теряются.

Сводная таблица и объект PivotTable - это программные продукты фирмы Panorama Software, которые были приобретены Microsoft и интегрированы в Excel. Поэтому работа с объектом PivotTable несколько отличается от работы с другими объектами Excel. Догадаться, что нужно сделать, часто бывает непросто. Поэтому рекомендуется для получения подсказок активно использовать макрорекордер. В то же время при работе со сводными таблицами пользователям часто приходится выполнять одни и те же повторяющиеся операции, поэтому автоматизация во многих ситуациях необходима.

Как выглядит программная работа со сводной таблицей?

Первое, что нам потребуется сделать - создать объект PivotCache, который будет представлять набор записей, полученных с источника OLAP. Очень условно этот объект PivotCache можно сравнить с QueryTable. Для каждого объекта PivotTable можно использовать только один объект PivotCache. Создание объекта PivotCache производится при помощи метода Add() коллекции PivotCaches:

Dim PC1 As PivotCache

Set PC1 = ActiveWorkbook.PivotCaches.Add(xlExternal)

PivotCaches - стандартная коллекция, и из методов, которые заслуживают подробного рассмотрения, в ней можно назвать только метод Add(). Этот метод принимает два параметра:

  • SourceType - обязательный, определяет тип источника данных для сводной таблицы. Можно указать создание PivotTable на основе диапазона в Excel, данных из базы данных, во внешнем источнике данных, другой PivotTable и т.п. На практике обычно OLAP есть смысл использовать только тогда, когда данных много - соответственно нужно специализированное внешнее хранилище (например, Microsoft Analysis Services). В этой ситуации выбирается значение xlExternal.
  • SourceData - обязательный во всех случаях, кроме тех, когда значение первого параметра - xlExternal. Собственно говоря, определяет тот диапазон данных, на основе которого и будет создаваться PivotTable. Обычно принимает объект Range.

Следующая задача - настроить параметры объекта PivotCache. Как уже говорилось, этот объект очень напоминает QueryTable, и набор свойств и методов у него очень похожий. Некоторые наиболее важные свойства и методы:

  • ADOConnection - возможность возвратить объект ADO Connection, который автоматически создается для подключения к внешнему источнику данных. Используется для дополнительной настройки свойств подключения.
  • Connection - работает точно так же, как и одноименное свойство объекта QueryTable. Может принимать строку подключения, готовый объект Recordset, текстовый файл, Web-запрос. файл Microsoft Query. Чаще всего при работе с OLAP прописывается строка подключения напрямую (поскольку получать объект Recordset, например для изменения данных, большого смысла нет - источники данных OLAP практически всегда доступны только на чтение). Например, настройка этого свойства для подключения к базе данных Foodmart (учебная база данных Analysis Services) на сервере LONDON может выглядеть так:

PC1.Connection = «OLEDB;Provider=MSOLAP.2;Data Source=LONDON1;Initial Catalog = FoodMart 2000»

  • свойства CommandType и CommandText точно так же описывают тип команды, которая передается на сервер баз данных, и текст самой команды. Например, чтобы обратиться на куб Sales и получить его целиком в кэш на клиенте, можно использовать код вида
  • свойство LocalConnection позволяет подключиться к локальному кубу (файлу *.cub), созданному средствами Excel. Конечно, такие файлы для работы с «производственными» объемами данных использовать очень не рекомендуется - только для целей создания макетов и т.п.
  • свойство MemoryUsed возвращает количество оперативной памяти, используемой PivotCache. Если PivotTable на основе этого PivotCache еще не создана и не открыта, возвращает 0. Можно использовать для проверок, если ваше приложение будет работать на слабых клиентах.
  • свойство OLAP возвращает True, если PivotCache подключен к серверу OLAP.
  • OptimizeCache - возможность оптимизировать структуру кэша. Изначальная загрузка данных будет производиться дольше, но потом скорость работы может возрасти. Для источников OLE DB не работает.

Остальные свойства объекта PivotCache совпадают с аналогичными свойствами объекта QueryTable, и поэтому здесь рассматриваться не будут.

Главный метод объекта PivotCache - это метод CreatePivotTable(). При помощи этого метода и производится следующий этап - создание сводной таблицы (объекта PivotTable). Этот метод принимает четыре параметра:

  • TableDestination - единственный обязательный параметр. Принимает объект Range, в верхний левый угол которого будет помещена сводная таблица.
  • TableName - имя сводной таблицы. Если не указано, то автоматически сгенерируется имя вида «СводнаяТаблица1».
  • ReadData - если установить в True, то все содержимое куба будет автоматически помещено в кэш. С этим параметром нужно быть очень осторожным, поскольку неправильное его применение может резко увеличить нагрузку на клиента.
  • DefaultVersion - это свойство обычно не указывается. Позволяет определить версию создаваемой сводной таблицы. По умолчанию используется наиболее свежая версия.

Создание сводной таблицы в первой ячейке первого листа книги может выглядеть так:

PC1.CreatePivotTable Range («A1»)

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

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

Полагаться на пользователя в том, что он правильно разместит элементы во всех четырех областях, трудно. Кроме того, это может занять определенное время. Поэтому часто требуется расположить данные в сводной таблице программным образом. Эта операция производится при помощи объекта CubeField. Главное свойство этого объекта - Orientation, оно определяет, где будет находиться то или иное поле. Например, помещаем измерение Customers в область столбцов:

PT1.CubeFields («»).Orientation = xlColumnField

Затем - измерение Time в область строк:

PT1.CubeFields («»).Orientation = xlRowField

Затем - измерение Product в область страницы:

PT1.CubeFields («»).Orientation = xlPageField

И наконец, показатель (числовые данные для анализа) Unit Sales:

PT1.CubeFields(«.»).Orientation = xlDataField



Эта статья также доступна на следующих языках: Тайский

  • Next

    Огромное Вам СПАСИБО за очень полезную информацию в статье. Очень понятно все изложено. Чувствуется, что проделана большая работа по анализу работы магазина eBay

    • Спасибо вам и другим постоянным читателям моего блога. Без вас у меня не было бы достаточной мотивации, чтобы посвящать много времени ведению этого сайта. У меня мозги так устроены: люблю копнуть вглубь, систематизировать разрозненные данные, пробовать то, что раньше до меня никто не делал, либо не смотрел под таким углом зрения. Жаль, что только нашим соотечественникам из-за кризиса в России отнюдь не до шоппинга на eBay. Покупают на Алиэкспрессе из Китая, так как там в разы дешевле товары (часто в ущерб качеству). Но онлайн-аукционы eBay, Amazon, ETSY легко дадут китайцам фору по ассортименту брендовых вещей, винтажных вещей, ручной работы и разных этнических товаров.

      • Next

        В ваших статьях ценно именно ваше личное отношение и анализ темы. Вы этот блог не бросайте, я сюда часто заглядываю. Нас таких много должно быть. Мне на эл. почту пришло недавно предложение о том, что научат торговать на Амазоне и eBay. И я вспомнила про ваши подробные статьи об этих торг. площ. Перечитала все заново и сделала вывод, что курсы- это лохотрон. Сама на eBay еще ничего не покупала. Я не из России , а из Казахстана (г. Алматы). Но нам тоже лишних трат пока не надо. Желаю вам удачи и берегите себя в азиатских краях.

  • Еще приятно, что попытки eBay по руссификации интерфейса для пользователей из России и стран СНГ, начали приносить плоды. Ведь подавляющая часть граждан стран бывшего СССР не сильна познаниями иностранных языков. Английский язык знают не более 5% населения. Среди молодежи — побольше. Поэтому хотя бы интерфейс на русском языке — это большая помощь для онлайн-шоппинга на этой торговой площадке. Ебей не пошел по пути китайского собрата Алиэкспресс, где совершается машинный (очень корявый и непонятный, местами вызывающий смех) перевод описания товаров. Надеюсь, что на более продвинутом этапе развития искусственного интеллекта станет реальностью качественный машинный перевод с любого языка на любой за считанные доли секунды. Пока имеем вот что (профиль одного из продавцов на ебей с русским интерфейсом, но англоязычным описанием):
    https://uploads.disquscdn.com/images/7a52c9a89108b922159a4fad35de0ab0bee0c8804b9731f56d8a1dc659655d60.png