规划 PowerPivot 与 Excel Services 的集成

通过 PowerPivot for Excel 和 PowerPivot for SharePoint,SQL Server 2008 R2 引入了与 Excel 客户端和服务器产品配对的客户端和服务器组件,并添加了在 Excel 工作簿中聚合大规模异构数据然后在 SharePoint 2010 场中共享这些工作簿的新功能。

在 SharePoint 场中,PowerPivot 服务器组件和 Excel Services 对包含 PowerPivot 数据的已发布 Excel 工作簿执行查询处理和呈现。Excel Services 是在 SharePoint 上发布的 PowerPivot 工作簿的呈现引擎。

注意注意

尽管 Excel Services 使您能够在浏览器窗口中编辑服务器上的文档,但您不能使用联机编辑功能编辑 PowerPivot 工作簿。PowerPivot 不支持与在应用程序服务器的内存中加载的数据建立读写连接。若要编辑数据,必须将文件下载到本地计算机,并在安装了 PowerPivot for Excel 外接程序的 Excel 2010 应用程序中打开工作簿。

本主题说明服务器系统如何协同工作、如何建立连接以及支持无缝交互的配置设置。

本主题包含以下各节:

服务器依赖关系

数据请求以及 Excel Services 和 PowerPivot 处理

场中的服务器连接

服务器配置设置

服务器依赖关系

如果场拓扑中的应用程序服务器具有 Excel Services,但在同一台计算机上未安装 PowerPivot for SharePoint,必须更新场拓扑才能使用较新版本的 Analysis Services 客户端库。有关详细信息,请参阅如何在 Excel Services 计算机上安装 Analysis Services OLE DB 访问接口

数据请求以及 Excel Services 和 PowerPivot 处理

在查看 SharePoint 库中的 PowerPivot 工作簿时,分别由场内的 Analysis Services 服务器实例来检测、提取和处理该工作簿内的 PowerPivot 数据,同时由 Excel Services 在浏览器窗口中呈现表示层。在浏览器窗口或安装了 PowerPivot for Excel 外接程序的 Excel 2010 桌面应用程序中,您可以查看经过完全处理的工作簿。

下图概括说明了场中的查询请求处理流程。由于 PowerPivot 数据是 Excel 2010 工作簿的一部分,因此当用户打开 SharePoint 库中的一个 Excel 工作簿并与包含 PowerPivot 数据的数据透视表或数据透视图进行交互时,就会产生查询处理请求。

数据处理要求关系图

Excel Services 和 PowerPivot for SharePoint 组件处理同一个工作簿 (.xlsx) 文件的不同部分。Excel Services 检测 PowerPivot 数据,并向场中的 PowerPivot 服务器发出处理请求。PowerPivot 服务器将该请求分配给 Analysis Services 服务实例,该实例从内容库中检索工作簿并将其保存到磁盘。Analysis Services 服务从工作簿提取 PowerPivot 数据并将数据加载到内存中。存储在内存中的数据合并回呈现的工作簿中,并传递回 Excel Web Access,以便在浏览器窗口中显示。

并非 PowerPivot 工作簿中的所有数据或对象都由 PowerPivot for SharePoint 处理。Excel Services 处理工作表中的表格和单元格数据。只有与 PowerPivot 数据对应的数据透视表、数据透视图和切片器才由 PowerPivot 服务处理。

场中的服务器连接

与 PowerPivot 数据的连接来自使用 Analysis Services 客户端库查询 PowerPivot 数据的客户端或服务器应用程序。客户端库(ADOMD.NET、AMO 或 Analysis Services OLE DB 访问接口)决定了 PowerPivot 工作簿是驻留在场内还是驻留在场外。根据工作簿 URL 是在场内还是在场外,客户端库路由请求的方式有所不同。

  • 针对场内的请求跳过 PowerPivot Web 服务直接发送到 PowerPivot 服务应用程序。此类请求的最常见示例是针对 Excel 工作簿中嵌入的 PowerPivot 数据。在此场景中,Excel Calculation Services 使用 Analysis Services OLE DB 访问接口查找场中的 PowerPivot 服务应用程序。与 PowerPivot 服务应用程序的直接连接并不仅限于 Excel Calculation Services。如果查询数据的报表或面板在同一场中运行,则 Reporting Services 报表或 PerformancePoint 面板等其他应用程序也会与 PowerPivot 服务应用程序建立直接连接。

  • 针对场外的请求通常来自仅查询 PowerPivot 数据的客户端或服务器应用程序。此类请求的最常见示例是将 PowerPivot 工作簿用作报表生成器中的外部数据源,或用作另一个 Excel 工作簿的数据源。在此场景中,外部连接仅检索 Excel 工作簿中的 PowerPivot 数据,而忽略也在同一工作簿中的任何数据可视化和交互对象。

    外部连接发送到源场中的 PowerPivot Web 服务。PowerPivot Web 服务查找 PowerPivot 服务应用程序并与其建立连接,后者又将查询转发给负责加载和返回数据的 Analysis Services 实例。有关此服务的详细信息,请参阅 PowerPivot Web 服务 (PowerPivot for SharePoint)

    注意注意

    在 Excel 中打开 PowerPivot 工作簿(例如,通过在“文件打开”对话框中输入工作簿的 SharePoint URL)不涉及 PowerPivot for SharePoint 服务器组件。在 Excel 2010 中打开服务器文档会将文件从 SharePoint 下载到客户端工作站。在此场景中,Excel 桌面应用程序和 PowerPivot for Excel 外接程序通过 Analysis Services VertiPaq 引擎的进程内版本,在本地加载并呈现数据。

下图显示了请求可能流经的不同路线,具体取决于请求是来自场内的 Excel Services,还是来自报表生成器或 Excel 等在场外运行的客户端工具。针对场内的请求与服务应用程序之间使用 WCF 连接。针对场外的请求使用由 PowerPivot Web 服务接收的 HTTP 连接。

组件连接与传输

与 PowerPivot 数据的连接由 Analysis Services OLE DB 访问接口具体表示。使用 PowerPivot 数据的服务和应用程序必须使用一个或多个 SQL Server 2008 R2 版本的 Analysis Services 客户端库。这些库随 PowerPivot for SharePoint 或随 PowerPivot for Excel 一起安装。由于这些库可再发行,您还可以从此 Microsoft 网站上的 SQL Server 2008 R2 功能包网页下载并安装它们。

服务器配置设置

如果您调整某些 Excel Services 配置设置,则 PowerPivot for SharePoint 与 Excel Services 之间的集成将获得最佳效果。

在受信任的位置中,确保 Excel Services 配置为使用下列属性值:

  • **“最大工作簿大小”**设置为 50 MB 或更高(如果您的工作簿超过此大小)

  • **“图表或图像最大大小”**设置为 10 MB 或更高。

  • **“允许外部数据”**设置为“受信任的数据连接库和嵌入连接”,以允许使用已发布的连接信息和工作簿文件中嵌入的连接字符串来处理数据连接。

  • **“数据刷新时警告”**处于关闭状态,以允许使用 PowerPivot 库中的缩略图。如果需要,您可以打开此功能,但务必将 PowerPivot 库添加到受信任的位置。有关详细信息,请参阅为 PowerPivot 站点创建受信任位置

有关如何在 SharePoint 管理中心或通过 PowerShell 脚本指定这些设置的详细信息,请参阅在现有 SharePoint 服务器上安装 PowerPivot for SharePointPowerShell 配置脚本 (PowerPivot for SharePoint)