使用参数作为过滤器 - 多个值不起作用

Using a parameter as a filter - Multiple values not working

该报告仅适用于 1 个选择,但当我添加多个选择时,它不会 return 任何东西(没有错误,报告中没有任何内容)。

我的 SQL 语句包含参数 @Region

where Region_Name IN (@Region)

在区域参数的属性中,我设置为允许多个值。

在数据集过滤器的属性中:

表达式: =Fields!Region.Value
操作员: IN
值: =Parameters!Region.Value(0)

*编辑 我按照建议删除了数据集过滤器。

以下是参数的属性。 可用值来自另一个数据集,该数据集是不同的区域列表。

您的编辑更有意义。要使用多值参数,您只需要以通常的方式引用参数,除了在 SQL:

中使用 in
select cols
from table
where specificcol in @Region

然后不要设置数据集过滤器,只需确保 Parameters 属性 页面中有对 Region 参数的引用。通过在 SQL 中包含参数来处理数据过滤,因此您不需要 对 SSRS 数据集进行过滤。

我没有使用参数在存储过程和报表之间来回切换,而是创建了参数并在 tablix 属性中使用它。

表达式:=字段!Region.Value 运营商:IN 值:=参数!Region.Value

当您第一次创建值时,它会在表达式的末尾添加一个 (0)。删除它,它会按预期工作。

感谢@iamdave 的帮助!

编辑:

我回到了这里,并且能够使用参数和存储过程进行过滤。

我跟着 link 从一个问题到这里:http://www.codeulike.com/2012/03/ssrs-multi-value-parameters-with-less.html

我创建了一个数据集参数并从 Tablix 属性中删除了该参数。然后创建了提供的功能并且它起作用了。我没有弄乱 post.

中的“所有”功能

感谢所有提示。布伦特