What is olap cube in excel

Excel for Microsoft 365 Excel 2019 Excel 2016 More…Less

Important: In Excel for Microsoft 365 and Excel 2021, Power View is removed on October 12, 2021. As an alternative, you can use the interactive visual experience provided by Power BI Desktop, which you can download for free. You can also easily Import Excel workbooks into Power BI Desktop. 

In Excel, you can connect to OLAP cubes (often called multidimensional cubes) and create interesting and compelling report pages with Power View.

To connect to a multidimensional data source, from the ribbon select Data > Get External Data > From Other Sources > From Analysis Services.

Connect to Analysis Services

In the Data Connection Wizard, type the server name where the cube is hosted, then select and provide the appropriate credentials.

Connect to Database Server

Excel presents a dialog that lists the databases, tables, and cubes that are available from the server.

Select Cube

Once you select the cube you’re interested in using and select Next, you can choose where you want to view the connected data in your workbook. In this case you want to create a Power View report, so select the radio button next to Power View Report.

Send to Power View Report

In the Power View Fields pane, you can see and access the available fields from the cube.

Power View Fields pane populated

Now you’re ready to use the data from the cube to create compelling reports. You may find many different types of data, including the following:

  • Measure groups – this is the collection of measures found in the cube.

    Measure groups

  • Measures and KPIs within a measure group – you can also use individual measures and KPIs from within measure groups. Just expand a measure group to see the available elements within a measure group, as shown in the following screen.

    Measures and KPIs within a measure group

  • Dimensions, attributes and hierarchies – you can also use other fields from the cube, just like you would use in any other report.

    Dimensions, attributes and hierarchies

With all those available fields, you can create interesting, interactive reports with Power View and OLAP cubes.

Power View report with OLAP data

Additional Resources

For more information about Power View, OLAP, or Analysis Services, take a look at the following links:

  • Power View — Overview and Learning

  • Power View: Explore, visualize, and present your data

  • Power View and Power Pivot videos

  • Get data from Analysis Services

Need more help?

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

Инициация подключения к серверу Microsoft Analysis Services

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

Подключение к серверу Microsoft Analysis Services

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

Выбор многомерной базы и куба Microsoft Analysis Services

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

Сохранение подключения к серверу Microsoft Analysis Services в odc-файле

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

Выбор вида OLAP-отчета

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

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

Структура OLAP-куба - поля сводной таблицы

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

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

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

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

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

Скрытие атрибутов иерархии в сводной таблице

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

Отображение свойств атрибута измерения в сводной таблице

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

Пакетное отображение свойств атрибута измерения в сводной таблице

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

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

Интерактивное создание пользовательских наборов элементов измерения

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

Пользовательские наборы элементов измерения в структуре сводной таблицы

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

Создание пользовательских наборов элементов измерения посредством MDX запроса

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

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

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

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

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

Вставка сводной диаграммы OLAP

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

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

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

Объединение OLAP-таблиц в информационную панель

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

Вставка срезов (глобальных фильтров) в сводную таблицу OLAP

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

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

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

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

Как выполнить MDX запрос из Excel

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

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

Поддержка других языков в сводной таблице OLAP

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

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

OLAP PivotTable Extensions



Энергия идеи

  dvbi.ru

          
2011-01-11 16:57:00Z       
Последнее изменение: 2021-12-12 22:27:25Z
       
Возрастная аудитория: 14-70
       
Комментариев:  0

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

Лирическое вступление

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

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

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

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

OLAP_BIWEB

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

OLAP_BIWEB

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

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

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

OLAP_BIWEB

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

OLAP_BIWEB

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

OLAP_BIWEB

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

OLAP_BIWEB

Сводные таблицы Excel

В стандартной сводной таблице исходные данные хранятся на локальном жестком диске. Таким образом, вы всегда можете управлять ими и переорганизовывать их, даже не имея доступа к сети. Но это ни в коей мере не касается сводных таблиц 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 (Online Analytical Processing — оперативный анализ данных) были разработаны специально для аналитической обработки и быстрого извлечения из них данных. Представьте трехмерное пространство, где по осям отложены периоды времени, города и товары (рис. 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). Измерение – основная характеристика анализируемых данных. Например, категория товаров, период времени, география продаж. Измерение – это то, что мы можем поместить на одну из осей сводной таблицы. Каждое измерение помимо уникальных значений включает элемент [ALL], выполняющий агрегацию всех элементов этого измерения.

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

Рис. 5б. Иерархия категорий товаров

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

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

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

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

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

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

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

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

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

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

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

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

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

