OLAP.ru   Rambler's Top100
Вы находитесь на страницах старой версии сайта. Перейдите на новую версию OLAP.ru
  
Поиск по сайту
Новости
Основы OLAP
Продукты
Business Objects/ Crystal Decisions
Каталог
OLAP в жизни
Тенденции
Download
Яndex
 
 
 
TopList
 
 Business Objects/Crystal Decisions  Oracle  Microsoft  IBM 
 Hyperion  Sybase  Informix  Actuate  SAS Institute  Brio 

Действия в службе Analysis Services


Рас Уитни, SQL Magazine OnLine #01/2001

Новшество Analysis Services - действия (Actions) - позволяет подсоединить структурированные или неструктурированные данные или команды практически к любому месту куба OLAP. Если вы хотите повысить оперативность принятия решений в организации, то следует непременно использовать действия для подключения той информации, которая кажется имеющей отношение к делу. Тогда тот, кто принимает решения, затратит меньше времени на поиск нужных данных, а сами решения будут базироваться на солидном информационном основании.

Аналитическая служба SQL Server 2000 представляет собой полноценный процессор OLAP, который отвечает появившимся в последнее время требованиям, обусловленным задачами многомерного анализа данных. Тем не менее, для проведения всестороннего анализа бизнеса одного только OLAP недостаточно. Для действительно эффективной работы аналитику требуется доступ не только к кубу OLAP, работающему в автономном режиме, но и к различным источникам информации о бизнесе, связанным друг с другом общим контекстом. Способность связывать куб OLAP с источниками детальной или справочной информации является отличительной особенностью Analysis Services. Эта способность отчасти обеспечивается средствами сквозной детализации, которые позволяют аналитику получать доступ к подробной информации о транзакциях, образующих итоговые величины, хранящиеся в ячейках куба OLAP. Другое новшество Analysis Services - действия (Actions) - позволяет подсоединить структурированные или неструктурированные данные или команды практически к любому месту куба OLAP. Если вы хотите повысить оперативность принятия решений в организации, то следует непременно использовать действия для подключения той информации, которая кажется имеющей отношение к делу. Тогда тот, кто принимает решения, затратит меньше времени на поиск нужных данных, а сами решения будут базироваться на солидном информационном основании.

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

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

В состав административной программы Analysis Services, называемой Analysis Manager, входит специальный мастер, который помогает создавать действия. Запустите Analysis Manager и продвигайтесь по дереву слева до тех пор, пока не дойдете до имени куба, пусть это будет FoodMart 2000 Sales. Щелкните дважды правой кнопкой мыши на названии куба и затем выберите из появившегося контекстного меню пункт Edit. В редакторе куба раскройте меню вставки Insert и выберите действие, Action. Другой способ вызвать мастер действий Action Wizard, – щелкнуть по значку действия (желтый куб с двумя исходящими из него красными стрелами) в строке инструментов. Оба этих способа активизируют мастер действий.

Первым шагом мастер действий идентифицирует ту часть куба, к которой будет прикреплено действие. Как показано на рисунке 1, в рассматриваемом примере действие прикрепляется к членам размерности Магазин (Store) на уровне наименований (Store Name).

Рисунок 1

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

Рисунок 2

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

После того, как выбран тип действия и нажата кнопка Next, можно приступать к вводу текста, ассоциированного с данным действием. На рисунке 3 показан пример текста, связанного с действием типа HTML.

Рисунок 3

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

Чтобы протестировать только что созданное действие, щелкните на вкладке данных в нижней части окна редактора куба. Это переведет редактор из режима демонстрации схемы куба в режим просмотра данных. Перетяните размерность Store на решетку и разверните ее полностью до самого нижнего уровня. Чтобы развернуть член размерности, следует дважды щелкнуть на значке «плюс» рядом с названием члена. Увидев названия магазинов, щелкните правой кнопкой мыши на одном из них. В контекстном меню появится пункт с действием HTML Sample. Выбор этого пункта меню инициирует действие, результаты которого показаны на рисунке 4.

Рисунок 4

Применение действий из Visual Basic

