参数(Report Builder 3.0 和 SSRS)

利用报表参数,您可以控制报表数据,连接相关报表,以及更改报表显示。若要设计能够有效使用参数的报表,您必须了解参数和数据集查询是如何相关的,如何在表达式中包含参数,以及如何在报表服务器或 SharePoint 站点上不通过报表定义单独管理参数。

可以按如下方式创建报表参数:

  • 创建或添加嵌入的或共享的数据集,它具有包含查询变量的查询。

  • 从“报表数据”窗格手动创建参数。

  • 添加报表部件,它包含对参数或包含变量的共享数据集的引用。

发布报表后,可以通过报表报表定义单独管理参数。您甚至可以为同一个报表创建多组参数。有关详细信息,请参阅 设置已发布报表的参数属性添加、修改和删除链接报表

报表查看器工具栏将显示各个参数,以便用户可以通过交互方式来指定值。下图显示了具有参数 @StartDate、@EndDate、@Subcategory@ShowAllRows 的报表的参数区域。

报表查看器工具栏上的参数

  1. “参数”窗格 报表查看器工具栏显示各个参数的提示和默认值。系统将自动设置工具栏上的参数布局。显示顺序由参数在“报表数据”窗格中的显示顺序决定。

  2. @StartDate 和 @EndDate 参数 参数 @StartDate 的数据类型为 DateTime。文本框旁边会显示“开始日期”提示。若要修改日期,请在文本框中键入新日期或使用日历控件。

    参数 @EndDate 显示在 @StartDate 之后。

  3. @Subcategory 参数 参数 @Subcategory 的数据类型为 Text。由于 @Subcategory 具有可用值列表,因此将在下拉列表中显示有效值。您必须从此列表中选择值。由于 @Subcategory 具有多个值,因此将显示**“全选”**选项,通过该选项,您可以清除或选择列表中的所有值。

  4. @ShowAllRows 参数 参数 @ShowAllRows 的数据类型为 Boolean。使用单选按钮指定 True 或 False。

  5. “显示或隐藏参数区域”控点 在报表查看器工具栏上,单击此箭头可显示或隐藏参数窗格。

  6. “参数”按钮 在报表生成器预览的功能区上,单击**“参数”**按钮可显示或隐藏参数窗格。

  7. “查看报表”按钮 输入参数值后,单击报表查看器工具栏上的**“查看报表”**可运行该报表。如果所有参数都具有默认值,则报表会在第一次查看时自动运行。

有关立即开始使用参数的详细信息,请参阅教程:向报表添加参数 (Report Builder 3.0)教程:向报表添加参数 (SSRS)Report Samples (Report Builder 3.0 and SSRS)(报表示例(Report Builder 3.0 和 SSRS))。

注意注意

对于包含带有参数的依赖数据集的数据区域,参数可作为单独的报表部件发布。虽然参数作为报表部件列出,但您不能直接将报表部件添加到报表。而是要添加报表部件,而任何必要的报表参数都会从报表部件所包含或引用的数据集查询中自动生成。有关报表部件的详细信息,请参阅报表部件 (Report Builder 3.0)报表设计器中的报表部件 (SSRS)

注意注意

在 Business Intelligence Development Studio 中,您可以在 Report Builder 3.0 和报表设计器中创建和修改报表定义 (.rdl)。每个创作环境提供了不同的方式来创建、打开和保存报表和相关项。有关详细信息,请参阅 Web 上 microsoft.com 中的“在报表设计器和 Report Builder 3.0 中设计报表 (SSRS)”。

本文内容

参数的常规用法

参数类型

使用报表参数

使用数据集参数

级联参数

将参数传递给钻取报表或子报表

在报表服务器或 SharePoint 站点上管理参数

本节涉及的主题

相关主题

参数的常规用法