=КУБЗНАЧЕНИЕ( » ThisWorkbookDataModel » ; » [Measures].

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

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

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

=КУБЗНАЧЕНИЕ( » ThisWorkbookDataModel » ; » [Measures].[Total Sales] » )

Рис. 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 («[Customers]»).Orientation = xlColumnField

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

PT1.CubeFields («[Time]»).Orientation = xlRowField

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

PT1.CubeFields («[Product]»).Orientation = xlPageField

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

PT1.CubeFields(«[Measures].[Unit Sales]»).Orientation = xlDataField

Теперь сводная таблица создана и с ней вполне можно работать. Однако часто необходимо выполнить еще одну операцию — раскрыть нужный уровень иерархии измерения. Например, если нас интересует поквартальный анализ, то нужно раскрыть уровень Quarter измерения Time (по умолчанию показывается только самый верхний уровень). Конечно, пользователь может сделать это самостоятельно, но не всегда можно рассчитывать, что он догадается, куда щелкнуть мышью. Программным образом раскрыть, например, иерархию измерения Time на уровень кварталов для 1997 года можно при помощи объектов PivotField и PivotItem:

Кубы данных OLAP (Online Analytical Processing — оперативный анализ данных) позволяют эффективно извлекать и анализировать многомерные данные. В отличие от других типов баз данных, базы данных OLAP разработаны специально для аналитической обработки и быстрого извлечения из них всевозможных наборов данных. На самом деле существует несколько ключевых различий между стандартными реляционными базами данных, такими как Access или SQL Server, и базами данных OLAP. [1]

Рис. 1. Для подключения куба OLAP к книге Excel воспользуйтесь командой Из служб аналитики

Рис. 1. Для подключения куба OLAP к книге Excel воспользуйтесь командой Из служб аналитики

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

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

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

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

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

Подключение к кубу данных OLAP

Чтобы получить доступ к базе данных OLAP, сначала нужно установить подключение к кубу OLAP. Начните с перехода на вкладку ленты Данные. Щелкните на кнопке Из других источников и выберите в раскрывающемся меню команду Из служб аналитики (рис. 1).

При выборе указанной команды на экране появится диалоговое окно мастера подключения к данным (рис. 2). Основная его задача — это помочь вам установить соединение с сервером, который будет использован программой Excel при управлении данными.

1. Сначала нужно предоставить Excel регистрационную информацию. Введите в полях диалогового окна имя сервера, регистрационное имя и пароль доступа к данным, как показано на рис. 2. Щелкните на кнопке Далее. Если вы подключаетесь с помощью учетной записи Windows, то установите переключатель Использовать проверку подлинности Windows.

Рис. 2. Введите регистрационные данные

Рис. 2. Введите регистрационные данные

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

Рис. 3. Выберите рабочую базу данных и куб OLAP

Рис. 3. Выберите рабочую базу данных и куб OLAP, который планируете применять для анализа данных

3. В следующем диалоговом окне мастера, показанном на рис. 4, вам требуется ввести описательную информацию о создаваемом подключении. Все поля диалогового окна, показанного на рис. 4, не обязательны для заполнения. Вы всегда можете проигнорировать текущее диалоговое окно, не заполняя его, и это никак не скажется на подключении.

Рис. 4. Измените описательную информацию о соединении

4. Щелкните на кнопке Готово, чтобы завершить создание подключения. На экране появится диалоговое окно Импорт данных (рис. 5). Установите переключатель Отчет сводной таблицы и щелкните на кнопке ОК, чтобы начать создание сводной таблицы.

Рис. 5. Завершив настройку подключения, можете приниматься за создание сводной таблицы

Рис. 5. Завершив настройку подключения, можете приниматься за создание сводной таблицы

Структура куба OLAP

В процессе создания сводной таблицы на основе базы данных OLAP вы заметите, что окно области задач Поля сводной таблицы будет отличаться от такового для обычной сводной таблицы. Причина кроется в упорядочении сводной таблицы так, чтобы максимально близко отобразить структуру куба OLAP, присоединенного к ней. Чтобы максимально быстро перемещаться по кубу OLAP, необходимо детально ознакомиться с его компонентами и способами их взаимодействия. На рис. 6 показана базовая структура типичного куба OLAP.

Рис. 6. Базовая структура куба данных OLAP

Рис. 6. Базовая структура куба данных OLAP

Как видите, основные компоненты куба OLAP – это размерности, иерархии, уровни, члены и меры:

  • Размерности. Основная характеристика анализируемых элементов данных. К наиболее общим примерам размерностей относятся Products (Товары), Customer (Покупатель) и Employee (Сотрудник). На рис. 6 показана структура размерности Products.
  • Иерархии. Заранее определенная агрегация уровней в указанной размерности. Иерархия позволяет создавать сводные данные и анализировать их на различных уровнях структуры, не вникая во взаимосвязи, существующие между этими уровнями. В примере, показанном на рис. 6, размерность Products имеет три уровня, которые агрегированы в единую иерархию Product Categories (Категории товаров).
  • Уровни. Уровни представляют собой категории, которые агрегируются в общую иерархию. Считайте уровни полями данных, которые можно запрашивать и анализировать отдельно друг от друга. На рис. 6 представлены всего три уровня: Category (Категория), SubCategory (Подкатегория) и Product Name (Название товара).
  • Члены. Отдельный элемент данных в пределах размерности. Доступ к членам обычно реализуется через OLАР-структуру размерностей, иерархий и уровней. В примере на рис. 6 члены заданы для уровня Product Name. Другие уровни имеют свои члены, которые в структуре не показаны.
  • ­Меры — это реальные данные в кубах OLAP. Меры сохраняются в собственных размерностях, которые называются размерностями мер. С помощью произвольной комбинации размерностей, иерархий, уровней и членов можно запрашивать меры. Подобная процедура называется «нарезкой» мер.

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

Рис. 7. Список полей сводной таблицы OLAP

Рис. 7. Список полей сводной таблицы OLAP

В списке полей сводной таблицы OLAP меры выводятся первыми и обозначаются значком суммирования (сигма). Это единственные элементы данных, которые могут находиться в области ЗНАЧЕНИЯ. После них в списке указываются размерности, обозначенные значком с изображением таблицы. В нашем примере используется размерность Customer. В эту размерность вложен ряд иерархий. После развертывания иерархии можно ознакомиться с отдельными уровнями данных. Для просмотра структуры данных куба OLAP достаточно перемещаться по списку полей сводной таблицы.

Ограничения, накладываемые на сводные таблицы OLAP

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

  • нельзя поместить в область ЗНАЧЕНИЯ сводной таблицы поля, отличные от мер;
  • невозможно изменить функцию, применяемую для подведения итогов;
  • нельзя создать вычисляемое поле или вычисляемый элемент;
  • любые изменения в именах полей отменяются сразу же после удаления этого поля из сводной таблицы;
  • не допускается изменение параметров поля страницы;
  • недоступна команда Показать страницы;
  • отключен параметр Показывать подписи элементов при отсутствии полей в области значений;
  • отключен параметр Промежуточные суммы по отобранным фильтром элементам страницы;
  • недоступен параметр Фоновый запрос;
  • после двойного щелчка в поле ЗНАЧЕНИЯ возвращаются только первые 1000 записей из кеша сводной таблицы;
  • недоступен флажок Оптимизировать память.

Создание автономных кубов данных

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

Если все же нужно анализировать OLAP-данные при отсутствии подключения к сети, создайте автономный куб данных. Это отдельный файл, который представляет собой кеш сводной таблицы. В этом файле хранятся OLAP-данные, просматриваемые после отключения от локальной сети. Чтобы создать автономный куб данных, сначала создайте сводную таблицу OLAP. Поместите курсор в сводную таблицу и щелкните на кнопке Средства OLAP контекстной вкладки Анализ, входящей в набор контекстных вкладок Работа со сводными таблицами. Выберите команду Автономный режим OLAP (рис. 8).

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

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

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

Рис. 9. Начальное окно мастера создания автономного куба данных

Рис. 9. Начальное окно мастера создания автономного куба данных

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

Рис. 10. Укажите размерность и уровни, включаемые в автономный куб данных

Рис. 10. Укажите размерность и уровни, включаемые в автономный куб данных

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

Рис. 11. He устанавливайте флажки для элементов данных, которые не должны включаться в автономный куб данных

Рис. 11. He устанавливайте флажки для элементов данных, которые не должны включаться в автономный куб данных

Укажите расположение и имя куба данных (рис. 12). Файлы кубов данных имеют расширение .cub.

Рис. 12. Укажите имя и расположение файла куба данных

Рис. 12. Укажите имя и расположение файла куба данных

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

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

Применение функций куба данных в сводных таблицах

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

Один из самых простых способов изучения функций куба данных заключается в преобразовании сводной таблицы OLAP в формулы куба данных. Эта процедура очень простая и позволяет быстро получить формулы куба данных, не создавая их «с нуля». Ключевой принцип — заменить все ячейки в сводной таблице формулами, которые связаны с базой данных OLAP. На рис. 13 показана сводная таблица, связанная с базой данных OLAP.

Рис. 13. Обычная сводная таблица OLAP

Рис. 13. Обычная сводная таблица OLAP

Поместите курсор в любом месте сводной таблицы, щелкните на кнопке Средства OLAP контекстной вкладки ленты Анализ и выберите команду Преобразовать в формулы (рис. 14).

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

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

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

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

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

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

Рис. 16. Взгляните на строку формул, в ячейках содержатся формулы куба данных

Рис. 16. Взгляните на строку формул: в ячейках содержатся формулы куба данных

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

Добавление вычислений в сводные таблицы OLAP

В предыдущих версиях Excel в сводных таблицах OLAP не допускались пользовательские вычисления. Это означает, что в сводные таблицы OLAP было невозможно добавить дополнительный уровень анализа подобно тому, как это делается в обычных сводных таблицах, допускающих добавление вычисляемых полей и элементов (подробнее см. Вычисляемые поля и вычисляемые элементы в Excel 2013; прежде чем продолжить чтение, убедитесь, что вы хорошо знакомы с этим материалом).

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

Знакомство с MDX. При использовании сводной таблицы вместе с кубом OLAP вы отсылаете базе данных запросы MDX (Multidimensional Expressions — многомерные выражения). MDX — это язык запросов, применяемый для получения данных из многомерных источников (например, из кубов OLAP). В случае изменения или обновления сводной таблицы OLAP соответствующие запросы MDX передаются базе данных OLAP. Результаты выполнения запроса возвращаются обратно в Excel и отображаются в области сводной таблицы. Таким образом обеспечивается возможность работы с данными OLAP без локальной копии кеша сводных таблиц.

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

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

Рис. 17. В сводную таблицу OLAP будет добавлена мера, вычисляющая среднюю цену единицы товара

Рис. 17. В сводную таблицу OLAP будет добавлена мера, вычисляющая среднюю цену единицы товара

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

Рис. 18. Выберите пункт меню Вычисляемая мера многомерного выражения

Рис. 18. Выберите пункт меню Вычисляемая мера многомерного выражения

На экране появится диалоговое окно Создание вычисляемой меры (рис. 19).

Рис. 19. В данном окне создается вычисляемая мера

Рис. 19. В данном окне создается вычисляемая мера

Выполните следующие действия:

1. Присвойте вычисляемой мере имя.

2. Выберите группу мер, в которой будет находиться новая вычисляемая мера. Если этого не сделать, Excel автоматически поместит новую меру в первую доступную группу мер.

3. В поле Многомерное выражение (MDX) введите код, задающий новую меру. Чтобы ускорить процесс ввода, воспользуйтесь находящимся слева списком для выбора существующих мер, которые будут использованы в вычислениях. Дважды щелкните на нужной мере, чтобы добавить ее в поле Многомерное выражение. Для вычисления средней цены продажи единицы товара используется следующее многомерное выражение:

IIF (

[Measures].[Internet Sales-Order Quantity] = 0

,NULL

,[Measures].[Internet Sales-Sales Amount]/

[Measures].[Internet Sales-Order Quantity]

)

4. Кликните ОК.

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

После завершения создания новой вычисляемой меры перейдите в список Поля сводной таблицы и выберите ее (рис. 20).

Рис. 20. Добавьте в сводную таблицу OLAP новую вычисляемую меру

Рис. 20. Добавьте в сводную таблицу OLAP новую вычисляемую меру

Только что созданная вычисляемая мера добавила еще один уровень анализа в сводную таблицу (рис. 21).

Рис. 21. В сводной таблице появилась новая вычисляемая мера

Рис. 21. В сводной таблице появилась новая вычисляемая мера

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

Создание вычисляемых элементов многомерных выражений. Вычисляемый элемент многомерного выражения представляет собой OLAP-версию обычного вычисляемого элемента. Идея заключается в создании нового элемента данных, основанного на некоторых математических операциях, выполняемых по отношению к существующим элементам OLAP. В примере, показанном на рис. 22, используется сводная таблица OLAP, включающая сведения о продажах за 2005–2008 годы (с поквартальной разбивкой). Предположим, нужно выполнить агрегирование данных, относящихся к первому и второму кварталам, создав новый элемент First Half of Year (Первая половина года). Также объединим данные, относящиеся к третьему и четвертому кварталам, сформировав новый элемент Second Half of Year (Вторая половина года).

Рис. 22. Мы собираемся добавить новые вычисляемые элементы многомерных выражений

Рис. 22. Мы собираемся добавить новые вычисляемые элементы многомерных выражений, First Half of Year и Second Half of Year

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

Рис. 23. Создание нового вычисляемого элемента многомерного выражения

Рис. 23. Создание нового вычисляемого элемента многомерного выражения

На экране появится диалоговое окно Создание вычисляемого элемента (рис. 24).

Рис. 24. Окно Создание вычисляемого элемента

Рис. 24. Окно Создание вычисляемого элемента

Выполните следующие действия:

1. Присвойте вычисляемой мере имя.

2. Выберите родительскую иерархию, для которой создаются новые вычисляемые элементы. Настройке Родительский элемент присвойте значение Все. Благодаря этой настройке Excel получает доступ ко всем элементам родительской иерархии при вычислении выражения.

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

[Ship Date].[Calendar Quarter].&[2005]&[1] +

[Ship Date].[Calendar Quarter]. &[2005]& [2] +

[Ship Date].[Calendar Quarter]. &[2006]&[1] + …

4. Щелкните ОК. Excel отобразит только что созданный вычисляемый элемент многомерного выражения в сводной таблице. Как показано на рис. 25, новый вычисляемый элемент отображается вместе с другими вычисляемыми элементами сводной таблицы.

Рис. 25. Excel добавляет новый вычисляемый элемент в поле сводной таблицы

Рис. 25. Excel добавляет новый вычисляемый элемент в поле сводной таблицы

На рис. 26 иллюстрируется аналогичный процесс, применяемый для создания вычисляемого элемента Second Half of Year.

Рис. 26. Повторите описанный ранее процесс для создания других вычисляемых элементов многомерного выражения

Рис. 26. Повторите описанный ранее процесс для создания других вычисляемых элементов многомерного выражения

Обратите внимание: Excel даже не пытается удалить исходные элементы многомерного выражения (рис. 27). В сводной таблице по-прежнему отображаются записи, соответствующие 2005–2008 годам с поквартальной разбивкой. В рассматриваемом случае это не страшно, но в большинстве сценариев следует скрывать «лишние» элементы во избежание появления конфликтов.

Рис. 27. Excel отображает созданный вычисляемый элемент многомерного выражения наравне с исходными элементами

Рис. 27. Excel отображает созданный вычисляемый элемент многомерного выражения наравне с исходными элементами. Но все же лучше удалять исходные элементы во избежание конфликтов

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

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

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

  • Создать. Создание новой вычисляемой меры или вычисляемого элемента многомерного выражения.
  • Изменить. Изменение выбранного вычисления.
  • Удалить. Удаление выделенного вычисления.

Рис. 28. Диалоговое окне Управление вычислениями

Рис. 28. Диалоговое окне Управление вычислениями

Выполнение анализа «что, если» по данным OLAP. В Excel 2013 можно выполнять анализ «что, если» для данных, находящихся в сводных таблицах OLAP. Благодаря этой новой возможности можно изменять значения в сводной таблице и повторно вычислять меры и элементы на основании внесенных изменений. Можно также распространить изменения обратно на куб OLAP. Чтобы воспользоваться возможностями анализа «что, если», создайте сводную таблицу OLAP и выберите контекстную вкладку Анализ, находящуюся в наборе контекстных вкладок Работа со сводными таблицами. В раскрывающемся меню Средства OLAP выберите команду Анализ «что, если» –> Включить анализ «что, если» (рис. 29).

Рис. 29. После включения анализа «что, если» можно изменять данные в сводной таблице

Рис. 29. После включения анализа «что, если» можно изменять данные в сводной таблице

Начиная с этого момента можно изменять значения сводной таблицы. Чтобы изменить выбранное значение в сводной таблице, щелкните на нем правой кнопкой мыши и в контекстном меню выберите пункт Учесть изменение при расчете сводной таблицы (рис. 30). Excel повторно выполнит все вычисления в сводной таблице с учетом внесенных правок, включая вычисляемые меры и вычисляемые элементы многомерных выражений.

Рис. 30. Выберите пункт Учесть изменение при расчете сводной таблицы

Рис. 30. Выберите пункт Учесть изменение при расчете сводной таблицы, чтобы внести изменения в сводную таблицу

По умолчанию правки, внесенные в сводную таблицу в режиме анализа «что, если», являются локальными. Если же вы хотите распространить изменения на сервер OLAP, выберите команду для публикации изменений. Выберите контекстную вкладку Анализ, находящуюся в наборе контекстных вкладок Работа со сводными таблицами. В раскрывающемся меню Средства OLAP выберите пункты Анализ «что, если» – > Опубликовать изменения (рис. 31). В результате выполнения этой команды включится «обратная запись» на сервере OLAP, что означает возможность распространения изменений на исходный куб OLAP. (Чтобы распространять изменения на сервер OLAP, нужно обладать соответствующими разрешениями на доступ к серверу. Обратитесь к администратору баз данных, который поможет вам получить разрешения на доступ в режиме записи к базе данных OLAP.)

Рис. 31. В Excel 2013 можно распространить изменения обратно на исходный куб OLAP

Рис. 31. В Excel 2013 можно распространить изменения обратно на исходный куб OLAP

[1] Заметка написана на основе книги Джелен, Александер. Сводные таблицы в Microsoft Excel 2013. Глава 9.

Часть 6. Microsoft Excel как OLAP-клиент

Средства чтения OLAP-данных в Microsoft Office

Манипуляция OLAP-данными в Microsoft Excel

   Создание сводной таблицы с данными OLAP-кубов

   Манипуляция отображением данных в сводной таблице

   Создание сводных диаграмм с данными OLAP-кубов

   Создание локальных OLAP-кубов

Заключение

В предыдущей части данной статьи (КомпьютерПресс № 8’2001)
мы рассмотрели процесс создания многомерных баз данных для Microsoft Analysis
Services и содержащихся в них объектов, а также ознакомились с простейшим средством
просмотра сечений кубов, встроенным в Analysis Manager. Этот способ работы с
OLAP-данными — не единственный (и далеко не самый удобный, по крайней мере для
конечного пользователя) из возможных на сегодняшний день. Помимо него существует
немало других средств просмотра этих данных — от приложений Microsoft Office
и входящих в его состав компонентов до многочисленных средств просмотра OLAP-данных,
предлагаемых сторонними производителями. Разработчики могут создавать собственные
приложения для работы с OLAP-данными — как с применением компонентов Microsoft
Office, так и без них.

Мы начнем с рассмотрения одного из самых простейших способов работы с OLAP-данными —
использования Microsoft Excel. Остальные способы работы с OLAP-данными будут
рассмотрены в следующих номерах журнала.

Средства чтения OLAP-данных в Microsoft Office

Прежде чем обсуждать возможности Microsoft Excel как OLAP-клиента, кратко остановимся
на компонентах Microsoft Office, используемых для работы с OLAP-данными, — это
позволит нам в дальнейшем избежать терминологической путаницы. Тем более что
все эти компоненты содержат в своем названии словосочетание PivotTable.

Первым из компонентов Microsoft Office, предназначенных для создания OLAP-клиентов,
является набор библиотек PivotTable Service. С одной стороны, он является составной
частью Analysis Services и выполняет роль связующего звена между Analysis Services
и их клиентами (не обязательно имеющими отношение к Microsoft Office). PivotTable
Service может быть установлен отдельно на компьютер, на котором эксплуатируются
какие-либо клиенты Analysis Services; для его установки в состав Analysis Services
входит отдельный дистрибутив. С другой стороны, PivotTable Service входит и
в состав Microsoft Office 2000/XP и при этом может быть использован не только
для работы с данными Analysis Services, но и для создания и чтения локальных
OLAP-кубов, не имеющих отношения к Analysis Services, как с помощью Microsoft
Excel, так и без него.

Вторым компонентом, который может быть использован для просмотра OLAP-кубов,
является служба, называемая PivotTable Reports, — средство создания сводных
таблиц Microsoft Excel. Это средство позволяет получать, сохранять в кэше в
оперативной памяти и отображать на листах рабочих книг двухмерные и трехмерные
наборы агрегатных данных на основе данных из реляционных СУБД и рабочих книг
Excel. PivotTable Reports входит в Excel начиная с версии 5.0, но возможность
считывать с помощью него данные из OLAP-кубов Analysis Services, равно как и
создавать локальные OLAP-кубы, впервые появилась в Excel 2000. Отметим, что
средство создания сводных таблиц Excel использует библиотеки PivotTable Services.

И наконец, третьим компонентом, применяемым при создании OLAP-клиентов, является
PivotTable List — элемент управления ActiveX, входящий в состав Microsoft Office
Web Components и предназначенный для просмотра сечений OLAP-кубов. Применяется
он главным образом на Web-страницах, а иногда и в обычных Windows-приложениях
(о применении его в Delphi-приложениях см. приложение CD-ROM к КомпьютерПресс
№ 12’2000).

Выяснив, что представляют собой средства чтения OLAP-кубов Microsoft Office,
мы можем перейти к более детальному рассмотрению процесса чтения и отображения
OLAP-кубов с помощью Microsoft Excel.

Манипуляция OLAP-данными в Microsoft Excel

Как было отмечено выше, средства создания сводных таблиц Microsoft Excel хранят
в кэше агрегатные данные, вычисленные на основе данных из реляционных СУБД или
полученные от OLAP-серверов. Манипулируя сводной таблицей, пользователь может
управлять отображением данных из этого кэша.

Прежде чем приступить к созданию примера, заметим, что посредством Microsoft
Excel 2000 можно корректно отображать данные из OLAP-кубов, созданных с помощью
Microsoft SQL Server 7.0 OLAP Services. Что касается OLAP-кубов, созданных с
помощью Microsoft SQL Server 2000 Analysis Services, по большей части посредством
Microsoft Excel 2000, то они также отображаются корректно, однако имеются и
некоторые ограничения. Например, при создании локальных кубов OLAP или при сохранении
сводной таблицы в виде Web-страницы с помощью соответствующих мастеров автоматически
выбирается OLE DB-провайдер предыдущей версии (версии 7.0), не поддерживающий
несбалансированные измерения. Это приводит к сообщениям об ошибках и к игнорированию
таких измерений или даже всего источника данных.

При использовании же Microsoft Excel 2002 эти проблемы не возникают.

Создание сводной таблицы с данными OLAP-кубов

В качестве примера создадим сводную таблицу, содержащую данные OLAP-куба, созданного
ранее (см. часть 5 этой статьи в КомпьютерПресс № 8’2001). Для этого запустим
Microsoft Excel и из меню Data выберем PivotTable and PivotChart Report. После
этого управление будет передано мастеру PivotTable and PivotChart Wizard. В
первой диалоговой панели этого мастера укажем, что для построения сводной таблицы
выбирается внешний источник данных, для чего выберем опцию External data source.
Затем укажем, что это за источник, нажав кнопку Get Data в следующей диалоговой
панели, что приведет к запуску приложения Microsoft Query. Далее выберем закладку
OLAP Cubes и, если в операционной системе еще нет описания соответствующего
источника данных, создадим его (рис. 1).

В процессе создания источника данных укажем его имя, выберем OLE DB-провайдер
(в нашем случае — Microsoft OLE DB Provider for OLAP Services 8.0, поскольку
мы используем Microsoft SQL Server 2000 Analysis Services) и нажмем на кнопку
Connect (рис. 2).

В диалоговой панели Multidimensional Connection укажем имя компьютера (если
это локальный компьютер, можно использовать имя localhost), на котором расположен
OLAP-сервер, а также данные для аутентификации пользователя, которые понадобятся
только в том случае, если для связи с OLAP-сервером мы используем HTTP-протокол
(рис. 3).

И наконец, выберем имя многомерной базы данных, в которой хранится OLAP-куб
(рис. 4).

Определив источник данных, выберем куб, который мы будем отображать в сводной
таблице (рис. 5).

После этого можно нажать кнопку OK. В результате мы получим пустую сводную
таблицу, вид которой в Excel 2000 показан на рис. 6.

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

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

При смещении фокуса ввода в другое место листа эти кнопки исчезают.

В Excel 2002 диалоговая панель PivotTable выглядит иначе — она не содержит
кнопок с именами измерений и мер. Их список предоставляется в отдельной панели
PivotTable Field List (рис. 7).

Теперь нам необходимо определить, какие из мер мы хотим отобразить в сводной
таблице. Для этого достаточно перенести мышью кнопку (в случае Excel 2002 —
соответствующий элемент из списка) с наименованием нужной меры в область данных
(Data Area; на рис. 7 она обозначена надписью Drop Data
Items Here). Результат этой манипуляции представлен на рис.
8.

Теперь требуется определить, какие из полей будут участвовать в формировании
строк, столбцов и страниц (иногда последние называются фильтрами). В общем случае
сводная таблица является трехмерной, и можно считать, что третье измерение расположено
перпендикулярно экрану, а мы наблюдаем сечения, параллельные плоскости экрана
и определяемые тем, какая «страница» выбрана для отображения. Осуществить фильтрацию
можно путем перетаскивания мышью соответствующих кнопок с панели инструментов
PivotTable (в случае Excel 2002 — соответствующих элементов с панели PivotTable
Field List) на области строк, столбцов и страниц сводной таблицы — Row Area,
Column Area и Page Area. Результат этой манипуляции показан на рис.
9.

Итак, мы отобразили в сводной таблице Excel содержимое OLAP-куба. Теперь этим
отображением можно манипулировать.

Манипуляция отображением данных в сводной таблице

Если нас интересуют более подробные данные, связанные с одним из членов одного
из отображаемых измерений, можно дважды щелкнуть по ячейке с этим значением
и отобразить члены следующего уровня данного измерения (эта операция называется
drill-down). То, что получится, если дважды щелкнуть на ячейке A5, показано
на рис. 10.

Если же нас интересуют более подробные данные, нежели представленные в данный
момент в сводной таблице, следует выбрать ячейку с именем соответствующего измерения
(например, ячейку A4) и нажать на панели инструментов PivotTable кнопку Show
Detail (рис. 11).

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

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

Если в сводной таблице оставить только одну меру, перенеся оставшиеся обратно
на панель инструментов PivotTables, измерение Data исчезнет.

Отметим, что с помощью одного из доступных в Excel шаблонов оформления можно
изменить оформление сводной таблицы. Кроме того, можно выбрать на панели инструментов
PivotTables пункты меню PivotTable | Table Options или PivotTable | Field Settings
и изменить другие параметры отображения данных в сводной таблице.

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

Создание сводных диаграмм с данными OLAP-кубов

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

Отметим, что с помощью панелей инструментов PivotTable и PivotTable FieldList,
а также выпадающих списков на осях и легенде можно управлять отображением данных
на сводной диаграмме, например выполнять операцию drill-down; при этом сводная
таблица будет меняться синхронно с диаграммой.

Создание локальных OLAP-кубов

Как уже было отмечено выше, Microsoft Excel позволяет создавать локальные OLAP-кубы,
представляющие собой подмножества данных серверных OLAP-кубов. Локальные кубы
хранятся в файлах с расширением *.cub. Напомним, что для корректного создания
локального куба на основе серверного куба, содержащего несбалансированные измерения,
рекомендуется применять Microsoft Excel 2002. Поэтому все последующие примеры
выполнены в этой версии Microsoft Excel.

Чтобы создать локальный OLAP-куб на основе серверного куба, следует на панели
инструментов PivotTables выбрать пункт меню PivotTable | Offline OLAP в Excel
2002 (в Excel 2000 ему соответствовал пункт меню PivotTable | Client-Server
Settings) и нажать кнопку Create offline data file (рис. 15;
в Excel 2000 — Create Local Cube).

Далее следует выбрать измерения и их уровни, а также меры, которые будут присутствовать
в локальном кубе (рис. 16).

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

Теперь осталось только сохранить локальный куб в файле с расширением *.cub.
Отметим, что этот файл является отчуждаемым: его можно просматривать на любом
компьютере, оснащенном как Microsoft Excel 2002, так и Microsoft Excel 2000,
независимо от наличия на нем Microsoft SQL Server Analysis Services или их клиентской
части.

Разработчики приложений, использующих описанную выше функциональность Microsoft
Excel, могут обратиться к нашим ранее опубликованным статьям, посвященным этому
вопросу (например, «Создание OLAP-клиентов с помощью Excel и Microsoft PivotTable
Services», КомпьютерПресс № 12’2000).

Заключение

Итак, мы рассмотрели один из простейших способов работы с OLAP-данными — применение
в качестве OLAP-клиента приложений и компонентов Microsoft Office. Мы научились
отображать OLAP-кубы c помощью средств создания сводных таблиц Microsoft Excel,
манипулировать отображением данных в сводных таблицах, строить сводные диаграммы
на основе OLAP-кубов, а также ознакомились с созданием локальных OLAP-кубов,
содержащих подмножества данных серверного OLAP-куба.

* * *

Другие способы работы с OLAP-данными будут рассмотрены в следующих номерах
журнала.

КомпьютерПресс 9’2001

Практическое
занятие
1:

Построение OLAP
кубов в программе
MS
Excel

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

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

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

Итак,
аналитику нужно много данных, эти данные
являются выборочными, а также носят
характер «набор
атрибутов — число
«.
Последнее означает, что аналитик работает
с таблицами следующего типа:

Здесь
«Страна«,
«Товар«,
«Год»
являются атрибутами или измерениями,
а «Объем
продаж
»
— тем самым числовым значением или мерой.
Задачей
аналитика, повторимся, является выявление
стойких взаимосвязей между атрибутами
и числовыми параметрами
.
Посмотрев на таблицу, можно заметить,
что ее легко можно перевести в три
измерения: по одной из осей отложим
страны, по другой — товары, по третьей —
годы. А значениями в этом трехмерном
массиве у нас будут соответствующие
объемы продаж.

Трехмерное
представление таблицы. Серым сегментом
показано, что для Аргентины в 1988 году
данных нет

Вот
именно такой трехмерный массив в терминах
OLAP и называется кубом. На самом деле, с
точки зрения строгой математики кубом
такой массив будет далеко не всегда: у
настоящего куба количество элементов
во всех измерениях должно быть одинаковым,
а у кубов OLAP такого ограничения нет. Тем
не менее, несмотря на эти детали, термин
«кубы OLAP» ввиду своей краткости и
образности стал общепринятым. Куб OLAP
совсем не обязательно должен быть
трехмерным. Он может быть и двух-, и
многомерным — в зависимости от решаемой
задачи. Особо матерым аналитикам может
понадобиться порядка 20 измерений — и
серьезные OLAP-продукты именно на такое
количество и рассчитаны. Более простые
настольные приложения поддерживают
где-то 6 измерений.

Измерения
OLAP-кубов состоят из так называемых меток
или членов (members). Например, измерение
«Страна» состоит из меток «Аргентина»,
«Бразилия», «Венесуэла» и так
далее.

Должны
быть заполнены далеко не все элементы
куба: если нет информации о продажах
резиновых изделий в Аргентине в 1988 году,
значение в соответствующей ячейке
просто не будет определено. Совершенно
необязательно также, чтобы приложение
OLAP хранило данные непременно в многомерной
структуре — главное, чтобы для пользователя
эти данные выглядели именно так. Кстати
именно специальным способам компактного
хранения многомерных данных, «вакуум»
(незаполненные элементы) в кубах не
приводят к бесполезной трате памяти.

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

из многомерного куба извлекают обычные
двумерные
таблицы
.
Эта операция называется «разрезанием»
куба. Термин этот, опять же, образный.
Аналитик как бы берет и «разрезает»
измерения куба по интересующим его
меткам. Этим способом аналитик получает
двумерный срез куба и с ним работает.
Примерно так же лесорубы считают годовые
кольца на спиле.

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

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

Пример
иерархии

В
этом заключается один из существенных
моментов, которые привели к появлению
OLAP — производительности и эффективности.
Представим себе, что происходит, когда
аналитику необходимо получить информацию,
а средства OLAP на предприятии отсутствуют.
Аналитик самостоятельно (что маловероятно)
или с помощью программиста делает
соответствующий SQL-запрос и получает
интересующие данные в виде отчета или
экспортирует их в электронную таблицу.
Проблем при этом возникает великое
множество. Во-первых, аналитик вынужден
заниматься не своей работой
(SQL-программированием) либо ждать, когда
за него задачу выполнят программисты
— все это отрицательно сказывается на
производительности труда, повышаются
штурмовщина, инфарктно-инсультный
уровень и так далее. Во-вторых,
один-единственный отчет или таблица,
как правило, не спасает гигантов мысли
и отцов русского анализа — и всю процедуру
придется повторять снова и снова.
В-третьих, как мы уже выяснили, аналитики
по мелочам не спрашивают — им нужно все
и сразу. Это означает (хотя техника и
идет вперед семимильными шагами), что
сервер корпоративной реляционной СУБД,
к которому обращается аналитик, может
задуматься глубоко и надолго, заблокировав
остальные транзакции.

Концепция
OLAP появилась именно для разрешения
подобных проблем. Кубы OLAP представляют
собой, по сути, мета-отчеты. Разрезая
мета-отчеты (кубы, то есть) по измерениям,
аналитик получает, фактически, интересующие
его «обычные» двумерные отчеты
(это не обязательно отчеты в обычном
понимании этого термина — речь идет о
структурах данных с такими же функциями).
Преимущества кубов очевидны — данные
необходимо запросить из реляционной
СУБД всего один раз — при построении
куба. Поскольку аналитики, как правило,
не работают с информацией, которая
дополняется и меняется «на лету»,
сформированный куб является актуальным
в течение достаточно продолжительного
времени. Благодаря этому, не только
исключаются перебои в работе сервера
реляционной СУБД (нет запросов с тысячами
и миллионами строк ответов), но и резко
повышается скорость доступа к данным
для самого аналитика. Кроме того, как
уже отмечалось, производительность
повышается и за счет подсчета промежуточных
сумм иерархий и других агрегированных
значений в момент построения куба. То
есть, если изначально наши данные
содержали информацию о дневной выручке
по конкретному товару в отдельно взятом
магазине, то при формировании куба
OLAP-приложение считает итоговые суммы
для разных уровней иерархий (недель и
месяцев, городов и стран).

Конечно,
за повышение таким способом
производительности надо платить. Иногда
говорят, что структура данных просто
«взрывается» — куб OLAP может занимать
в десятки и даже сотни раз больше места,
чем исходные данные.

Ответить
на вопросы:

  1. Что
    такое куб
    OLAP?

  2. Что
    такое метки
    конкретного измерения? Привести примеры.

  3. Могут
    ли меры
    в кубе OLAP,
    содержать нечисловые значения.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Набор инструментов ОLAP (Online Analytical Processing— оперативный анализ данных) позволяет эффективно извлекать и анализировать многомерные данные. В отличие от других типов баз данных, базы данных ОLAP разработаны специально для аналитической обработки и быстрого извлечения из них всевозможных наборов данных.

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

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

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

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

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

Что такое OLAP-куб?

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

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

Данная инструкция описывает действия по созданию шаблона отчёта и загрузке в него требуемых данных из OLAP-куба с помощью Microsoft Excel.

Подключение к кубу

Прежде, чем приступить к составлению отчётов, необходимо подключиться к соответствующему кубу. В качестве примера подключимся к кубу аналитики Lync. Если подключение с вашего компьютера к этому кубу производится впервые, то сначала потребуется его создать. Для этого надо перейти на закладку Данные панели инструментов Excel в выбрать пункт «Из других источников | Из служб аналитики» (рисунок 1).

Создание подключения к кубу
538 × 363 пикс.     Открыть в новом окне Создание подключения к кубу

Затем задать имя сервера и нажать «Далее». Выбранный пример куба расположен на сервере datahouse, поэтому вводим это имя в поле «Имя сервера» (рисунок 2).

Ввод имени сервера
516 × 359 пикс.     Открыть в новом окне Ввод имени сервера

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

Выбор базы данных из списка
526 × 373 пикс.     Открыть в новом окне Выбор базы данных из списка

На следующем шаге задать подключению понятное имя и при необходимости заполнить поле описания, после чего нажать Готово (рисунок 4).

Ввод имени и описания подключения
516 × 431 пикс.     Открыть в новом окне Ввод имени и описания подключения

В окне «Импорт данных», которое появится сразу после этого, можно просто нажать OK (рисунок 5).

Импорт данных
316 × 242 пикс.     Открыть в новом окне Импорт данных

Если ранее вы уже создавали подключение к кубу Lync1 на вашем компьютере, его можно просто выбрать из списка и нажать Открыть (рисунок 6).

Открытие существующего подключения
555 × 522 пикс.     Открыть в новом окне Открытие существующего подключения

Работа с мерами и измерениями куба

После подключения к кубу в Excel отобразится пустая область сводной таблицы и панель со списком полей, которые могут быть включены в отчёт (рисунок 7).

Сводная таблица и панель со списком полей
831 × 711 пикс.     Открыть в новом окне Сводная таблица и панель со списком полей

Числовые поля, представляющие меры, то есть числовые данные, распределены по группам, отмеченным знаком (рисунок 8).

Числовые данные
282 × 183 пикс.     Открыть в новом окне Числовые данные

Эти поля можно поместить только в область значений, в другие три области их поместить не получится (рисунок 9).

Возможность помещения в область значений
282 × 499 пикс.     Открыть в новом окне Возможность помещения в область значений

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

Способы помещения полей в область значений
280 × 273 пикс.     Открыть в новом окне Способы помещения полей в область значений

Поля, представляющие атрибуты измерений, также сгруппированы в списке и отмечены знаком (рисунок 11).

Атрибуты измерений
283 × 278 пикс.     Открыть в новом окне Атрибуты измерений

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

Помещение полей в области
284 × 501 пикс.     Открыть в новом окне Помещение полей в области

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

Если вы случайно закрыли панель полей, вернуть её назад можно щёлкнув правой кнопкой мыши на области таблицы и выбрав пункт меню «Показать список полей» (рисунок 13).

Контекстное меню открытия списка полей
285 × 326 пикс.     Открыть в новом окне Контекстное меню открытия списка полей

Составление отчёта

В качестве примера добавим в отчёт два числовых поля: Количество сессий и Продолжительность сессии (в мин.), рисунок 14.

Пример добавления числовых полей
282 × 272 пикс.     Открыть в новом окне Пример добавления числовых полей

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

Отображение данных по полям
440 × 270 пикс.     Открыть в новом окне Отображение данных по полям

Как правило, сами по себе числовые значения не представляют практического интереса – они просто отражают итоговые данные по всему кубу. Для составления отчёта необходимо сгруппировать эти данные, разместив, например, имена пользователей в строках и даты в столбцах (рисунок 16).

Группировка данных
782 × 400 пикс.     Открыть в новом окне Группировка данных

Для группировки данных по пользователям мы выбрали атрибут Имя измерения Пользователь 1 (рисунок 17).

Группировка данных по пользователям
283 × 502 пикс.     Открыть в новом окне Группировка данных по пользователям

Для группировки данных по датам мы выбрали иерархию Год-Месяц-Дата измерения Время (рисунок 18).

Группировка данных по датам
283 × 502 пикс.     Открыть в новом окне Группировка данных по датам

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

Иерархия
458 × 181 пикс.     Открыть в новом окне Иерархия

Однако, столбцы и строки, в которых присутствуют иерархии, можно раскрывать, просматривая те же данные в разрезе полей, расположенных на следующем уровне (рисунок 20).

Раскрытие строк и столбцов с иерархией
659 × 242 пикс.     Открыть в новом окне Раскрытие строк и столбцов с иерархией

При раскрытии уровней иерархии появляются дополнительные колонки – промежуточные итоги. Если эти колонки не нужны (иногда они могут мешать), их можно скрыть, щёлкнув правой кнопкой мыши по заголовку такой колонки и сняв галочку с пункта «Промежуточные итоги» в выпадающем меню, представленном на рисунке 21.

Like this post? Please share to your friends:
  • What is ods in excel
  • What is odd word in english
  • What is number value in excel
  • What is number format in excel
  • What is num in excel