在 SQL Server Management Studio 中使用 Analysis Services 模板

SQL Server Management Studio 提供了一组模板,可帮助你快速创建 XMLA 脚本、DMX 或 MDX 查询、在多维数据集或表格模型中创建 KPI、脚本备份和还原作以及执行许多其他任务。 模板位于 Management Studio 的 模板资源管理器 中。

本主题包含多维模型和表格模型的模板列表,并提供如何使用元数据资源管理器和模板资源管理器生成 MDX 查询和 XMLA 语句的示例。

本主题包含下列部分:

打开 Analysis Services 模板

使用模板在表格模型上生成和运行 MDX 查询

从模板创建 XMLA 脚本

使用 XMLA 模板生成架构行集查询

Analysis Services 模板参考

本主题不介绍 DMX 模板。 有关如何使用模板创建数据挖掘查询的示例,请参阅 在 SQL Server Management Studio 中创建 DMX 查询从模板创建单一实例预测查询

打开 Analysis Services 模板

模板资源管理器中提供了数据库引擎查询和 Analysis Services 查询和命令的所有模板。

若要打开 模板资源管理器,请从 “视图 ”菜单中选择它。 接下来,单击立方体图标以查看可用于分析服务的模板列表。

模板资源管理器,已针对 Analysis Services 进行筛选

若要打开模板,请右键单击模板名称并选择“ 打开”,或将该模板拖到已打开的查询窗口中。 打开查询窗口后,可以使用工具栏或查询菜单上的命令来帮助生成语句:

  • 若要检查查询的语法,请单击“ 分析”。

  • 若要运行查询,请单击“ 执行”。

    若要停止正在运行的查询,请单击“ 取消执行查询”。

  • 在屏幕底部的“ 结果 ”选项卡中查看查询结果。

    切换到 “消息 ”选项卡以查看返回的记录数、错误、查询语句以及与执行查询关联的任何其他消息。 例如,如果针对在直接查询模式下运行的模型执行 DAX 语句,则可以看到 xVelocity 内存中分析引擎 (VertiPaq) 生成的 Transact-SQL 语句。

使用模板在表格模型上生成和运行 MDX 查询

此示例演示如何使用表格模型数据库作为数据源在 SQL Server Management Studio 中创建 MDX 查询。 若要在计算机上重复此示例,可以 下载 Adventureworks 表格模型示例项目

警告

不能对已在直接查询模式下部署的表格模型使用 MDX 查询。 不过,你可以通过使用 DAX 表查询和 EVALUATE 命令来发送等效查询。 有关详细信息,请参阅 DAX 查询的参数

从模板创建 MDX 查询

  1. 在 SQL Server Management Studio 中,打开包含要查询的表格模型的实例。 右键单击数据库图标,选择“ 新建查询”,然后选择 “MDX”。

  2. 在模板浏览器中,在 Analysis Services 模板中打开 MDX,然后打开 查询。 将 基本查询 拖到查询窗口。

  3. 使用 元数据资源管理器,将以下字段和度量值拖到查询模板中:

    1. 将 <row_axis, mdx_set>替换为 [Product Category].[产品类别名称]

    2. 将 <column_axis, mdx_set> 替换为 [Date].[日历年份].[日历年份]

    3. 将<from_clause, mdx_name>替换为[Internet Sales]

    4. 将<where_clause,mdx_set>替换为[Measures].[Internet 总销售额]

  4. 可以按原样执行查询,但可能需要进行一些更改,例如添加函数以返回特定成员。 例如,键入 .members[产品类别].[产品类别名称] 后面。 有关详细信息,请参阅 “使用成员表达式”。

从模板创建 XMLA 脚本

模板资源管理器中提供的 XMLA 命令模板可用于创建用于监视和更新 Analysis Services 对象的脚本,无论实例是处于多维和数据挖掘模式还是表格模式。 XMLA 模板包括以下类型的脚本的示例:

  • 备份、还原和同步操作

  • 取消指定的进程或命令

  • 处理对象

  • 浏览架构行集

  • 监视服务器状态,包括作业、连接、事务、内存和性能计数器

