Поделиться через


Инструкция CREATE ACTION (многомерные выражения)

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

Синтаксис

CREATE ACTION CURRENTCUBE | Cube_Name
   .Action_Name <action body>
<action body> ::= 
FOR 
        CUBE 
    | Hierarchy_Name [MEMBERS] 
    | Level_Name [MEMBERS] 
    | CELLS 
    | SET } 
      AS 'MDX_Expression' 
        [, TYPE = '
              { URL 
            | HTML 
            | STATEMENT 
               | DATASET 
            | ROWSET 
            | COMMANDLINE 
               | PROPRIETARY } 
         ']
   [ , INVOCATION = 'INTERACTIVE | ON_OPEN | BATCH ' ]
   [ , APPLICATION = String_Expression ]
   [ , DESCRIPTION = String_Expression ]
   [ , CAPTION = 'MDX_Expression' ]

Аргументы

  • Cube_Name
    Допустимая строка, представляющая имя куба.

  • Action_ Name
    Допустимая строка, представляющая имя создаваемого действия.

  • Hierarchy_ Name
    Допустимая строка, представляющая имя иерархии.

  • Level_ Name
    Допустимая строка, представляющая имя уровня.

  • Member_ Name
    Допустимая строка, представляющая имя или ключ элемента.

  • MDX_Expression
    Допустимое многомерное выражение.

  • String_Expression
    Допустимое строковое выражение.

Замечания

Возможна ситуация, когда клиентские приложения создают и запускают небезопасные действия или используют ненадежные функции. Чтобы избежать таких ситуаций, надо воспользоваться свойством Safety Options. Дополнительные сведения см. в разделе «Свойство параметров безопасности».

ПримечаниеПримечание

Данная инструкция включена для обеспечения обратной совместимости. Новые действия служб SQL ServerAnalysis Services, например «Детализировать» или «Действия с отчетом», не поддерживаются.

Типы действий

В следующей таблице представлены различные типы действий, имеющиеся в службах MicrosoftSQL ServerAnalysis Services.

Тип действия

Описание

URL

Возвращаемая строка действия представляет собой URL-адрес, который можно открыть с помощью интернет-обозревателя.

ПримечаниеПримечание
Если это действие не начинается с http:// или https://, то действие будет недопустимым для обозревателя, если только свойству SafetyOptions не будет присвоено значение DBPROPVAL_MSMD_SAFETY_OPTIONS_ALLOW_ALL.

HTML

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

STATEMENT

Возвращаемая строка действия является инструкцией, которую надо выполнить, задав эту строку методу ICommand::SetText командного объекта и вызывая метод ICommand::Execute. Если команда завершится неудачно, будет возвращено сообщение об ошибке.

DATASET

Возвращаемая строка действия является инструкцией многомерных выражений, которую надо выполнить, задав эту строку методу ICommand::SetText объекта команды и вызвав метод ICommand::Execute. Идентификатор запрашиваемого интерфейса (IID) должен быть IDataset. Команда успешно выполнится, если набор данных уже был создан. Клиентское приложение должно обеспечить пользователю просмотр созданного набора данных.

ROWSET

Есть аналогия с DATASET, только вместо запрашивания IID для IDataset клиентскому приложению надо запросить IID для IRowset. Команда успешно выполнится, если набор строк уже был создан. Клиентское приложение должно обеспечить пользователю просмотр созданного набора строк.

COMMANDLINE

Клиентское приложение должно выполнить строку действия. Эта строка является командной.

PROPRIETARY

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

Типы инициации

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

Тип инициации

Описание

INTERACTIVE

Действие должно быть инициировано клиентским приложением через взаимодействие с пользователем.

ON_OPEN

Действие должно быть инициировано клиентским приложением при открывании целевого объекта. Тип инициации еще не реализован.

BATCH

Действие должно быть инициировано клиентским приложением, когда целевой объект используется в пакетной операции, определенной клиентским приложением. Тип инициации еще не реализован.

Область

Каждое действие определяется для заданного куба, оно имеет в этом кубе уникальное имя. Каждое действие может обладать одной из областей действия, приведенных в таблице (см. ниже).

  • Область — куб
    Для действий, не зависящих от конкретных измерений, элементов или ячеек. Например: «Запустить эмуляцию терминала для производственной системы AS/400».

  • Область — измерение
    Действие применимо к заданному измерению. Эти действия не зависят от конкретного выбора уровней и элементов.

  • Область — уровень
    Действие применимо к заданному уровню измерения. Эти действия не зависят от выбора конкретного элемента в этом измерении.

  • Область — элемент
    Это действие применимо к конкретным элементам уровня.

  • Область — ячейка
    Это действие применимо только к конкретным ячейкам.

  • Область — набор
    Действие применимо только к заданному набору. Имя ActionParameterSet (набор параметров действия) зарезервировано для применения приложением внутри выражения действия.