如何在SSRS中实现"不在"过滤器?

MJC*_*kie 3 sql sql-server reporting-services ssrs-2008-r2

我在SSRS中有一个我需要过滤的字段.对于3表我可以使用IN过滤器.但我需要使用NOT IN运算符.该字段包含数值.

我需要能够说不在(30,31,32,33,34,35,36,37,38,39)

我不能在数据集中做到这一点,需要是一个过滤器.

我应该如何实现它?

ale*_*eta 8

您可以使用表达式来确定要过滤哪些值.

转到Tablix properties/Filters

expression使用:

=IIF(Array.IndexOf(split("30,31,32,33,34,35,36,37,38,39",","),
CStr(Fields!YourField.Value))>-1,"Exclude","Include")
Run Code Online (Sandbox Code Playgroud)

供操作员使用:

=
Run Code Online (Sandbox Code Playgroud)

对于Value使用:

="Include"
Run Code Online (Sandbox Code Playgroud)

如果这可以帮到你,请告诉我

  • 对于想要将其与参数一起使用的任何人,只需将字符串数组 ("30,31,32,33,34,35,36,37,38,39") 替换为以下代码: (Join(Parameters!YourParameter 。价值, ”,”))。这可以使用参数中 NOT IN 值的值来过滤表,这就是我需要 NOT IN 过滤器的目的。最终修改后的表达式将如下所示: =IIf(Array.IndexOf(Split((Join(Parameters!YourParameter.Value, ",")), ","), CStr(Fields!YourField.Value)) > - 1、“排除”、“包含”) (2认同)