关于 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 筛选器使用自定义控件。自定义筛选器控件可以使用 ParameterizableControl 或 ParameterSelectionControl 基类。建议使用 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 包含 BIMonitoringServiceApplicationProxy 和 SPDataStore 对象,它使用 SharePoint 列表安全并提供内置缓存等功能。有关详细信息,请参阅用于自定义 PerformancePoint Services 对象的编辑器中的"与存储库对象进行交互"一节。 备注 若要使客户端应用程序能够访问 PerformancePoint Services,您可以创建一个在服务器上运行的自定义 Web 服务。该 Web 服务可以接收来自客户端应用程序的调用并对 PerformancePoint Services API 进行调用。 |
我如何自定义仪表板的外观? |
除使用仪表板设计器用户界面中的自定义功能外,您还可以使用以下方法之一自定义仪表板的外观:
|
为什么我看不到在 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