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 是留给应用程序在操作表达式内使用的。