动作可以有不同类型,必须相应地进行创建。 操作可为:
钻取操作返回一组行,这些行表示发生操作的多维数据集中所选单元格的基础数据。
报告操作是指从 Reporting Services 返回的报表,这些报表与进行操作的多维数据集的选定部分相关联。
标准操作,返回与操作发生的多维数据集选定部分关联的操作元素(URL、HTML、DataSet、RowSet 和其他元素)。
客户端应用程序使用查询接口(如 ADOMD.NET)来检索操作,并将其公开给最终用户。 有关详细信息,请参阅 使用 ADOMD.NET 进行开发。
简单 Action 对象包括:基本信息、要在其中执行作的目标、限制作范围的条件和类型。 基本信息包括操作的名称、操作的说明、为操作建议的标注和其他内容。
目标是动作要在立方体中实际发生的位置。 目标由目标类型和目标对象组成。 目标类型表示多维数据集中需要启用动作的对象类型。 目标类型可以是级别成员、单元格、层次结构、层次结构成员或其他类型。 目标对象是目标类型的特定对象;如果目标类型为层次结构,则目标对象是多维数据集中定义的层次结构中的任何一个。
条件是在动作事件中计算的 MDX 表达式。 如果条件计算结果为 true
,则执行相应操作。 否则,该动作不会被执行。
类型是要执行的操作类别。 Action 是一个抽象类,因此,若要使用它,必须使用任何一个派生类。 预定义了两种类型的操作:钻取和报告。 这些类具有相应的派生类: DrillThroughAction 和 ReportAction。 在 StandardAction 类中涵盖了其他操作。
在 Microsoft SQL Server Analysis Services 中,动作是一个存储的 MDX 语句,可以呈现给客户端应用程序使用。 换句话说,动作是一个在服务器上定义和存储的客户端命令。 一个操作还包含用于指定何时以及如何由客户端应用程序显示和处理 MDX 语句的信息。 操作指定的动作可以使用动作中的信息作为启动应用程序的参数,或者可以根据动作提供的条件检索信息。
行动使业务用户能够对分析结果采取行动。 通过保存和重用操作,最终用户可以超越传统的分析,传统分析通常以数据呈现为止,并启动解决已发现问题和缺陷的方案,从而将商业智能应用扩展到多维数据集之外。 操作可以将客户端应用程序从复杂的数据呈现工具转换为企业运营系统的组成部分。 最终用户可以“完成闭环”,而不是专注于将数据作为输入发送到运营应用程序。 这种将分析数据转换为决策的能力对于成功的商业智能应用程序至关重要。
例如,一名业务用户在浏览数据立方体时注意到了某种产品的目前库存状况较低。 客户端应用程序向业务用户提供一个操作列表,这些操作全部与低产品库存值有关,是从Analysis Services数据库中检索到的。业务用户为表示产品的多维数据集中成员选择订单操作。 订单操作通过调用操作数据库中的存储过程来启动新订单。 此存储过程生成要发送到订单输入系统的相应信息。
您可以在创建操作时灵活处理:例如,操作可以启动应用程序,或从数据库中检索信息。 可以配置一个操作,使其从多维数据集的几乎任何部分触发,包括维度、级别、成员和单元格,或者为多维数据集的相同部分创建多个操作。 还可以将字符串参数传递给启动的应用程序,并在操作运行时指定向最终用户显示的说明文字。
重要
为了让业务用户能够使用操作,他们使用的客户端应用程序必须支持这些操作。
作类型
下表列出了在 Analysis Services 中所包含的操作类型:
操作类型 | DESCRIPTION |
---|---|
CommandLine | 在命令提示符处执行命令 |
数据集 | 将数据集返回到客户端应用程序。 |
钻取 | 以表达式的形式返回钻取语句,客户端执行该语句以返回行集 |
Html | 在 Internet 浏览器中执行 HTML 脚本 |
权益 | 使用非此表中列出的接口来执行操作。 |
报告 | 将基于参数化的 URL 请求提交到报表服务器,并将报表返回到客户端应用程序。 |
数据行集 | 将行集返回到客户端应用程序。 |
声明 | 运行 OLE DB 命令。 |
网址 | 在 Internet 浏览器中显示动态网页。 |
解析和执行操作
当业务用户访问定义命令对象的对象时,将自动解析与作关联的语句,使该语句对客户端应用程序可用,但不会自动执行该作。 仅当业务用户执行特定于客户端的操作并启动该操作时,才会执行该动作。 例如,当业务用户右键单击特定成员或单元格时,客户端应用程序可能会将操作列表显示为弹出菜单。