PerformancePoint Services 筛选器

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

在 Microsoft SharePoint Server 2010 中的 PerformancePoint Services 中,筛选器通常作为 Web 服务器控件显示在仪表板页面上。筛选器控件在实现标准 SharePoint 连接接口的 Web 部件中呈现。该控件使用户能够选择参数值,这些参数值随后将发送给已连接的记分卡和报表。

本文内容
PerformancePoint Services 中的筛选过程
筛选器数据
筛选器连接
筛选器选择控件

适用范围: SharePoint Server 2010

有关 PerformancePoint Services 筛选器的详细信息,请参阅以下各节:

  • PerformancePoint Services 中的筛选过程

  • 筛选器数据

  • 筛选器连接

  • 筛选器选择控件

PerformancePoint Services 中的筛选过程

仪表板中的筛选过程按以下方式发生:

  1. 服务器在仪表板页面上呈现筛选器 Web 部件。此 Web 部件承载 Web 服务器控件,例如列表或树。

  2. 筛选器的数据提供程序连接到基础数据源。它检索数据,然后将其存储在称为显示数据表的模拟运算表中。

  3. 检索的数据用于填充筛选器控件。

  4. 用户从筛选器控件中选择一个或多个值,然后单击"确定"。

  5. 数据提供程序将用户选择的值存储在称为消息数据表的模拟运算表中。

  6. 筛选器控件将消息数据(用户选择的值)发送到服务器。

  7. 服务器从数据源中检索新查询的结果,然后将更新的数据发送给记分卡和报表的使用方。

  8. 服务器向使用方呈现新的数据。

备注

筛选器还可以发送显示条件 信息。显示条件控制着已连接的使用方的可见性。当筛选器的选择等于显示条件值时,会显示已连接的使用方。

筛选器数据

筛选器使用数据提供程序来处理两个数据集:

  • 显示数据,用于定义连接点和填充筛选器控件。

  • 消息数据,筛选器将此数据传递给使用方以表示用户从筛选器控件中选择的值。

这两个数据集以行列矩阵的形式存储在 DataTable 对象中。

显示数据

显示数据用于定义筛选器的连接点和填充筛选器控件。显示数据表存储在 ParameterDefinition 对象的 DisplayValues 属性中,而此对象存储在筛选器的 BeginPoints 属性中。此表格由 GetDisplayDataInternal 方法初始化。

显示数据表包含筛选器的基础数据源中的数据。CustomDefinition 属性包含获取此数据所需的信息。此信息可存储在对象(如查询字符串、URL 或序列化对象)中。在 DataSourceLocation 属性中定义目标数据源,它可以指定以本机模式支持的数据源或自定义数据源。有关配置显示数据的信息,请参阅筛选器连接。

消息数据

用户从筛选器控件中选择的值存储在消息数据表中。消息数据在客户端的浏览器传输数据包中传递,并在已连接的记分卡和报表使用方的查询中用作参数值。服务器随后向使用方呈现新的数据。通过使用 GetMessageData 方法返回消息数据表。

筛选器连接

筛选器是提供程序;它将数据发送给已连接的记分卡和报表使用方。仪表板作者通过在 PerformancePoint 仪表板设计器 中将筛选器起始点映射到使用方终结点来定义筛选器和使用方之间的连接。终结点表示记分卡或报表查询中的参数,而起始点表示参数的值。例如,某筛选器显示北部、南部、东部和西部这些地理区域,而报表返回在筛选器中所选区域的总收入。在此示例中,区域是报表查询中的参数,其值并未获得明确的定义。报表必须从筛选器获得要在查询中使用的参数值(北部、南部、东部或西部)。

ParameterDefinition 对象定义筛选器连接的起始点,包括包含该起始点的源数据的显示数据表,例如填充筛选器控件的值。通过筛选器的 BeginPoints 属性来访问起始点信息,此属性返回包含一个 ParameterDefinition 对象的 ParameterDefinitionCollection 对象。

备注

记分卡是提供程序和使用方;它可以接收来自筛选器的数据,也可以将数据发送给报表。筛选器起始点只能包含一个 ParameterDefinition 对象,但记分卡起始点通常包含多个 ParameterDefinition 对象。

