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

Вадим Гончаренко, vgoncharenko@rabota-na-rezultat.ru

 

Что такое Microsoft Analysis Services?

Microsoft Analysis Services - программный продукт, предназначенный для выполнения многомерного анализа данных из различных источников (от реляционных баз данных до «плоских» текстовых файлов). Все что необходимо Analysis Services для работы с новой БД – это соответствующий драйвер OLE DB или ODBC источника данных. Технология OLAP подразумевает расчет и хранение большого количества промежуточных итогов, что позволяет быстро получать аналитические отчеты с необходимой детализацией.

 

На кого рассчитана эта статья?

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

 

Как Аксапта работает c Analysis Services?

Аксапта интегрируется с Microsoft Analysis Services. В ней есть средства для управления базами данных и кубами Analysis Services, а также для получения из них отчетности. При этом не имеет значения, какая СУБД (Microsoft SQL Server или Oracle) используется в качестве сервера базы данных самой Аксапты. На уровне пользовательских интерфейсов работа с обеими СУБД происходит одинаково.

 

Инсталляция Analysis Services

Дистрибутив Microsoft Analysis Services состоит из следующих компонент:

Минимальный список устанавливаемых компонент:

Что касается PTS, эти компоненты могут быть уже установлены на компьютере, так как входят в состав пакета Office Web Components, поставляемого c Microsoft Office. Если он по каким-то причинам не был установлен, в состав дистрибутива Analysis Service входят файлы ptsfull.exe и ptslite.exe, отличающиеся друг от друга наличием в ptsfull.exe компонентов MDAC.

Сразу после установки компонент Analysis Services и установки на них последнего сервиспака (лично я предпочитаю всегда ставить последний, на момент написания статьи – SP3a) можно переходить к настройке Аксапты.

 

Нюансы, которые стоит иметь в виду при использовании трехуровневой конфигурации:

Учетная запись, с которой запускается AOS, должна будет иметь права на репозитарий Analysis Server (по умолчанию он расположен в скрытой папке MSOlapRepository$). Один из простых способов – включить учетную запись AOS в группу OLAP Administrators на компьютере с Analysis Server. Входящие в нее пользователи могут управлять кубами OLAP с помощью Analysis Manager или DSO.

Еще одно замечание: Microsoft Analysis Server может хранить собственный репозитарий в файлах формата Microsoft Access (по умолчанию они расположены в сетевой папке MSOlapRepository$). При одновременном доступе с нескольких компьютеров возможно повреждение этих файлов. Хотя это происходит нечасто (обращение к репозитарию выполняется как правило только при использовании Analysis Manager или DSO) и повреждения файлов обычно могут быть исправлены средствами MS Access, я после нескольких таких случаев предпочитаю сразу после инсталляции переносить репозитарий в БД SQL Server . Для этого потребуется воспользоваться пунктом меню "Migrate repository" в Analysis Manager, операция займет несколько минут и может сэкономить в будущем немного нервных клеток, которые, как известно, не восстанавливаются.

 

Настройка Axapta

Первое, что нам потребуется сделать – это зарегистрировать в системе наш сервер Analysis Services. Делается это в форме "Серверы OLAP" (Администрирование \ Настройки \ Бизнес-анализ \ OLAP \ Серверы OLAP). Создаем новую запись, в поле «Имя сервера» надо будет указать имя сервера Analysis Services.

Настройка OLAP-сервера
Настройка OLAP-сервера

 

По кнопке «Синхронизация» все БД OLAP, уже созданные на этот момент (по умолчанию устанавливается демонстрационная БД Foodmart 2000) будут зарегистрированы в Аксапте c значением «Не определено» в поле «Основание». Базы данных Analysis Services, создаваемые средствами Аксапты, автоматически будут созданы на сервере Analysis Services , поле «Основание» для них будет содержать значение «Текущая версия Microsoft Axapta».

Создадим новую базу данных OLAP (кнопка «Базы данных OLAP», создаем новую запись). Если мы планируем только одну базу данных, стоит зарегистрировать ее как базу данных по умолчанию. Делается это в форме «Параметры OLAP» (Основное \ Настройки \ Бизнес-анализ \ Параметры OLAP). Все кубы по умолчанию теперь будут создаваться в ней.

Настройка базы данных OLAP
Настройка базы данных OLAP

 

Настройка определения куба OLAP

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

Создадим новое определение куба. Для этого откроем форму «Определения кубов» (Администрирование \ Настройки \ Бизнес-анализ \ OLAP \ Определения кубов).

 

Дополнительные параметры определения куба

Поле «Модуль системы Microsoft Axapta», как следует из названия, определяет модуль, к которому относится данный куб. В соответствии с этим полем куб появится в списке доступных кубов по запросу «Сводная таблица» в формах модуля.

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

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

«Поле даты операции» (закладка «Меры»). Должно быть заполнено, если в кубе настроены меры на полях с «денежным» типом данных – наследником EDT AmountCur или AmountMST. На эту дату будет браться курс при проведении суммы проводки к валюте экземпляра куба. Если оставить это поле незаполненным, куб нельзя будет обработать.

Определение кубов
Определение кубов

 

Работа с экземпляром куба OLAP

Настройка куба
Настройка куба

Переход от определения куба к его экземплярам осуществляется по кнопке «Экземпляры куба». Если до этого не было создано ни одного экземпляра, он (запись об экземпляре куба в Аксапте и куб в Microsoft Analysis Services) будет создан автоматически. На основе определения куба OLAP можно создать один или несколько экземпляров куба (например, несколько экземпляров в разных валютах). При первой синхронизации определения куба в Аксапте и в Analysis Services (кнопка «Перенос») автоматически создается источника данных (DSN), связывающий эти базы данных.

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

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

Параметры просмотра куба
Параметры просмотра куба

 

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

Сводная таблица по обработанному кубу OLAP может быть вызвана несколькими способами.

Наконец, сводную таблицу можно открыть даже не запуская Аксапту. Компонент Pivot Table может быть использован практически в любом приложении. Например, мы хотим вставить сводную таблицу в книгу Microsoft Excel.

Сводная таблица построена. Средства автоматического форматирования страницы помогут сделать работу со сводной таблицей легкой и приятной.

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

Как видите, для начала работы с OLAP в Аксапте не требуются какие-либо специальные навыки, с этим может справиться обычный «продвинутый пользователь».

Вадим Гончаренко, vgoncharenko@rabota-na-rezultat.ru