下面是一些最常用的参数使用方法:

  • 允许用户指定值以对报表中的数据进行自定义。例如,为销售数据的开始日期和结束日期提供两个参数。

  • 允许用户指定值以帮助自定义报表的外观。例如,提供一个布尔参数以指示是否展开或折叠表中所有的嵌套行组。

  • 创建可选值的下拉列表,以便用户只能选择有效值。

  • 为每个参数创建默认值,以便报表可在第一次查看时自动运行。

  • 创建级联值,以便根据在上一参数中所做的选择,生成一个参数的有效值的下拉列表。这样,您就可以从数千个值中依次筛选参数值,最终将值的数量限定在可管理的范围内。

  • 为多个用户自定义参数集。基于报表服务器上的销售报表创建两个链接报表。一个链接报表使用销售人员的预定义参数值,而第二个链接报表使用销售经理的预定义参数值。两个报表使用相同的报表定义。

  • 允许用户筛选共享数据集中的数据。当您向报表添加共享数据集时,您无法更改查询。在报表中,您可以添加一个数据集筛选器,在其中包含对您创建的报表参数的引用。

用于“返回首页”链接的箭头图标返回页首

参数类型

报表包含两种类型的参数:数据集参数和报表参数。

  • 数据集参数 自动为数据集查询命令中的每个查询变量创建嵌入数据集或共享数据集的数据集参数。某些查询设计器提供有相关区域,用以基于字段名称和选项添加应用的筛选器,以便基于字段名称添加数据集参数。

    数据集参数在定义数据集查询之后配置。可以单独为每个数据集参数指定默认值。在向报表中添加共享数据集时,不能在报表中覆盖标记为内部参数的数据集参数。可以覆盖未被标记为内部参数的数据集参数。还可以创建附加参数。有关详细信息,请参阅本主题中的使用数据集参数。

  • 报表参数 自动为每个数据集参数创建报表参数。也可以手动创建报表参数。您可以配置报表参数,以便用户可以通过交互方式输入值以帮助自定义报表的内容或外观。也可以对报表参数进行配置,以便用户无法更改预配置值。在报表服务器上,报表参数和已发布报表是分开管理的。有关详细信息,请参阅本主题中的使用报表参数。

    还可以将报表参数作为报表部件单独保存。报表部件存储于报表服务器上,并且可供他人用于其报表中。不能通过报表服务器对参数的报表部件进行管理。可以在报表部件库中搜索参数,并在添加参数后,在报表中配置这些参数。有关详细信息,请参阅报表部件 (Report Builder 3.0)

大多数情况下,您将使用报表参数。

用于“返回首页”链接的箭头图标返回页首

使用报表参数

参数的最常见用法是更改由数据集查询检索的报表数据。在这种情况下,用户运行该报表时系统提示输入一个或多个值,该数据集查询仅检索请求的数据。数据集查询包含查询参数,并且报表处理器自动创建间接链接到查询参数报表参数。

默认情况下,自动创建的参数使用自动生成的名称、提示和数据类型。在“报表数据”窗格中,您可以通过“报表属性”对话框来更改报表参数。下表总结了可以为各个参数设置的属性:

属性

说明

名称

键入区分大小写的参数名称。名称必须以字母开始,并且要包含字母、数字、下划线 (_),但不能包含空格。对于自动生成的参数,该名称要与数据集查询中的查询参数匹配。默认情况下,手动创建的参数与 ReportParameter1 相类似。

提示

在报表查看器工具栏上的参数旁边显示的文本。

数据类型

报表参数必须为以下数据类型之一:Text、Integer、Float、DateTime 和 Boolean。

数据类型决定了报表参数在报表查看器工具栏上的显示方式。在编写包含参数引用的表达式时,数据类型也尤为重要。

允许空白值

如果参数的值可为空字符串或为空白,请选择此选项。

如果为参数指定有效值,并希望将空白值作为有效值之一,则必须在指定的值中包含空白值。选择此选项并不会自动在可用值中包含空白值。

允许 Null 值

如果参数的值可为 Null,请选择此选项。

如果为参数指定有效值,并希望将 Null 作为有效值之一,则必须在指定的值中包含 Null。选择此选项并不会自动在可用值中包含 Null。

允许多个值

提供可用值以创建下拉列表,供用户从中选择。这是确保只在数据集查询中提交有效值的好方法。

如果参数值可为下拉列表中显示的多个值,请选择此选项。不允许为 Null 值。选择此选项后,将向参数下拉列表中的可用值列表添加复选框。列表的顶部包括“全选”复选框。用户可以选中所需的值。

如果用于提供值的数据快速更改,则用户看到的列表可能不是最新列表。

可见

选择此选项可在报表运行时在其顶部显示报表参数。此选项允许用户在运行时选择参数值。

