表格模型数据访问

Analysis Services 中的表格模型数据库可由用于检索多维模型中的数据或元数据的大多数相同的客户端、接口和语言访问。 有关详细信息,请参阅 多维模型数据访问(Analysis Services - 多维数据)

本主题介绍适用于表格模型的客户端、查询语言和编程接口。

客户端

以下 Microsoft 客户端应用程序支持本机连接到 Analysis Services 表格模型数据库。

Excel

您可以从 Excel 连接表格模型数据库,使用 Excel 中的数据可视化和分析功能来处理数据。 若要访问数据,您需要定义 Analysis Services 数据连接,指定以表格服务器模式运行的服务器,然后选择要使用的数据库。 有关详细信息,请参阅连接到 SQL Server Analysis Services 或从其中导入数据

Excel 也是推荐用于在 SQL Server Data Tools (SSDT) 中浏览表格模型的应用程序。 该工具包括一个**“在 Excel 中分析”**选项,可用来启动新的 Excel 实例,创建 Excel 工作簿并打开从该工作簿到模型工作区数据库的数据连接。 在 Excel 中浏览表格模型数据时,要注意 Excel 使用 Excel PivotTable 客户端对该模型发出查询。 相应地,Excel 工作簿中的操作会生成将发送到工作区数据库的 MDX 查询而非 DAX 查询。 如果您在使用 SQL Profiler 或其他监视工具来监视查询,则应能在事件探查器跟踪中看到 MDX 而不是 DAX。 有关“在 Excel 中分析”功能的详细信息,请参阅在 Excel 中分析(SSAS 表格)

Power View

Power View 是一个在 SharePoint 2010 环境中运行的 Reporting Services 报表客户端应用程序。 它将数据浏览、查询设计和演示布局融合为集成的特别报表体验。 Power View 可以将表格模型用作数据源,无论该模型是承载于在表格模式下运行的 Analysis Services 实例中,还是使用 DirectQuery 模式从关系数据存储区中检索到的。 若要在 Power View 中连接到表格模型,您必须创建包含服务器位置和数据库名称的连接文件。 您可以在 SharePoint 中创建 Reporting Services 共享数据源或 BI 语义模型连接文件。 有关 Power View 的详细信息,请参阅 Power View (SSRS)。 有关 BI 语义模型连接的详细信息,请参阅 PowerPivot BI 语义模型连接 (.bism)

Power View 客户端通过向指定的数据源发送请求来确定指定模型的结构,这将返回一个架构,客户端可使用此架构来创建针对作为数据源的模型的查询并执行基于数据的操作。 Power View 用户界面中用于筛选数据、执行计算或聚合以及显示关联数据的后续操作由客户端控制且不能以编程方式来执行这些操作。

Power View 客户端向模型发送的查询会作为 DAX 语句发出,您可以在模型上设置跟踪来进行监视。 客户端还向服务器发出了有关初始架构定义的请求,该定义将根据概念性架构定义语言 (CSDL) 呈现。 有关详细信息,请参阅用于表格模型的 CSDL 扩展插件简介

SQL Server Management Studio

可以使用 SQL Server Management Studio 管理承载表格模型的实例并查询这些实例中的元数据和数据。 可以处理模型或模型中的对象、创建和管理分区以及设置用于管理数据访问的安全性。 有关详细信息,请参阅下列主题:

可以在 SQL Server Management Studio 中同时使用 MDX 查询窗口和 XMLA 查询窗口来从表格模型数据库检索数据和元数据。 但是,请注意下列限制:

  • 已在 DirectQuery 模式下部署的模型不支持使用 MDX 和 DMX 的语句;因此,如果您需要创建针对 DirectQuery 模式下的表格模型的查询,则应改用**“XMLA 查询”**窗口。

  • 打开**“查询”窗口后,无法更改 XMLA 查询窗口的数据库上下文。 因此,如果您需要向其他数据库或其他实例发送查询,则必须使用 SQL Server Management Studio 打开该数据库或实例,并在该上下文中打开新的“XMLA 查询”**窗口。

可以创建针对 Analysis Services 表格模型的跟踪,就像对多维解决方案执行此操作一样。 在此版本中,Analysis Services 提供了许多新事件,可用于跟踪内存使用率、查询和处理操作以及文件使用率。 有关详细信息,请参阅Analysis Services 跟踪事件

注意事项注意

