CREATE ACTION 语句 (MDX)

创建可以与多维数据集、维度、层次结构或从属对象关联的操作。

语法

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
    有效的 MDX 表达式。

  • String_Expression
    一个有效的字符串表达式。

注释

客户端应用程序可能会创建和执行不安全的操作,也可能会使用不安全的函数。 为了避免出现这些情况,请使用 Safety Options 属性。 有关详细信息,请参阅“Safety Options 属性”。

备注

包括此语句是为了向后兼容。不支持 SQL Server Analysis Services 中的新增操作,如钻取操作或报告操作。

操作类型

下表介绍 Microsoft SQL Server Analysis Services 中可用的各种类型的操作。

操作类型

说明

URL

返回的操作字符串是一个 URL,应使用 Internet 浏览器打开此 URL。

备注

如果此操作不是以 http:// 或 https:// 开头,则除非 SafetyOptions 被设置为 DBPROPVAL_MSMD_SAFETY_OPTIONS_ALLOW_ALL,否则浏览器就不能执行此操作。

HTML

返回的操作字符串是一个 HTML 脚本。 应将该字符串保存到文件中,并使用 Internet 浏览器来呈现该文件。 在这种情况下,整个脚本会在所生成的 HTML 中运行。

STATEMENT

返回的操作字符串是一个语句,需要通过将命令对象的 ICommand::SetText 方法设置为此字符串并调用 ICommand::Execute 方法来执行此语句。 如果该命令失败,会返回一条错误。

DATASET

返回的操作字符串是一个 MDX 语句,需要通过将命令对象的 ICommand::SetText 方法设置为此字符串并调用 ICommand::Execute 方法来执行此语句。 所请求的接口 ID (IID) 应该是 IDataset。 如果创建了数据集,就说明命令成功了。 客户端应用程序应当允许用户浏览返回的数据集。

ROWSET

与 DATASET 类似,但客户端应用程序请求的 IID 是 IRowset,而不是 IDataset。 如果创建了行集,就说明命令成功了。 客户端应用程序应当允许用户浏览返回的行集。

COMMANDLINE

客户端应用程序应执行该操作字符串。 该字符串是一个命令行。

PROPRIETARY

客户端应用程序不应显示和执行该操作,除非该应用程序针对该操作进行了特殊的自定义设置。 对于某些专有操作,除非客户端应用程序通过对 APPLICATION_NAME 设置适当的限制来明确要求这些操作,否则不会向客户端应用程序返回这些操作。

调用类型

下表介绍了可在 Analysis Services 中执行的各种调用。 调用类型仅用于帮助客户端应用程序来确定何时调用操作, 并不真正决定操作的调用行为。

调用类型

说明

INTERACTIVE

应该由客户端应用程序通过用户交互来调用操作。

ON_OPEN

应该在打开目标对象时由客户端应用程序调用操作。 目前尚未实现此调用类型。

BATCH

应该由客户端应用程序在某一批处理操作中涉及到目标对象(由客户端应用程序确定)时调用操作。 目前尚未实现此调用类型。

Scope

每个操作均针对一个特定的多维数据集定义,并且在该多维数据集中具有唯一的名称。 操作可具有下表所列的作用域之一。

  • 多维数据集作用域
    操作不依赖于特定的维度、成员或单元,例如:“为 AS/400 生产系统启动终端仿真”。

  • 维度作用域
    操作适用于特定的维度。 这些操作不依赖于所选的特定级别或成员。

  • 级别作用域
    操作适用于特定的维度级别。 这些操作不依赖于该维度中所选的特定成员。

  • 成员作用域
    操作适用于特定级别的成员。

  • 单元作用域
    操作仅适用于特定的单元。

  • 集作用域
    此操作仅适用于某个集。 名称 ActionParameterSet 是留给应用程序在操作表达式内使用的。

请参阅

其他资源

MDX 数据定义语句 (MDX)