多维模型数据访问(Analysis Services - 多维数据)

适用于: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

使用本主题中的信息了解如何使用编程方法、脚本或客户端应用程序访问SQL Server Analysis Services多维数据,这些应用程序包含用于连接到网络上SQL Server Analysis Services服务器的内置支持。

本主题包含以下各节:

客户端应用程序

查询语言

编程接口

客户端应用程序

尽管 Analysis Services 提供可供您以编程方式构建或集成多维数据库的接口,但更常用的方法是使用对 Analysis Services 数据提供内置访问支持的 Microsoft 和其他软件供应商现有的客户端应用程序。

以下 Microsoft 应用程序支持本机连接到多维数据。

Excel

Analysis Services 多维数据经常使用数据透视表和数据透视图表控件呈现在 Excel 工作薄中。 数据透视表适用于多维数据,因为模型中的层次结构、聚合和导航构造与数据透视表的数据汇总功能十分吻合。 Excel 安装中包括 Analysis Services OLE DB 数据访问接口,便于更轻松地建立数据连接。 有关详细信息,请参阅 连接到 SQL Server Analysis Services 或从其中导入数据

Reporting Services 报表

您可以使用报表生成器或报表设计器来创建使用 Analysis Services 数据库(其中包含分析数据)的报表。 报表生成器或报表设计器中都提供了 MDX 查询设计器,该设计器可用于键入或设计 MDX 语句,从可用数据源中检索数据。

PerformancePoint 面板

PerformancePoint 面板用于在 SharePoint 中创建记分卡,将业务表现与预定义度量值进行比照。 PerformancePoint 支持与 Analysis Services 多维数据建立数据连接。 有关详细信息,请参阅 创建 Analysis Services 数据连接 (PerformancePoint Services)

SQL Server Data Tools

模型设计器和报表设计器使用 SQL Server Data Tools 生成包括多维模型的解决方案。 在 Analysis Services 实例中部署该解决方案意味着创建您随后要从 Excel、Reporting Services 和其他商业智能客户端应用程序建立连接的数据库。

SQL Server Data Tools 基于 Visual Studio shell 构建,并使用项目来组织和包含模型。 有关详细信息,请参阅使用 SQL Server Data Tools (SSDT) 创建多维模型

SQL Server Management Studio

对于数据库管理员,SQL Server Management Studio 是一个用于管理 SQL Server 实例(包括 Analysis Services 实例和多维数据库实例)的集成环境。 有关详细信息,请参阅 SQL Server Management Studio

查询语言

MDX 是用于从 OLAP 数据库中检索数据的行业标准查询和计算语言。 在 Analysis Services 中,MDX 是用于检索数据的查询语言,但也支持数据定义和数据操作。 MDX 编辑器内置在 SQL Server Management Studio、Reporting Services 和 SQL Server Data Tools 中。 您可以使用 MDX 编辑器创建即席查询或可重复使用的脚本(如果数据操作可重复)。

一些工具和应用程序(如 Excel)在内部使用 MDX 构造查询 Analysis Services 数据源。 您还可以通过将 MDX 语句放入 XMLA Execute 请求,以编程方式使用 MDX。

以下链接提供有关 MDX 的详细信息:

使用 MDX 查询多维数据

MDX 中的重要概念 (Analysis Services)

MDX 查询基础知识 (Analysis Services)

MDX 脚本编写基础知识 (Analysis Services)

编程接口

如果要创建使用多维数据的自定义应用程序,访问数据所用的方法很可能属于以下类别之一:

  • XMLA。 当您需要兼容多种操作系统和协议时,请使用 XMLA。 XMLA 提供了最大的灵活性,但往往会牺牲性能,同时增加编程的难度。

  • 客户端库。 当您要通过在 Microsoft Windows 操作系统上运行的客户端应用程序以编程方式访问数据时,请使用 Analysis Services 客户端库,如 ADOMD.NET、AMO 和 OLE DB。 客户端库使用对象模型和可提高性能的优化功能封装 XMLA。

    ADOMD.NET 和 AMO 客户端库面向用托管代码编写的应用程序。 如果您的应用程序用本机代码编写,请使用 OLE DB for Analysis Services。

下表提供关于将 Analysis Services 连接到自定义应用程序所用的客户端库的更多详细信息和链接。

接口 说明
Analysis Services 管理对象 (AMO) AMO 是在代码中管理 Analysis Services 实例和多维数据库的主要对象模型。 例如,SQL Server Management Studio 使用 AMO 支持服务器和数据库管理。 有关详细信息,请参阅 使用分析管理对象 (AMO) 进行开发
ADOMD.NET ADOMD.NET 是在自定义应用程序中创建和访问多维数据的主要对象模型。 可以在托管客户端应用程序中使用 ADOMD.NET,以使用常见的 Microsoft .NET Framework数据访问接口检索SQL Server Analysis Services信息。 有关详细信息,请参阅 使用 ADOMD.NET 进行开发ADOMD.NET 客户端编程
Analysis Services OLE DB 访问接口 (MSOLAP.dll) 可以使用本机 OLE DB 访问接口以编程方式从非托管 API 访问SQL Server Analysis Services。 有关详细信息,请参阅 Analysis Services OLE DB 访问接口 (Analysis Services - 多维数据)
架构行集 架构行集表是一种数据结构,其中包含关于在服务器上部署的多维模型的描述性信息,以及关于服务器上当前活动的信息。 作为程序员,你可以查询客户端应用程序中的架构行集表,以检查存储在 SQL Server Analysis Services 实例上的元数据,并从中检索支持和监视信息。 可以对以下编程接口使用架构行集:OLE DB、OLE DB for Analysis Services、OLE DB for Data Mining 或 XMLA。

下面的列表说明了使用架构行集的几种方法:

-在 SQL Server Management Studio 或自定义报表中运行 DMV 查询,使用 SQL 语法访问架构行集。 有关详细信息,请参阅 使用动态管理视图 (DMV) 监视 Analysis Services

-编写可调用架构行集的 ADOMD.NET 代码。

-直接对 SQL Server Analysis Services 实例运行 XMLA Discover 方法,以检索架构行集信息。 有关详细信息,请参阅 发现方法 (XMLA)
XMLA XMLA 是可供 Analysis Services 编程人员使用的最低级别的 API,而且是所有 Analysis Services 数据访问方法中最基本的通用访问方法。 XMLA 是业界标准的基于 SOAP 的 XML 协议,它支持通过 HTTP 连接对所有标准多维数据源进行通用数据访问。 它使用 SOAP 来表示针对多维数据的请求和响应。 如果您的应用程序运行在 Windows 之外的平台上,则可以使用 XMLA 访问运行在网络中的 Windows 服务器上的多维数据库。 有关详细信息,请参阅 在 Analysis Services 中使用 XMLA 开发
Analysis Services 脚本语言 (ASSL) ASSL 是一个适用于 XMLA 协议的 Analysis Services 扩展的描述性术语。 XMLA 协议描述了 Execute 和 Discover 方法,ASSL 在此之外还添加了以下功能:

-XMLA 脚本

-XMLA 对象定义

-XMLA 命令

ASSL 扩展支持 Analysis Services 在 XMLA 协议基本设置之外使用 XMLA 构造,添加了数据定义、数据操作和数据控制支持。 有关详细信息,请参阅 使用 Analysis Services 脚本语言 (ASSL) 进行开发

另请参阅

使用 Analysis Services 脚本语言 (ASSL) 开发
在 Analysis Services 中使用 XMLA 开发