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

时间:2015-11-20 10:51:04

标签: sql sql-server reporting-services ssrs-2008-r2

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

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

我也无法在数据集中执行此操作,需要成为过滤器。

我应该如何实现它?

3 个答案:

答案 0 :(得分:7)

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

转到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")

供操作员使用:

=

Value使用:

="Include"

如果这可以帮助您,请告诉我

答案 1 :(得分:0)

首先我想说的是,据我所知,exception.thrift在过滤器的运算符列表中不可用。

要以其他方式实现同​​样的目的,请参考以下链接..这可能对您有所帮助......

http://blog.datainspirations.com/2011/01/20/working-with-reporting-services-filters-part-4-creating-a-not-in-filter/

答案 2 :(得分:0)

有关我认为更易于使用的所选答案的变体,请参见下文。这在“可见性”表达式中,但应通过将“表达式类型”设置为布尔值并比较是否Expression = True来方便地移植到“过滤器”表达式:

=IIf(InStr("unwanted values here", Fields!fieldToCheck.Value), True, False)