Базовый скрипт многомерных выражений (многомерные выражения)

Применимо к: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Скрипт многомерных выражений определяет процесс вычисления куба в Microsoft SQL Server SQL Server Analysis Services. Существует два типа скриптов многомерных выражений.

Скрипт многомерных выражений по умолчанию
Во время создания куба SQL Server Analysis Services создает скрипт многомерных выражений по умолчанию для этого куба. В этом скрипте определяется этап вычисления для всего куба.

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

Скрипт многомерных выражений по умолчанию

Скрипт многомерных выражений по умолчанию, который SQL Server Analysis Services создается при определении куба, содержит одну инструкцию CALCULATE. Эта инструкция CALCULATE находится в начале скрипта многомерных выражений по умолчанию и говорит о том, что весь куб должен быть рассчитан во время первого этапа вычислений.

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

  • SQL Server Analysis Services напрямую добавляет команды скрипта в скрипт многомерных выражений по умолчанию.

  • Для каждого именованного набора в кубе в скрипт многомерных выражений по умолчанию добавляется соответствующая инструкция CREATE SET.

  • Для каждого вычисляемого элемента в кубе в скрипт многомерных выражений по умолчанию добавляется соответствующая инструкция CREATE MEMBER.

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

Если с кубом не связан ни один скрипт многомерных выражений, куб вычисляется по скрипту многомерных выражений по умолчанию. Куб должен быть связан хотя бы с одним скриптом многомерных выражений, поскольку только в скрипте определяется порядок вычисления куба. Другими словами, куб, не связанный со скриптом многомерных выражений или связанный с пустым скриптом многомерных выражений, не может и не будет вычислять значения ячеек. Если кубы создаются программно при помощи команд языка скриптов служб Analysis Services (ASSL) или объектов AMO, рекомендуется создать для куба скрипт многомерных выражений по умолчанию с одной инструкцией CALCULATE.

Содержимое скрипта многомерных выражений

Скрипт многомерных выражений может содержать следующие инструкции и выражения.

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

Дополнительные сведения об инструкциях скриптов многомерных выражений см. в разделе Операторы скрипта многомерных выражений (МНОГОМЕРНЫЕ выражения).

CREATE MEMBER
Инструкция CREATE MEMBER служит для создания вычисляемых элементов. Дополнительные сведения о создании вычисляемых элементов см. в статье Создание вычисляемых элементов в многомерных выражениях.

CREATE SET
Инструкция CREATE SET служит для создания именованных наборов. Дополнительные сведения о создании наборов имен см. в разделе Создание именованных наборов в многомерных выражениях.

Условные операторы
Условные инструкции позволяют создавать ветвления в скриптах многомерных выражений. В эту категорию входят инструкции CASE и IF .

Выражения присваивания
Выражения присваивания присваивают ограниченному вложенному кубу некое выражение, например просто значение. Выражение ограниченного вложенного куба — это коллекция ограниченных выражений наборов, определяющих «грани» вложенного куба в скрипте многомерных выражений. Ниже продемонстрирован синтаксис выражения ограниченного вложенного куба:

<Constrained subcube> ::= (   
    ( <Constrained set> [<Crossjoin operator> <Constrained set>...] |  
    <ROOT function> |  
    <TREE function> |  
    LEAVES() |  
    * ) [, <Constrained subcube>...]  
<Constrained set> ::=   
    <Natural hierarchy>.MEMBERS |   
    <Natural hierarchy>.LEVEL(<numeric expression>).MEMBERS |   
    { <Natural hierarchy member> } |   
    DESCENDANTS( <Natural hierarchy member>, <Level expression>, ( SELF | AFTER | SELF_AND_AFTER ) ) |   
    DESCENDANTS( <Natural hierarchy member>, , LEAVES )  
<Natural hierarchy> ::= <Hierarchy identifier>  
<Natural hierarchy member> ::= <Natural hierarchy>.<identifier>[.<identifier>...]  

См. также:

Справка по языку многомерных выражений (многомерные выражения)
Основные принципы создания скриптов многомерных выражений (службы Analysis Services)