PerformancePoint Services 记分卡转换概述

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

在 Microsoft SharePoint Server 2010 中的 PerformancePoint Services 中,转换是可更改记分卡的外观、内容或功能的参数化函数。例如,PerformancePoint Services 在呈现记分卡视图之前,使用转换执行若干操作,如展开命名集、计算汇总以及计算聚合。这些更改在运行时应用,它们不会修改记分卡对象的定义。

适用范围: SharePoint Server 2010

备注

如果转换修改了记分卡中的数据值,这些更改将直接传播到将记分卡用作数据源的战略地图报表中。此外,对记分卡的更改可能会影响 KPI 详细信息报表。

您可以创建能在全局上或基于一组条件应用到记分卡的自定义转换。若要在不修改个别记分卡或样式表的情况下设置默认格式设置选项,全局转换非常有用。条件转换提供既强大又灵活的记分卡内容控制方法。例如,可创建这样一个转换,它在特定的记分卡上运行,以便根据得分或父维度等条件更改记分卡单元格的背景色。

呈现过程

三种转换类型包括 PreQueryPostQueryPreRender

备注

记分卡转换示例包括可实现这些转换类型的转换。有关基于转换示例创建转换的信息,请参阅如何:为 PerformancePoint Services 创建记分卡转换

转换的类型确定呈现过程中需应用转换的点,如以下序列中所示:

  1. 记分卡的已配置视图定义从元数据存储库进行反序列化并传入到系统中。此定义包含有关数据源、关键性能指标 (KPI)、页面筛选器、行和列标题树、格式设置以及记分卡使用的转换的信息。

  2. 应用 PreQuery 转换。

  3. 针对基础数据源构造和运行查询。

  4. 用查询结果创建和填充记分卡单元格。

  5. 应用 PostQuery 转换。

  6. 应用 PreRender 转换。与 PostQuery 转换不同,每次呈现记分卡视图时都会应用 PreRender 转换。

  7. 生成记分卡视图。

备注

从 HTML 缓存呈现记分卡视图时,可能不会显示 PreRender 转换中的更改。有关详细信息,请参阅确定要使用的转换类型。

转换使用 GenerateViewGenerateViewDirect 方法来获取记分卡数据。GenerateView 直接使用存储库中的记分卡定义,但 GenerateViewDirect 允许您传入一个临时定义。

备注

GenerateViewGenerateViewDirect 方法的输出是一个格式正确的对象,可在记分卡或战略地图报表之外的可视化中使用该对象。

有关记分卡视图的运行时对象的详细信息,请参阅PerformancePoint Services 中的计分卡运行时对象的体系结构

确定要使用的转换类型

转换的功能确定要使用的转换类型。第一个确定因素是转换是否需要数据源计算的值。如果需要,则使用 PreQuery 转换。在查询数据源之前应用 PreQuery 转换,以便数据源计算影响查询的更改。例如,如果您使用 PreQuery 转换来添加或替换一个成员,则数据源会计算该成员的值。

如果转换不需要数据源计算值,则第二个确定因素是必须应用转换的频率。PostQuery 和 PreRender 转换根据其频率而有所不同,如下所示:

  • 只在生成 GridViewData 对象(记分卡视图)时才应用 PostQuery 转换。如果希望只在生成 GridViewData 时应用转换,则此转换类型非常有用。

  • 当生成 GridViewData 对象时应用 PreRender 转换,每当呈现记分卡视图时也都会应用这些转换(但是,如果从 HTML 缓存呈现记分卡视图,则可能不会显示相应更改)。

当生成 GridViewData 对象时,运行所有转换类型,但是当 GridViewData 处于缓存状态时,只运行 PreRender 转换。对于 GridViewData 对象,在第一次生成后,或其某个依赖项发生更改(如将 KPI 添加到记分卡中)时,会缓存该对象。由 PreRender 转换导致的可见更改(如添加列)在临时导航操作(如排序、筛选和更改工具栏中的汇总类型)期间始终呈现。但是,如果服务器从 HTML 缓存检索内容来呈现记分卡视图,则除非将可见更改保存到 HTML 缓存中,否则不会呈现这些更改。

备注

此过程呈现的记分卡视图可能不一致。一种解决方法是使用 PreRender 转换将 GridViewData.LastAnnotationUpdatedOn 属性设置为使用当前日期和时间。这样,在呈现记分卡视图时将强制绕过 HTML 缓存。

下表描述了由 PerformancePoint Services 实现的转换类型的示例。使用此信息可帮助您确定要使用的转换类型。

表 1. PreQuery、PostQuery 和 PreRender 转换的本机实现

转换

说明

PreQuery

UpdateDisplayText 转换其 GridHeaderItem.UseLinkedElementDisplayText 属性设置为 true 的记分卡和 KPI 标题的显示文本。
ExpandNamedSets 转换将公式(如 <Member>.Children)转换为要查询的实际成员。

PostQuery

AnnotationTransform 转换检索对每个单元格的批注。

PreRender

ComputeAggregations 转换根据目标 KPI 的子 KPI 的值计算其聚合。
ComputeRollups 转换根据目标 KPI 的子 KPI 的分数计算其汇总值。

请参阅

任务

如何:为 PerformancePoint Services 创建记分卡转换

其他资源

PerformancePoint Services 记分卡

SharePoint Server 2010 中的 PerformancePoint Services 的代码示例