指定键和显示字段

筛选器的数据提供程序定义了如何使用显示数据表中的列。它最少要指定将用作键字段和显示字段的列。(一个列可同时用作键字段和显示字段。)

  • 键字段包含要用作键(行定位器)的值。

  • 显示字段包含填充筛选器控件的值。

此外,数据提供程序可以定义如何使用表中的其他列。例如,它可以将表的第一列定义为键字段,将第二列定义为显示字段,然后忽略其他列或根据其他列定义其他功能。这些指定在开发过程中定义,并且无法由仪表板作者重新配置。

指定可能的连接点

筛选器可以发送给使用方的值源自显示数据表中的一列。此源列(或绑定的列)由仪表板作者选择,并且表示筛选器的连接点。

在仪表板设计器中,显示数据表中的列(其扩展属性 ShowColumn 设置为 true)将作为筛选器的可能连接点显示给仪表板作者。它们显示在"连接"对话框的"源值"框中,或者显示在仪表板区域中的筛选器的"可用字段"部分下。

备注

请参阅如何:为 PerformancePoint Services 筛选器创建数据提供程序主题中的 SetColumnVisibility 方法,以了解示例数据提供程序如何为表中的所有列将 ShowColumn 设置为 true。

筛选器连接的示例

此高级示例演示如何在筛选器连接中使用起始点信息。

  1. 显示数据表定义了起始点。它包含三列,每列的配置如下所示:

    • CustomerId 被指定为键字段。ShowColumn 设置为 false。

    • DisplayName 被指定为显示字段。ShowColumn 设置为 true。

    • AccountName 无字段指定。ShowColumn 设置为 true。

    表 1. 示例显示数据表

    CustomerId(键)

    DisplayName(显示)

    AccountName

    19-001

    Tailspin Toys

    TailspinToys_R19

    19-002

    Wide World Importers

    WideWorldImporters_R19

    19-003

    Wingtip Toys

    WingtipToys_R19

  2. 在仪表板设计器中,作者为仪表板页面上的筛选器和报表创建连接。筛选器将 DisplayName 和 AccountName 显示为可能的连接点,因为 ShowColumn 属性对于显示数据表中的这两列设置为 true。

  3. 作者选择 AccountName 作为连接点(或绑定的列)。这将 AccountName 标识为显示数据表中包含筛选器可以发送给使用方的值的列。

  4. 在已发布的仪表板页面上,筛选器控件用 Tailspin Toys、Wide World Importers 和 Wingtip Toys 这些值填充。这些值源自 DisplayName 列,因为它被指定为显示数据表中的显示字段。

  5. 用户在控件中选择 Wingtip Toys。筛选器的数据提供程序使用相应的键 (19-003) 在绑定的列中查找要发送给使用方的值 (WingtipToys_R19)。

筛选器选择控件

在 PerformancePoint Services 仪表板页面中,筛选器 Web 部件承载 Web 服务器控件。筛选器控件通常显示枚举的数据值,并使仪表板用户能够选择一个或多个值。该控件在呈现过程中用数据填充。

筛选器使用的控件由其呈现器类来标识。筛选器类型的默认控件由 PerformancePoint Services web.config 文件中的 RendererClass 属性指定。但是,RendererClassName 属性将替代筛选器实例的默认控件。因此,作者可以在筛选器编辑器中指定不同的运行时呈现器。

自定义筛选器可以使用自定义或第三方控件或以下 PerformancePoint Services 控件之一:

备注

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

无论您是将 PerformancePoint Services 控件还是将自定义控件用于筛选器,都必须在 PerformancePoint Services web.config 文件的 RendererClass 属性中指定默认的呈现器类。有关详细信息,请参阅如何:手动注册 PerformancePoint Services 扩展

请参阅

概念

用于自定义 PerformancePoint Services 对象的编辑器

其他资源

为 PerformancePoint Services 创建筛选器扩展

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

PerformancePoint 仪表板筛选器和连接概述 (TechNet)