从模板创建备份命令脚本

  1. 在 SQL Server Management Studio 中,打开包含要查询的数据库的实例。 右键单击数据库图标,选择“ 新建查询”,然后选择 “XMLA”。

    警告

    不能通过更改限制列表或在连接对话框中指定数据库来设置 XMLA 查询的上下文。 必须从要查询的数据库打开 XMLA 查询窗口。

  2. Backup 模板拖到空查询窗口中。

  3. 双击 <DatabaseID> 元素中的文本。

  4. 在对象资源管理器中,选择要备份的数据库,并将数据库拖放到 DatabaseID 元素的括号之间。

  5. 双击<File>元素中的文本。 键入备份文件的名称,包括 .abf 文件扩展名。 如果不使用默认备份位置,请指定完整文件路径。 有关详细信息,请参阅备份、还原和同步数据库(XMLA)。

使用 XMLA 模板生成架构行集查询

模板资源管理器仅包含一个用于架构行集查询的模板。 若要使用此模板,必须熟悉要使用的单个架构行集的要求,包括任何必需的元素,以及可用作限制的列。 有关详细信息,请参阅 Analysis Services 架构行集

请注意,为了简单起见,许多架构行集也公开为动态管理视图(DMV)。 通过使用相应的 DMV,可以使用 Transact-SQL 等语法查询架构行集。 例如,以下查询返回相同的结果,但一个结果为 XML 格式,一个采用表格格式。 有关动态管理视图 (DMVs) 的详细信息,请参阅 使用动态管理视图(DMVs)监视 Analysis Services

返回作为 DMV 提供的所有架构行集的列表的 DMV:

SELECT * FROM $system.DISCOVER_SCHEMA_ROWSETS

返回可用架构行集列表的 XMLA 命令:

<Discover xmlns="urn:schemas-microsoft-com:xml-analysis">
<RequestType>DISCOVER_SCHEMA_ROWSETS</RequestType>
    <Restrictions>
<RestrictionList>
</RestrictionList>
</Restrictions>
    <Properties>
<PropertyList>
   </PropertyList>
</Properties>
</Discover>

使用架构行集查询获取表格模型的数据源列表

  1. 在 SQL Server Management Studio 中,打开包含要查询的数据库的实例。 右键单击数据库图标,选择“ 新建查询”,然后选择 “XMLA”。

    警告

    不能通过更改限制列表或在连接对话框中指定数据库来设置 XMLA 查询的上下文。 必须从要查询的数据库打开 XMLA 查询窗口。

  2. 打开 模板资源管理器,然后将模板 “发现架构行集”拖动到空白查询窗口中。

  3. 在模板中,将 RequestType 元素 (XMLA) 元素 替换为以下文本: <RequestType>MDSCHEMA_INPUT_DATASOURCES</RequestType>

  4. 单击执行

    预期的结果:

    <CATALOG_NAME>AW Internet Sales Tabular Model_ 24715b71-ea74-4828-aefc-d4c12c15db64</CATALOG_NAME> 
    <DATASOURCE_NAME>SqlServer localhost AdventureWorksDW2012</DATASOURCE_NAME> 
    <DATASOURCE_TYPE>Relational</DATASOURCE_TYPE> 
    <CREATED_ON>2011-10-12T20:27:05.196667</CREATED_ON> 
    <LAST_SCHEMA_UPDATE>2011-10-12T20:27:05.196667</LAST_SCHEMA_UPDATE> 
    <DESCRIPTION /> 
    <TIMEOUT>0</TIMEOUT> 
    <DBMS_NAME>Microsoft SQL Server</DBMS_NAME> 
    <DBMS_VERSION>11.00.1724</DBMS_VERSION>
    
    

Analysis Services 模板参考

提供了以下模板,用于处理 Analysis Services 数据库及其内部的对象,包括挖掘结构、挖掘模型、多维数据集和表格模型:

