![]() | ||||||||||||||||||||||||||||||
![]() |
![]() |
|
|
|||||||||||||||||||||||||||
![]() |
|
Создание решений на базе Microsoft Data AnalyzerИсточник: КомпьютерПресс, №4'2002 Алексей Федоров
В предыдущей статье "Microsoft Data Analyzer - анализ данных в Microsoft Office" мы ознакомили читателей с новым продуктом семейства Microsoft Office - Microsoft Data Analyzer, который представляет собой средство анализа данных, предназначенное для конечных пользователей, и существенно облегчает процесс извлечения информации из корпоративных хранилищ данных. Microsoft Data Analyzer поддерживает обширную объектную модель, с помощью которой можно создавать решения на базе данного продукта. Вся функциональность доступна как через пользовательский интерфейс, так и через объектную модель Microsoft Data Analyzer, которой посвящена настоящая статья.
Объектная модель Microsoft Data Analyzer становится доступной при использовании компонента ActiveX, входящего в состав данного продукта. Этот компонент может использоваться в приложениях, поддерживающих COM-интерфейсы, - в приложениях на основе Windows Forms в Visual Basic, в VBA-приложениях Microsoft Office или в составе Web-страниц. Компонент ActiveX обеспечивает программный доступ к следующим функциям Microsoft Data Analyzer:
Для того чтобы воспользоваться компонентом ActiveX, запустим Microsoft Visual Basic и выполним следующие действия:
Загрузка существующих отображений
Теперь мы можем перейти к написанию кода. Начнем с того, что поместим компонент ActiveX на форму. Перейдем в режим написания кода, выберем подпрограмму инициализации компонента (Max3Ax1_Initialized) и напишем следующий код:
Выполнив данное приложение, мы увидим компонент ActiveX в действии - он отображает данные, загруженные из файла (рис. 3). В данном примере мы использовали метод OpenView объекта ActiveView, к которому обратились через объект Application, обеспечивающий программный доступ к компоненту ActiveX. В табл. 1
показаны объекты и коллекции, предоставляемые объектной моделью Microsoft Data Analyzer. Перечисленные выше объекты и коллекции объединены в иерархию, показанную на рис. 4. Давайте расширим наш пример и добавим возможность вызова стандартных диалоговых панелей. Для этого мы будем использовать метод ShowDialog объекта Application. Данный метод позволяет вызвать одну из следующих диалоговых панелей (табл. 2).
Ниже показан код, необходимый для вызова диалоговой панели Change View, который мы поместим в обработчик события, возникающего при нажатии кнопки на форме:
Для управления полосой команд, основным меню и статусной строкой мы используем объекты Bands и свойство Visible, которое может принимать значения True или False. Ниже показано, как отключить полосу команд, меню и статусную строку:
Таким образом мы можем отменить доступ пользователя к определенным командам и, как мы увидели выше, реализовать программный доступ только к тем диалоговым панелям, которые актуальны для нашего приложения. Качеством называется единица измерения в отображении. Также существует разделение на тип измерения (длина или цвет). Ниже показано, как определить цвет для указанного качества:
Для добавления, удаления и очистки качеств мы можем использовать методы Add, Clear и Remove объекта Qualities. Аспектом называется измерение в OLAP-кубе - время, местонахождение, продукты и т.п. Коллекция Aspects предоставляет методы Add, Remove и Clear для добавления, удаления и очистки измерений. Уникальное имя измерения указывается в квадратных скобках - "[]". Для управления менеджером цветов мы используем объект ColorManager и его свойство ColorScaleVisible, которое может принимать значения True или False. Ниже показано, как отобразить менеджера цветов на экране:
В приведенных выше примерах мы использовали готовое отображение, которое мы загружали из файла на локальном диске. Теперь давайте рассмотрим, как с помощью объектной модели Microsoft Data Analyzer создать новое отображение. Создание новых отображений
Начнем с того, что создадим новое приложение на Visual Basic, добавим к главной форме кнопку. Напишем следующий код:
Весь код создания нового отображения мы расположим в обработчике события Click кнопки. Первым шагом создания нового отображения является описание сервера, каталога и куба, к которому будет подключено наше приложение. После этого мы сможем указать измерения и члены измерений для каждого аспекта нашего нового отображения. Для присоединения к серверу, каталогу и кубу мы используем метод Connect объекта View, который обеспечивает подключение к OLAP-серверу. В качества параметра этого метода передается строка соединения. Для задания куба мы используем свойства Catalog и Cube объекта View. В нашем примере мы будем использовать куб Sales, который поставляется в составе Microsoft Analysis Services 8.0. Ниже показан код, который обеспечивает соединение с этим кубом. Данный код должен быть расположен в обработчике события Click кнопки:
Следующий шаг - описание качеств нового вида. Для этого мы будем использовать объект TraitsManager, который доступен через свойства TraitsManager объекта View. Используя метод Trait объекта TraitsManager, мы создаем новые объекты типа Trait. Каждый такой объект описывает либо единичное качество (длина или измерение) - для этого мы используем метод SetSingleQuality этого объекта, - либо мульти-качество. В последнем случае качества добавляются в коллекцию Qualities объекта Trait. Для добавления качеств напишем следующий код, который добавим к уже существующему коду в обработчике события Click кнопки:
Теперь мы должны добавить аспекты, которые, как мы помним, являются измерениями в OLAP-кубе. Для этого мы будем использовать коллекцию Aspects, доступную через свойство Aspects объекта View. Новый аспект добавляется с помощью метода Add. Первый параметр этого метода - уникальный идентификатор в иерархии, заданной в OLAP-кубе. Второй параметр - опциональный - по умолчанию аспект заполнения членами. Если второй параметр имеет значение False, будет создан пустой аспект, не содержащий членов. Метод Item создает новый объект типа Aspect, который позволяет выполнять определенные операции на уровне аспектов. Например, метод GotoLevel заменяет член данного аспекта на члены указанного OLAP-уровня. Для добавления нового аспекта напишем следующий код, который добавим к уже существующему коду в обработчике события Click кнопки:
Для фильтрации членов аспекта мы можем использовать фильтры, задаваемые с помощью методов SmartSelectXXX. Возможно задание фильтров по качеству, по имени члена или по свойствам члена. В следующем примере мы создадим еще один аспект - Customers и используем фильтр для отображения первых 10 городов:
Последним шагом в нашем примере будет описание среза. Создадим еще один аспект: Products, отфильтруем его по категории Drink и сминимизируем его:
Результат работы нашего демонстрационного приложения показан на рис. 5. В завершение данного обзора давайте кратко рассмотрим объекты Microsoft Data Analyzer, которые можно использовать для просмотра метаданных. Создание новых отображений на основе метаданных
Начнем с того, что добавим к нашему проекту ссылку на библиотеку типов MdhInterfacesLib (для этого надо загрузить файл MdhInterfaces.tlb). Теперь создадим объект типа MdhInterfacesLib.IMdhManager, который мы будем использовать для доступа к метаданным. Метод MetaData объекта View возвращает объект этого типа для текущего отображения. Коллекция Cubes объекта IMdhManager возвращает метаданные о кубах, метод MeasureDimension объекта Cube (тот, что мы можем извлечь из коллекции Cubes) возвращает объект, который может быть использован как обычное измерение. Метод DefaultHierarchy объекта MeasureDimension может использоваться для получения объекта, содержащего иерархию измерения. Метод DefaultMember используется для получения измерения по умолчанию. Метод Dimensions объекта Cube служит для получения коллекции измерений. В следующем примере показано, как использовать метаданные для построения нового отображения, содержащего все измерения в кубе Sales, который поставляется в составе Microsoft Analysis Services 8.0:
Заключение
В данном обзоре мы ознакомились с основными возможностями компонента ActiveX и объектной модели Microsoft Data Analyzer. Мы узнали, как использовать объекты для загрузки уже существующего отображения, а также рассмотрели два способа создания новых отображений: с помощью объектной модели Microsoft Data Analyzer и с помощью объектов, обеспечивающих доступ к метаданным. В заключение отметим, что компонент ActiveX Microsoft Data Analyzer может также использоваться в приложениях, написанных на Visual Basic for Applications (VBA), позволяя добавлять средства исследования корпоративных хранилищ данных в решения, создаваемые на основе продуктов Microsoft Office, а также в Web-сайтах в составе Microsoft SharePoint.
|
|