关于 PerformancePoint Services 的疑难解答和常见问题

上次修改时间: 2015年3月9日

适用范围: SharePoint Server 2010

常见问题

疑难解答提示

常见问题

下表包含适用于 PerformancePoint Services 开发的常见问题。

表 1. PerformancePoint Services 开发的常见问题

问题

解答

我可以从哪里下载 PerformancePoint Services 示例?

示例是一个 Microsoft Visual Studio 项目,可以从 MSDN 代码库下载:PerformancePoint Services SDK 参考示例(该链接可能指向英文页面)

PerformancePoint Services 程序集安装在什么位置?

PerformancePoint Services 程序集只安装到全局程序集缓存中。有关将它们复制到您计算上其他位置的说明,请参阅 开发方案中使用的 PerformancePoint Services DLL

PerformancePoint Services 开发需要哪些权限?

若要开发 PerformancePoint Services 扩展,您的用户帐户必须具有对 PerformancePoint Services 存储库的读取和写入权限。另外,它必须能够发布仪表板以用于测试目的。这些权限在管理中心网站上定义。

在使用 PerformancePoint Services 程序集时,您必须在应用程序服务器上拥有管理权限,以便复制安装的程序集以及将程序集添加到全局程序集缓存。另外,您必须拥有写入权限才能编辑应用程序服务器上的 PerformancePoint Services web.config 文件,以及根据您的扩展的部署将文件复制到应用程序服务器或前端 Web 服务器上的文件夹中。

PerformancePoint Services 使用无人参与服务器帐户与后端数据库通信。无人参与服务帐户也是数据源模拟的默认帐户,但可以从管理中心网站更改此设置。您也可以指定使用每用户凭据连接到数据源。

有关详细信息,请参阅 Microsoft TechNet 上的为 PerformancePoint Services 配置无人参与服务帐户PerformancePoint Services 中的授权和权限 (SharePoint Server 2010)

PerformancePoint Services 存储库在什么位置?

第一类对象 (FCO) 作为内容类型存储在 PerformancePoint Services 存储库中,该存储库由 SharePoint 文档库和列表组成。数据源存储在文档库中,所有其他 FCO(仪表板、记分卡、报表、筛选器、KPI 和指示器)存储在列表中。默认存储库由 PerformancePoint 数据连接库和 PerformancePoint 内容列表组成。尽管您可以使用 SharePoint API 访问 FCO 定义,但应仅使用 PerformancePoint Services API 修改它们

备注

存储在存储库中的仪表板 FCO 表示仪表板页定义。已发布的仪表板存储在不同的仪表板文档库中。

PerformancePoint Services 在哪里记录事件?

PerformancePoint Services 为运行 PerformancePoint Services 的应用程序服务器上的大部分错误记录条目。在单个场配置中,这也是前端 Web 服务器。

我可以创建哪些类型的自定义数据源?

只支持自定义表格式数据源。

备注

本机表格式数据源的大小限制建议也适用于自定义表格式数据源。为了获得最佳性能结果,表格式数据源不应包含多于 20,000 行和十列数据。

我可以为筛选器使用自定义 Web 服务器控件吗?

您可以为自定义筛选器使用自定义或第三方控件,不过无法为本机 PerformancePoint Services 筛选器使用自定义控件。自定义筛选器控件可以使用 ParameterizableControlParameterSelectionControl 基类。建议使用 ParameterSelectionControl,因为它派生自 ParameterizableControl,同时还提供用于实现选择控件的框架。有关创建自定义控件的说明不在本文档的讨论范围内,不过该过程与创建报表呈现器类似。

筛选器类型的默认控件由 PerformancePoint Services web.config 文件中的 RendererClass 属性指定,但此值可以由 Filter.RendererClassName 属性重写。有关在 web.config 文件中指定呈现器类的详细信息,请参阅如何:手动注册 PerformancePoint Services 扩展

我如何定义自定义筛选器的默认选择?

可用于筛选器控件的数据是从模拟运算表中检索的。该表包含一个 IsDefault 列,可以使用它指示默认选择。

PerformancePoint Services 扩展可以打包和部署为解决方案吗?

您可以将 PerformancePoint Services 扩展的组件打包为解决方案并部署到整个场中。不过,必须以手动方式或者使用脚本或自定义计时器作业在 PerformancePoint Services web.config 文件中为场中的每个 PerformancePoint Services 实例注册扩展。有关手动注册 PerformancePoint Services 扩展的信息,请参阅如何:手动注册 PerformancePoint Services 扩展

我可以迁移为 PerformancePoint Monitoring Server 创建的自定义扩展吗?

不支持将自定义的 PerformancePoint Monitoring Server 扩展迁移到 PerformancePoint Services,这是由 Microsoft SharePoint Server 2010 中的 PerformancePoint Services 中的重大体系结构更改导致的。您可以重新使用代码的程度取决于扩展。例如,数据源扩展的向导组件无法重新使用,因为仪表板设计器无法在 PerformancePoint Services 中进行扩展,不过您可以重新使用数据源提供程序中的某些代码。请将有关迁移扩展的问题发布到 SharePoint 2010 论坛(该链接可能指向英文页面)Microsoft PerformancePoint Services 官方产品团队博客(该链接可能指向英文页面)

我可以使用 PerformancePoint Web 服务远程创建或呈现仪表板内容吗?