类别 项目模板 DESCRIPTION
DMX\Model 内容 内容查询 演示如何使用 DMX SELECT FROM <模型>.CONTENT 语句来检索指定挖掘模型的架构行集内容。
连续列值 演示如何将 DMX SELECT DISTINCT FROM <模型> 语句与 DMX RangeMinRangeMax 函数一起使用,以从指定挖掘模型中的连续列检索指定范围内的一组值。
离散列值 演示如何使用 DMX SELECT DISTINCT FROM <模型> 语句从指定挖掘模型中的离散列检索一组完整的值。
钻取查询 演示如何将 DMX SELECT * FROM Model.CASES 语句与 DMX IsInNode 函数配合使用来执行钻取查询
模型属性 演示如何使用 DMX System.GetModelAttributes 函数返回模型使用的属性列表。
PMML 内容 演示如何使用 DMX SELECT * FROM <模型>.PMML 语句,来检索支持此功能的算法的挖掘模型的预测模型标记语言 (PMML) 表示形式。
DMX\Model Management 添加模型 演示如何使用 DMX ALTER MINING MODEL STRUCTURE 语句来添加一个挖掘模型
清除模型 演示如何使用 DMX DELETE * FROM MINING MODEL 语句删除指定挖掘模型的内容。
明确结构案例 演示如何使用 DMX DELETE FROM MINING STRUCTURE 语句来清除挖掘模型结构实例。
清晰结构 演示如何使用 DMX DELETE FROM MINING STRUCTURE 语句清除挖掘模型结构
从 PMML 创建 演示如何使用 DMX CREATE MINING MODEL 语句和 FROM PMML 子句从 PMML 表示形式创建挖掘模型。
创建嵌套结构 演示如何将 DMX CREATE MINING STRUCTURE 语句与嵌套列定义列表一起使用,以创建包含嵌套列的挖掘模型。
创建结构 演示如何使用 DMX CREATE MINING STRUCTURE 语句创建挖掘模型。
掉落模型 演示如何使用 DMX DROP MINING MODEL 语句删除现有挖掘模型。
悬置结构 演示如何使用 DMX DROP MINING STRUCTURE 语句删除现有挖掘结构。
导出模型 演示如何使用 WITH DEPENDENCIES 和 PASSWORD 子句使用 DMX EXPORT MINING MODEL 语句将挖掘模型(包括挖掘模型所依赖的数据源和数据源视图)导出到文件。
导出结构 演示如何使用 WITH DEPENDENCIES 子句使用 DMX EXPORT MINING STRUCTURE 语句将挖掘结构(包括挖掘结构包含的所有挖掘模型以及挖掘结构所依赖的数据源和数据源视图)导出到文件中。
进口 演示如何使用带有 WITH PASSWORD 子句的 DMX IMPORT FROM 语句来执行导入。
重命名模型 演示如何使用 DMX RENAME MINING MODEL 语句重命名现有挖掘模型。
重命名结构 演示如何使用 DMX RENAME MINING STRUCTRE 语句重命名现有挖掘结构。
训练模型 演示如何使用 DMX INSERT INTO MINING MODEL 语句在以前训练的结构中训练挖掘模型。
训练嵌套结构 演示如何将 DMX INSERT INTO MINING STRUCTURE 语句与 SHAPE 源数据查询组合在一起,以训练包含嵌套列的挖掘模型,以及包含使用查询从现有数据源检索的嵌套表的数据。
训练结构 演示如何将 DMX INSERT INTO MINING STRUCTURE 语句与 OPENQUERY 源数据查询相结合来训练挖掘结构。
DMX\预测查询 基本预测 演示如何将 DMX SELECT FROM <模型> PREDICTION JOIN 语句与 OPENQUERY 源数据查询相结合,以使用从现有数据源中检索到的数据对挖掘模型执行预测查询。
嵌套预测 演示如何将 DMX SELECT FROM <模型> PREDICTION JOIN 语句与 SHAPE 和 OPENQUERY 源数据查询相结合,以使用包含嵌套表(使用查询从现有数据源检索)的数据对挖掘模型执行预测查询。
嵌套单例预测 演示如何使用 DMX SELECT FROM <模型> NATURAL PREDICTION JOIN 子句对挖掘模型执行预测查询,该查询使用在预测查询中显式指定的单个值,该列的名称与挖掘模型中的列匹配,该列包含使用 UNION 语句创建的嵌套表中的一组值,该语句的名称也与挖掘模型中的嵌套列匹配。
单例预测 演示如何使用 DMX SELECT FROM <模型> NATURAL PREDICTION JOIN 语句对挖掘模型执行预测查询,该查询使用在预测查询中显式指定的单个值,该列的名称与挖掘模型中的列匹配。
存储过程调用 演示如何使用 DMX CALL 语句调用存储过程
MDX\表达式 移动 Average-Fixed 演示如何使用具有自然排序集的 MDX ParallelPeriodCurrentMember 函数来创建计算度量值,该度量值在时间维度中的层次结构所包含的固定时间段内提供度量值的移动平均值。
移动 Average-Variable 演示如何使用函数中的 Avg MDX CASE 语句创建一个计算度量值,该度量值在时间维度中层次结构所包含的可变时间段内提供度量值的移动平均值。
累计期间 演示,如何在计算成员中使用 MDX PeriodsToDate 函数。
与父比率 演示如何使用 MDX Parent 函数来创建一个计算度量值,这个度量值表示指定层次结构中父成员每个子成员的度量值的比率百分比。
与总计的比率 演示如何使用“所有”成员创建一个计算度量值,该度量值代表指定层次结构中每个成员的度量值的比率百分比。
MDX\Queries 基本查询 演示一个基本的 MDX SELECT 语句,可以从该语句构造 MDX 查询。
KPI 查询 演示如何使用 MDX KPIValueKPIGoal 函数在 MDX 查询中检索关键绩效指标(KPI)信息。
子选择查询 演示如何创建 MDX SELECT 语句,该语句从另一个 SELECT 语句定义的子多维数据集中检索信息。
使用计算成员 演示如何使用 SELECT 语句中的 MDX WITH 子句为 MDX 查询定义计算成员。
具有命名集 演示如何使用 SELECT 语句中的 MDX WITH 子句定义为 MDX 查询命名的名称。
XMLA\管理 备份 演示如何使用 XMLA Backup 命令将 Analysis Services 数据库备份到文件。
取消 演示如何使用 XMLA Cancel 命令取消当前会话中的所有正在运行的操作(适用于管理员或服务器管理员以外的用户)、数据库中的操作(适用于管理员)或实例中的操作(适用于服务器管理员)。
创建远程分区数据库 演示如何将 XMLA Create 命令与 Analysis Services 脚本语言 (ASSL) 数据库元素配合使用,以创建用于存储远程分区的 Analysis Services 数据库和数据源。
删除 演示如何使用 XMLA Delete 命令删除现有的 Analysis Services 数据库。
进程维度 演示如何使用 XMLA Batch 命令与 Parallel 元素和 Process 命令结合使用,以使用并行批处理作更新维度的属性。
进程分区 演示如何使用 XMLA Batch 命令(结合 Parallel 元素和 Process 命令)使用并行批处理作完全处理分区。
还原 演示如何使用 XMLA Restore 命令从现有备份文件还原 Analysis Services 数据库。
同步 演示如何使用 XMLA Synchronize 命令,通过 SynchronizeSecurity 标签的 SkipMembership 选项,将另一个 Analysis Services 数据库与当前的 Analysis Services 数据库进行同步。
XMLA\架构行集 发现架构行集 演示如何使用 XMLA Discover 方法检索DISCOVER_SCHEMA_ROWSETS架构行集的内容。
XMLA\服务器状态 连接 演示如何使用 XMLA Discover 方法检索DISCOVER_CONNECTIONS架构行集的内容。
职位 演示如何使用 XMLA Discover 方法检索DISCOVER_JOBS架构行集的内容。
地点 演示如何使用 XMLA Discover 方法检索DISCOVER_LOCATIONS架构行集的内容,并指定位置备份文件的路径。
演示如何使用 XMLA Discover 方法检索DISCOVER_LOCKS架构行集的内容。
内存分配 演示如何使用 XMLA Discover 方法检索DISCOVER_MEMORYGRANT架构行集的内容。
性能计数器 演示如何使用 XMLA Discover 方法检索DISCOVER_PERFORMANCE_COUNTERS架构行集的内容。
会议 演示如何使用 XMLA Discover 方法检索DISCOVER_SESSIONS架构行集的内容。
跟踪 演示如何使用 XMLA Discover 方法检索DISCOVER_TRACES架构行集的内容。
交易 演示如何使用 XMLA Discover 方法检索DISCOVER_TRANSACTIONS架构行集的内容。

另请参阅

多维表达式 (MDX) 参考数据挖掘扩展 (DMX) 参考Analysis Services 脚本语言 (ASSL) 参考Analysis Services 脚本语言 (ASSL) 参考