在 Reporting Services 中使用参数
更新日期: 2006 年 7 月 17 日
在 Reporting Services 中,可使用参数指定将在报表中使用的数据,将相关报表连接在一起以及更改报表的表示形式。报表中有两类参数:查询参数和报表参数。
- 在定义包含变量的数据集查询时,Reporting Services 会创建相应的查询参数。查询参数用于将从数据源中检索到的数据限定为仅包含报表需要的数据。
- 报表参数显示在报表工具栏上,允许报表读者选择或输入处理报表时使用的值。报表设计器将根据查询参数自动创建报表参数。在报表生成器中,在为筛选子句设置提示时创建报表参数。还可以定义与查询参数无关的报表参数。在表达式中,可以包括对使用全局 Parameters 集合的报表参数的引用。由于可在整个报表定义中使用表达式来控制内容或外观,报表参数为自定义报表提供了一种强有力的手段。
下表简要列出了参数的主要方面以及它们在 Reporting Services 中的用法:
- 报表参数由报表服务器处理,而查询参数则是在数据源服务器上处理的。
- 默认情况下,将把每个查询参数值映射到对应的报表参数值。这样,用户就可以选择报表参数的值,将这些值传递到查询中,以限制从数据源检索到的数据。
- 与查询参数无关的报表参数用于更改报表表示形式,筛选数据,控制排序和分组以及更改文本框属性。可通过编写包含参数的表达式来执行这些操作。处理报表时,将使用当前参数设置计算表达式的值。对于允许指定表达式的报表,可通过这种方式(使用报表参数)影响报表的任何方面。
- 您可以设置报表参数属性,用于确定参数是单值还是多值,在运行时是否可见,使用静态的还是基于查询的有效值列表,是否具有默认值,以及是否接受空值或空白值。多值参数支持选择多个值。
- 您可以创建级联参数,用于定义报表中其他参数的有效值列表(例如,选择的特定产品类别决定了可用产品列表的内容)。
- 可使用参数将父报表连接至钻取报表或嵌入的子报表。
- 发布报表后,您可以单独管理已发布报表中的参数属性,而不涉及原始参数定义。报表服务器管理员可以修改已发布报表中的许多参数属性,这取决于您在设计时配置报表中参数的方法。有关详细信息,请参阅设置已发布报表的参数属性。
- 可在订阅中设置参数。每个订阅报表的用户都可以指定存储在订阅中或用于订阅的参数值。有关详细信息,请参阅在订阅中设置参数。
- 可通过 URL 访问设置参数。有关详细信息,请参阅 Using URL Access Parameters。
安全说明: |
---|
在任何包括 String 类型参数的报表中,请务必使用可用值列表(也称为有效值列表),并确保任何运行该报表的用户仅具有查看该报表中数据所必需的权限。定义 String 类型的参数时,系统将向用户显示一个可以使用任何值的文本框。可用值列表限制可以输入的值。如果报表参数与查询参数关联,但您没有使用可用值列表,则报表用户可能会在文本框中键入 SQL 语法,从而导致报表和服务器容易受到 SQL 注入攻击。如果用户有足够的权限执行新的 SQL 语句,则可能在服务器上产生意外结果。 如果报表参数与查询参数无关联,并且参数值包含在报表中,则报表用户可能会在参数值中键入表达式语法或 URL,并将报表呈现为 Excel 或 HTML 格式。如果其他用户查看报表并单击呈现的参数内容,则用户可能会无意中执行恶意脚本或链接。 若要降低无意中运行恶意脚本的风险,请仅从可信来源打开呈现的报表。有关保护报表的详细信息,请参阅保护报表和资源。 |
本节内容
- 使用参数控制报表数据
讨论如何使用参数控制报表中的数据。
- 使用参数控制报表外观
讨论如何使用参数控制报表外观(包括可见性、排序顺序、筛选、颜色)和文本框属性。
- 使用参数连接到其他报表
讨论如何使用参数链接至钻取报表、子报表和链接报表。
- 使用单值和多值参数
讨论如何使用单值和多值参数。
- 创建报表参数和设置报表参数属性
讨论如何创建和设置报表参数的属性。
- 在表达式中使用参数
讨论如何在表达式中包括参数,其中包括单值和多值参数的语法。
请参阅
任务
如何添加筛选器(报表设计器)
如何将查询参数与报表参数相关联(报表设计器)
如何添加、编辑或删除报表参数(报表设计器)
概念
在报表布局中处理数据
添加交互功能
筛选报表中的数据
设置已发布报表的参数属性
其他资源
教程:将参数添加至基本表格报表
教程:使用参数的高级功能
报表参数(报表设计器)