Если вы хотите получить программный доступ к новым возможностям Analysis Services, необходимую информацию можно найти в документации по OLE DB для OLAP на сайте Microsoft по адресу http://www.microsoft.com/data/oledb/olap. В программном продукте ADO MD (ActiveX Data Object, Multi-Dimensional) предусмотрен доступ более высокого уровня к OLE DB для OLAP. Этот способ очень хорош при работе с Visual Basic (VB). Специалисты корпорации Microsoft разработали программный интерфейс OLE DB для OLAP, чтобы улучшить взаимодействие между клиентами и сервером OLAP. Однако действия не вошли в документацию этого стандартного интерфейса. Получить доступ к действиям через OLE DB для OLAP и из ADO MD можно, используя собственные расширения Microsoft, такие как документация SQL Server 2000 Books Online (BOL).

Чтобы дать читателям представление о том, каким образом применять действия из клиентских приложений, я написал на VB программу, которая ищет любое действие HTML, привязанное к члену Store 9 размерности Store. Если программа находит такое действие, она показывает его название в окне сообщения, а затем запускает браузер, чтобы показать на экране код HTML этого действия. Если читатели захотят использовать этот исходный код в своих приложениях, то они смогут расширить его таким образом, чтобы он поддерживал все типы действий и все виды метаданных куба.

Чтобы запустить этот пример, сначала создайте действие HTML Sample, которое я приводил выше. Теперь загрузите проект VB, который можно найти в приложении к статье с идентификационным номером 8758 на сайте SQL Server Magazine по адресу www.sqlmag.com . Когда будете вводить этот пример, тщательно проверьте корректность всех ссылок. Убедитесь в том, что имеются ссылки на библиотеки ADO MD, ADO и Microsoft Scripting Runtime. При загрузке проекта VB из сети помните, что все необходимые ссылки в нем уже есть.

В первой части кода VB объявляются константы, необходимые для получения доступа к набору строк схемы Actions через ADO MD. Подпрограмма Form_Load начинает с установления ADO MD с базой данных FoodMart 2000. Следующим шагом вводится массив ограничений на доступ к набору данных Actions. В рассматриваемом примере я ограничил строки в кубе Sales для члена размерности Store 9 типом HTML. Значения в массиве ограничений соответствуют полям набора строк Actions. Если определить в массиве ограничение Empty, то на соответствующий столбец ограничения накладываться не будут. В таблице 1 приведен перечень всех полей набора строк Actions.
CATALOG_NAME (Имя каталога )Название базы данных, в которой хранится действие.
SCHEMA_NAME (Имя схемы)Не используется.
CUBE_NAME (Имя куба)Название куба, в котором хранится действие.
ACTION_NAME (Имя действия)Название действия; чтобы показать его назначение, воспользуйтесь полем ACTION_CAPTION.
ACTION_TYPE (Тип действия)Тип действия (например, HTML)
COORDINATE (Координаты)Координаты места в кубе, где находится действие (например, [Store 9]).
COORDINATE_TYPE (Тип координат)Тип координат (например, член размерности или ее уровень).
ACTION_CAPTION (Заголовок действия)Заголовок действия, который выводится на экран.
DESCRIPTION (Описание)Описание действия.
CONTENT (Содержание)Текст действия; к примеру, для действия HTML, это текст HTML
APPLICATION (Приложение)Название приложения, которое выполняет действие.

Чтобы обратиться с запросом к набору строк ADO MD, следует вызвать тот же самый метод OpenSchema, который используется при доступе к набору строк размерностей, Dimension, или же их членов, Member. В данном случае передается параметр adSchemaProviderSpecific, который сообщает, что этот набор строк характерен для поставщика OLE DB для OLAP. Третий параметр представляет собой глобальный уникальный идентификатор (GUID), который определяет, какой именно набор строк требуется.

Завершающий шаг этого примера демонстрирует название действия и выполняет его. Данный пример сохраняет содержимое HTML во временном файле и запускает браузер для его просмотра.

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

ПРИЛОЖЕНИЕ 1.

Классификация действий

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

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

Оператор. Выполняет команду OLE DB, которая может успешно или неуспешно завершиться, но не должна при этом возвращать никакого результата. Примерами могут служить команды определения данных CREATE MEMBER или DROP MEMBER.

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

URL. Это действие подобно действию HTML за исключением того, что оно содержит URL, а не HTML. Действие URL полезно применять для подключения метаданных куба к сети intranet или сайтам Internet.

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

Набор строк. Содержит команду OLE DB, которая относится к операторам или наборам данных. Команда обязательно должна возвращать набор данных. Это действие может содержать команду сквозной детализации или же обычный запрос SQL.

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

 Обсудить на форуме   Написать автору   Написать вебмастеру 

© 2001 Interface Ltd