使用 PerformancePoint Web 服务不是正式支持的方案,不在本文档的讨论范围内。支持的扩展在 PerformancePoint Services 应用程序实例内的服务器上运行,并且使用 PerformancePoint Services API 执行创作和呈现任务。此 API 包含 BIMonitoringServiceApplicationProxySPDataStore 对象,它使用 SharePoint 列表安全并提供内置缓存等功能。有关详细信息,请参阅用于自定义 PerformancePoint Services 对象的编辑器中的"与存储库对象进行交互"一节。

备注

若要使客户端应用程序能够访问 PerformancePoint Services,您可以创建一个在服务器上运行的自定义 Web 服务。该 Web 服务可以接收来自客户端应用程序的调用并对 PerformancePoint Services API 进行调用。

我如何自定义仪表板的外观?

除使用仪表板设计器用户界面中的自定义功能外,您还可以使用以下方法之一自定义仪表板的外观:

  • 创建自定义 SharePoint Foundation 网站模板或母版页。

  • 修改级联样式表 (CSS) 文件。应用程序服务器上 PerformancePoint Services CSS 文件的默认路径是 %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS\PPSWebParts。

  • 创建自定义记分卡转换

为什么我看不到在 PerformancePoint 仪表板设计器中对自定义对象所做的更改?

必须刷新您的仪表板设计器会话才能看到最新的更改。若要刷新您的会话,请单击"主页"选项卡上的"刷新"或按 F5 键。

我可以自定义筛选器 Web 部件的大小吗?

尽管您可以(以编程方式或通过 UI)控制报表或记分卡 Web 部件的大小,但筛选器 Web 部件的大小是自动设置的且无法更改。

我可以查询后端数据库以直接执行 Create、Read、Update 和 Delete (CRUD) 任务吗?

像 SharePoint 文档库和列表中的所有内容一样,PerformancePoint Services 内容存储在 Microsoft SQL Server 数据库中。不过,不建议直接查询数据库,也不支持这样做。请使用 PerformancePoint Services API。有关详细信息,请参阅用于自定义 PerformancePoint Services 对象的编辑器中的"与存储库对象进行交互"一节。

我可以使用 Microsoft SharePoint Foundation 中的 Lists Web 服务执行 CRUD 任务吗?

只能通过 PerformancePoint Services API 针对 PerformancePoint Services 存储库执行 CRUD 操作。有关详细信息,请参阅用于自定义 PerformancePoint Services 对象的编辑器中的"与存储库对象进行交互"一节。

疑难解答提示

使用以下信息可帮助您解答自定义扩展中的疑难问题。

定义自定义对象的 SubTypeId 属性

在创建自定义报表、筛选器或数据源对象时,必须为 SubTypeId 属性定义唯一值。自定义报表无法使用 ReportViewNames 类中定义的任何名称,自定义数据源无法使用 DataSourceNames 类中定义的任何名称。而且,值的长度必须是 1 至 60 个字符,并且不得包含撇号 (')、引号 (") 或反斜线 (\)。

自定义编辑器返回服务器错误

打开自定义编辑器的重定向功能要求您的 SharePoint Server 2010 配置包含顶级(根)网站集。如果您的配置不包含根网站集,则在尝试编辑自定义对象时会收到以下服务器错误:"‘/’应用程序中出现服务器错误。SharePoint Service 上下文未知。"若要解决此问题,请创建一个根网站,然后重新部署扩展。

发布的自定义筛选器返回错误

当仪表板设计器创建自定义筛选器的实例时,它不定义筛选器的 BeginPoints 属性。因此,您的自定义筛选器编辑器必须定义筛选器的 BeginPoints,然后初始化筛选器。否则,您将在发布包含自定义筛选器的仪表板后收到以下错误:"索引超出范围。必须为非负值并小于集合大小。"参数名称:index。有关定义起始点和初始化筛选器的详细信息,请参阅如何:为 PerformancePoint Services 筛选器创建编辑器

自定义记分卡转换中的更改不呈现

如果您使用 PreRender 转换并且预期的更改不会在记分卡视图中呈现,则该视图可能是从 HTML 缓存呈现的。若要测试是否出现此情况,请对该视图执行排序或筛选。如果显示转换中的更改,则问题来自缓存。有关详细信息,请参阅PerformancePoint Services 记分卡转换概述中的"确定使用哪种转换类型"一节。如果问题不是来自缓存并且您的转换尝试重写格式设置,请验证该转换是否在适当目标上设置适用的属性,如PerformancePoint Services 中的记分卡格式设置中所述。

调试提示

当您调试自定义解决方案时,请使用以下提示:

  • PerformancePoint Services 在应用程序事件日志中为运行 PerformancePoint Services 的应用程序服务器上的大部分错误记录条目。事件的源是 PerformancePoint Service。

  • 在尝试调试服务器时,请确保您连接到运行 PerformancePoint Services 的 w3wp 进程。您可以从命令窗口使用 iisapp 命令,以查看哪个应用程序在活动进程上运行。当客户端启动时,它会接着启动在与前端 Web 服务器进程不同的 w3wp.exe 进程中运行的服务应用程序实例。

请参阅

概念

PerformancePoint Services 入门

其他资源

PerformancePoint Services 的基础

如何实现 - PerformancePoint Services

Microsoft PerformancePoint Services 官方产品团队博客(该链接可能指向英文页面)

SharePoint 2010 论坛(该链接可能指向英文页面)