如果对表格模型数据库进行跟踪,则可能会显示一些归类为 DMX 查询的事件。 但是,表格模型数据不支持数据挖掘,并且数据库上执行的 DMX 查询仅适用于模型元数据的 SELECT 语句。 这些事件仅归类为 DMX,因为 MDX 使用的是相同的分析器框架。

查询语言

Analysis Services 表格模型支持为访问多维模型而提供的大多数相同的查询语言。 已在 DirectQuery 模式下部署的表格模型属于例外情况,该模型不从 Analysis Services 数据存储检索数据,而是直接从 SQL Server 数据源检索数据。 无法使用 MDX 查询这些模型,但必须使用支持从 DAX 表达式到 Transact-SQL 语句的转换的客户端,如 Power View 客户端。

DAX

可以使用 DAX 在所有类型的表格模型中创建表达式和公式,无论该模型是作为已启用 PowerPivot 的 Excel 工作簿存储在 SharePoint 中,还是存储在 Analysis Services 实例中。

此外,您可以在 XMLA EXECUTE 命令语句的上下文中使用 DAX 表达式来向已在 DirectQuery 模式下部署的表格模型发送查询。

有关使用 DAX 的表格模型查询的示例,请参阅 DAX 查询语法参考

MDX

可以使用 MDX 创建针对将内存中缓存用作首选查询方法的表格模型(即,尚未在 DirectQuery 模式下部署的模型)的查询。 虽然 Power View 等客户端会使用 DAX 来创建聚合并将模型作为数据源进行查询,但如果您熟悉 MDX,则可在 MDX 中快速创建示例查询,请参阅在 MDX 中生成度量值

CSDL

虽然概念性架构定义语言本身并不是查询语言,但可使用它检索有关模型和模型元数据的信息,然后可使用这些信息来创建报告或创建针对模型的查询。

有关如何在表格模型中使用 CSDL 的信息,请参阅用于表格模型的 CSDL 扩展插件简介

编程接口

用于与 Analysis Services 表格模型进行交互的主要接口为架构行集、XMLA 以及由 SQL Server Management Studio 和 SQL Server Data Tools 提供的查询客户端和查询工具。

数据和元数据

可以使用 ADOMD.NET 从托管应用程序中的表格模型检索数据和元数据。 有关创建和修改表格模型中的对象的应用程序示例,请参阅下列资源:

可以在非托管客户端应用程序中使用 Analysis Services 9.0 OLE DB 访问接口以支持对表格模型的 OLE DB 访问。 启用表格模型访问需要更新版本的 Analysis Services OLE DB 访问接口。 有关与表格模型一起使用的访问接口的详细信息,请参阅 在 SharePoint 服务器上安装 Analysis Services OLE DB 访问接口

还可以直接从 Analysis Services 实例以基于 XML 的格式检索数据。 可以使用 DISCOVER_CSDL_METADATA 行集来检索表格模型的架构,也可以将 EXECUTE 或 DISCOVER 命令与现有 ASSL 元素、对象或属性一起使用。 有关详细信息,请参阅下列资源:

操作 Analysis Services 对象

可以使用 XMLA 命令或使用 AMO 来创建、修改、删除和处理表格模型及其对象(包括表、列、透视、度量值和分区)。 已同时更新 AMO 和 XMLA 以支持表格模型中用于增强报告和建模的其他属性。

有关如何使用 AMO 和 XMLA 为表格对象编写脚本的示例,请参阅下列资源:

可以使用 PowerShell 管理和监视 Analysis Services 实例以及创建和监视用于表格模型访问的安全性。 有关详细信息,请参阅 Analysis Services PowerShell

架构行集

客户端应用程序可使用架构行集来检查表格模型的元数据并从 Analysis Services 服务器中检索支持和监视信息。 此版本的 SQL Server 中不仅添加了新的架构行集,并且现有架构行集得到了扩展以支持与表格模型相关的功能并增强 Analysis Services 中的监视与性能分析。

此版本中不包含针对 OLE DB for Data Mining 架构行集的更新。

注意事项注意

您无法在已在 DirectQuery 模式下部署的数据库中使用 MDX 或 DMX 查询;因此,如果您需要对使用架构行集的 DirectQuery 模型执行查询,则您应使用 XMLA 而非关联的 DMV。 对于将服务器的结果作为一个整体返回的 DMV(例如,SELECT * from $system.DBSCHEMA_CATALOGS 或 DISCOVER_TRACES),您可以对在缓存模式下部署的数据库内容执行查询。

请参阅

概念

连接到表格模型数据库 (SSAS)

PowerPivot 数据访问

连接到 Analysis Services