MDX Скрипты
Язык MultiDimensional Expressions (MDX) является очень мощным языком, который использовался в Analysis Services 2000 для определения вычислений и правил обеспечения безопасности. Но MDX является настолько же сложным, насколько и мощным. Analysis Services 2005 предоставляет новую модель вычислений в виде MDX скриптов (MDX Scripts), которая использует упрощенные конструкции и синтаксис.
MDX также является языком запросов к системам Analysis Services. Такие инструменты выполнения запросов, как Excel Pivot Tables, генерируют запросы MDX на основе пользовательских действий "drag and drop". Такое использование языка MDX не относится к MDX скриптам; MDX скрипты используются для серверных объектов, таких, как вычисляемые члены и вычисления ячеек, а не для пользовательских запросов.
После создания куба в Analysis Services 2005 этот куб содержит только структуру, данных в нем нет. MDX скрипт является частью такой структуры. Одна команда MDX скрипта всегда определена по умолчанию для выполнения агрегирований по умолчанию. Команда MDX скрипта по умолчанию содержит единственное выражение: Calculate;
После того, как куб полностью обработан, но до выполнения MDX скрипта по умолчанию, куб содержит данные листового уровня, но не содержит агрегатов. При выполнении MDX скрипта, состоящего из одного выражения, агрегаты рассчитываются и сохраняются.
MDX скрипт может содержать следующие команды, разделенные точками с запятой:
- Выражения области видимости для ограничения области видимости выражения
- Задание формул и значений
- Определения вычисляемых членов
- Определения именованных наборов данных
В пользовательском интерфейсе для разработки кубов в Business Intelligence Development Studio скрипты MDX - вычисляемые члены и именованные наборы - создаются в окне представлении Calculations. MDX скрипт можно просматривать в окне по умолчанию Calculations Form, что позволяет проверить корректность синтаксиса, или в окне Calculations Script, в котором MDX скрипт представлен в виде набора команд, разделенных точками с запятой. Вы можете переключаться между этими окнами, однако для работы окна Form на данный момент требуется, чтобы во всем скрипте был корректный синтаксис.
Существует несколько основных ключевых особенностей MDX скриптов:
- Скрипты соответствуют процедурной модели: команды выполняются по очереди. Разработчик MDX скрипта теперь может не волноваться о порядке выполнения и больше застрахован от написания скрипта, который вызовет бесконечную рекурсию.
- У вычисления может быть ограничена область видимости: выражение SCOPE позволяет вам определить одно или более вычислений на определенной области куба. Например:
SCOPE ([Customers].[Country].[Country].[USA]); [Measures].[Sales] = 100; END SCOPE;