隐藏不包含值的行

时间:2013-04-09 16:54:03

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

我想在报表中隐藏某些字段中没有值的行。

这个问题很有帮助

How to filter rows with null values in any of its columns in SSRS

我不明白如何检查多个字段是否为空。

目前,我这样做:

enter image description here

并在公开范围下:

enter image description here

我输入了这个表达式:

=iif(fields!Jan.Value
+fields!Feb.Value
+fields!Mar.Value
+fields!April.Value
+fields!May.Value
+fields!June.Value
+fields!July.Value
+Fields!Aug.Value
+Fields!Sept.Value
+Fields!Oct.Value
+Fields!Nov.Value
+Fields!Dec.Value="",TRUE,FALSE)

但是我收到了这个错误:

enter image description here

如果值为空或空白,我该如何隐藏行?

3 个答案:

答案 0 :(得分:3)

你需要使用AND(如果所有值都需要为0来隐藏行),并尝试使用LEN()

=iif(len(Fields!Jan.Value) = 0 AND len(Fields!Feb.Value) = 0 AND len(Fields!Mar.Value) = 0,True,False)

我还会通过突出显示行,使用“属性”窗口而不是通过右键单击菜单来使用访问的Visibility属性。

答案 1 :(得分:2)

我知道这个解决方案可能不是最好的,但它确实有效:

=iif(fields!Jan.Value
    +fields!Feb.Value
    +fields!Mar.Value
    +fields!April.Value
    +fields!May.Value
    +fields!June.Value
    +fields!July.Value
    +Fields!Aug.Value
    +Fields!Sept.Value
    +Fields!Oct.Value
    +Fields!Nov.Value
    +Fields!Dec.Value=0,TRUE,FALSE)

我意识到因为字段都是int,我可以将它们加在一起并检查它们是否加起来为0.

答案 2 :(得分:0)

限定词必须是任何一行吗?我会使用'Switch'语句然后如果这些都是OR语句并更改ISNOTHING()。根据SSRS,“”是一种东西。看起来你得到了你需要的答案,但如果将来出现我通常会这样做:

=switch(
 Isnothing(Fields!Jan.Value), TRUE
 Isnothing(Fields!Feb.Value, TRUE
 etc.
 , FALSE)

要切换的键是列必须不同,而不是具有不同表达式的相同列。