Мир объектов Excel 2000

Как компонент PivotTable взаимодействует с источником данных OLAP


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

  • Табличные - реляционные базы данных различного типа - MS Access, MS SQL Server и другие.
  • Многомерные хранилища - прежде всего, кубы OLAP.
  • XML-потоки - данные, поступающие из интернет.

Компонент Pivot Table сохранил все эти возможные источники данных. Более того, еще одним источником данных может быть DataSource - четвертый компонент, входящий в состав OWC. Для связи с базами данных используется интерфейс OLE DB - стандарт, разработанный Microsoft. Для связи с OLAP источниками данных Microsoft разработала модификацию этого стандарта - OLE DB for OLAP, которая позволяет взаимодействовать с многомерными хранилищами данных аналогично тому, как это взаимодействие происходит при работе с табличными базами данных. Этот стандарт поддерживается как базами данных от Microsoft, так и многими другими многомерными хранилищами данных.

Взаимодействие компонента с источником данных начинается с того, что указанный при соединении провайдер источника данных определяет механизм этого взаимодействия. Для OLE DB for OLAP провайдера используется интерфейс TCP/IP. После того как соединение установлено, в список полей компонента - Pivot Table Field List, который будет более подробно рассматриваться ниже - передается структура OLAP-куба, его поля, измерения, а также иерархии, связанные с измерениями. Когда пользователь начинает в интерактивном режиме оперировать со сводной таблицей или когда это делается программным путем, компонент Pivot Table генерирует соответствующий MDX-запрос (MultiDimensional Expression), определенный спецификациями интерфейса OLE DB for OLAP. Этот запрос передается на сервер, там выполняется, и результаты выполнения пересылаются клиенту. Поскольку серверу передается по существу один запрос, а результаты содержат агрегированные данные, то объем передаваемой информации сводится к минимуму, что и обеспечивает высокую эффекти вность работы при использовании OLAP-источников данных.



Содержание раздела