表格模型数据访问

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 语义模型连接文件。 有关 BI 语义模型连接的详细信息,请参阅 PowerPivot BI 语义模型连接 (.bism)

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

Power View 客户端发送到模型的查询将作为 DAX 语句发出,可以通过在模型上设置跟踪来监视这些语句。 客户端还向服务器发出了有关初始架构定义的请求,该定义将根据概念性架构定义语言 (CSDL) 呈现。 有关详细信息,请参阅 适用于商业智能的 CSDL 注释 (CSDLBI)

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 查询语法参考] (/dax/dax-syntax-reference

MDX

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

CSDL

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

有关如何在表格模型中使用 CSDL 的信息,请参阅 适用于商业智能的 CSDL 注释 (CSDLBI)

编程接口

用于与 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 为表格对象编写脚本的示例,请参阅下列资源:

  • Codeplex 上的表格模型 AMO 示例

  • CodePlex 上的 AdventureWorks 示例

可以使用 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