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

问题描述 投票:0回答:3

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

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

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

我应该如何实现它?

sql sql-server reporting-services ssrs-2008-r2
3个回答
15
投票

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

前往

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
投票

对于我认为更容易使用的所选答案的变体,请参阅下文。这是在可见性表达式中,但应该可以通过将表达式类型设置为布尔值并比较 if

Expression = "True"
:

轻松移植到过滤器表达式

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


0
投票

首先我想说,据我所知,

NOT IN
在过滤器的运算符列表中不可用。

要以其他方式实现相同的目标,请参阅以下链接..它可能会帮助您...

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

© www.soinside.com 2019 - 2024. All rights reserved.