隐藏

选择此选项可隐藏报表中的报表参数。报表参数值可在报表 URL 或订阅定义中设置,也可以使用报表管理器在报表服务器上进行设置。

内部

选择此选项可以隐藏报表参数。报表参数仅能在报表定义中进行查看。

可用值

如果已为参数指定可用值,则有效值将始终作为下拉列表显示。例如,如果为 DateTime 参数提供了可用值,则在参数窗格中将显示日期下拉列表而不是显示日历控件。

为了确保值列表在报表与子报表中是一致的,可以在数据源中设置一个选项,使用单个事务处理与数据源关联的数据集中的所有查询。

安全说明安全说明
在任何包含数据类型为 Text 的参数的报表中,请务必使用可用值列表(也称为有效值列表),并确保任何运行该报表的用户仅具有查看该报表中数据所必需的权限。有关详细信息,请参阅安全性 (Report Builder 3.0)

默认值

设置来自查询或静态列表的默认值。

如果每个参数均具有默认值,则报表将在第一次查看时自动运行。

高级

设置一个值,该值指示此参数是直接还是间接影响报表中的数据。

在报表服务器上,该值用于确定报表和报表数据的缓存选项。

有关详细信息,请参阅“报表参数属性”对话框 ->“高级”(Report Builder 3.0)

用于“返回首页”链接的箭头图标返回页首

使用数据集参数

在查询设计器中生成查询时会定义查询参数。一些数据扩展插件提供了可选择要作为参数包含的字段的方法。其他数据扩展插件可标识查询命令中的查询变量。系统会自动为每个查询变量创建一个查询参数。

并非所有数据源都支持查询参数。不能在数据源中筛选数据时,可以使用报表参数供用户在检索报表的数据之后筛选数据。当所有的查询参数都有相应的报表参数时,可以单独定义报表参数。报表参数还可用于在检索数据后更改报表的外观或组织。

若要筛选数据集查询中的数据,可以通过指定结果集中要包含或排除的值,来包含一个限制检索到的数据的限制子句。

使用与数据源关联的查询设计器有助于生成参数化查询。

  • 对于 Transact-SQL 查询,不同的数据源支持不同的参数语法。支持范围包括在查询中按位置或名称标识的参数。有关详细信息,请参阅向报表添加数据(Report Builder 3.0 和 SSRS) 中针对特定外部数据源类型的相关主题。在关系查询设计器中,必须为筛选器选择参数选项,才能创建参数化查询。有关详细信息,请参阅关系查询设计器用户界面 (Report Builder 3.0)

  • 对于基于多维数据源(例如 Microsoft SQL Server Analysis Services、SAP NetWeaver BI 或 Hyperion Essbase)的查询,可以指定是否创建基于查询设计器中您指定的筛选器的参数。有关详细信息,请参阅查询设计器 (Report Builder 3.0) 中与数据扩展插件对应的查询设计器主题。

用于“返回首页”链接的箭头图标返回页首

级联参数

可以创建级联参数,其中用户按特定顺序为每个参数选择值,并且每个选择都会成功限制下一个参数的值。级联参数能够将潜在的数以千计的选项减少到一个易于管理的选项数。例如,用户选择了一个产品类别,再在该类别的可用产品列表中进行选择,然后选择大小和颜色。

有关详细信息,请参阅如何向报表添加级联参数(Report Builder 3.0 和 SSRS)

用于“返回首页”链接的箭头图标返回页首

将参数传递给钻取报表和子报表

参数用于将报表连接到子报表和钻取报表。这些报表参数可能是隐藏的,可以使用主报表中的值为连接报表选择正确的数据,否则这些参数可能会在运行时被用户看到。

有关详细信息,请参阅使用参数连接到其他报表(Report Builder 3.0 和 SSRS)

在报表服务器或 SharePoint 站点上管理参数

发布报表后,可以不通过报表定义单独管理参数。报表服务器管理员可以修改报表或共享数据集的许多参数属性,这取决于您在设计时配置报表中参数的方法。如果您设计的报表计划用于缓存或订阅,可能需要遵循参数适用的其他要求。有关详细信息,请参阅 SQL Server联机丛书中的 Reporting Services 文档的以下主题。

用于“返回首页”链接的箭头图标返回页首