您可以为要创建的任何报表参数定义多值参数。不过,如果要将多个参数值传回查询,则必须满足下列要求:
- 数据源必须为 SQL Server、Oracle 或 Analysis Services。
- 数据源不能是存储过程。Reporting Services 不支持将多值参数数组传递给存储过程。
- 查询必须使用 IN 子句来指定参数。
在表达式中引用参数时,使用全局集合参数。在表达式中使用多值参数时,既需要了解如何处理单个值也需要了解如何处理整组值。下表为设置“多值”选项的参数提供了有关参数属性的示例和说明。
示例 | 说明 |
---|---|
Parameters! <ParameterName> .Value | 该参数的一组变量数据值。 |
Parameters! <ParameterName> .Label | 一组用作该参数标签的字符串。 |
Parameters! <ParameterName> .IsMultiValue | 表明是否已选择参数“多值”选项的布尔值属性。 |
Parameters! <ParameterName> .Count | 数组中值的数量。 |
Parameters! <ParameterName> .Value(0) | 多值数组中的第一个值。 |
Parameters! <ParameterName> .Label(0) | 多值数组中的第一个标签。 |
Parameters! <ParameterName> .Value(Parameters! <ParameterName>.Count-1) | 多值数组中最后一个值。 |
Parameters! <ParameterName> .Label(Parameters! <ParameterName>.Count-1) | 多值数组中最后一个标签。 |
=Join(Parameters! <ParameterName> .Value,", ") | 该表达式将 String 类型多值参数数组中的所有值连接为一个字符串。 |
=Split("Value1, Value2, Value3",",") | 接收一个字符串并创建一组对象,这些对象可以被传递到需要多值参数的子报表和钻取报表。 |
把多值参数所有 值连接为一个字符串的形式进行传值
设置参数值为:
=Join(Parameters! <ParameterName> .Value,", ")