如何在SSRS的任何列中过滤具有空值的行

时间:2012-10-10 07:26:37

标签: ssrs-2008 reporting-services reportingservices-2005

我想过滤掉没有包含空值或空白列的行的输出。我正在使用Sql server 2012没有像SS2005那样名为'Blank'的选项,我可以在这里过滤行。我也尝试了下面的表达式,但它给了我错误或没有显示正确的输出

=IsNothing(Fields!ABC.Value)!= True 
=Fields!ABC.Value = ''

请建议解决方案。

3 个答案:

答案 0 :(得分:33)

  • 拉起Tablix或组属性
  • 切换到“过滤器”
  • 添加新过滤器
  • 将表达式设置为:

    =IsNothing(Fields!YourFieldHere.Value)

  • 将类型设置为“布尔”(请参见下面的屏幕截图),否则您将获得“无法比较类型布尔和字符串数据”错误。

  • 将值设置为false

screenshot of grouping dialog, higlighting expression type setting

这适用于过滤行和组。

答案 1 :(得分:29)

我们应该在Expression中使用isNothing方法,将Text更改为Boolean 然后价值将是“真实”

例如:

Expression 
=IsNothing(Fields!TestA.Value)<>True
(Expression type should be Boolean)
Operator
=
Value
=True

答案 2 :(得分:1)

编辑SQL查询,以便它不会在要分组的列中返回NULL值,而是让它返回一个虚拟值;例如:ISNULL(columnA,'dummy')

在列组定义中添加一个过滤器:ColumnA&lt;&gt; '假'。