一个标准的条件可见性

时间:2014-02-19 18:07:46

标签: sql reporting-services

我有一个报告,按任务名称分组,并有一个名为StartDate的列。对于其中一些任务,即使StartDate为null,我也需要显示所有行。但是,在一项任务中,如果StartDate为null,我需要隐藏行。

基本上我需要一个条件子句来说明如果任务名称等于abc并且StartDate为null,则隐藏该行。我无法弄清楚如何将其实现为可见性表达式,而不会完全删除所有其他行,因为它们与条件不匹配。任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:1)

您可以设置行可见性来实现此目的。

说我有数据:

enter image description here

基于此的简单表:

enter image description here

如果我想仅显示NULL开始日期的任务ABC行,而仅显示非NULL开始日期的所有其他任务,我们可以设置行可见性 - > 隐藏表达式为:

=IIf((Fields!TaskName.Value = "ABC" and Not IsNothing(Fields!StartDate.Value))
    or (Fields!TaskName.Value <> "ABC" and IsNothing(Fields!StartDate.Value))
  , true
  , false)

看起来没问题:

enter image description here

在评论后修改

如果您只想考虑ABC隐藏某些行,只需更改行可见性 - &gt; 隐藏表达式始终显示所有非ABC行:

=IIf((Fields!TaskName.Value = "ABC" and IsNothing(Fields!StartDate.Value))
    or Fields!TaskName.Value <> "ABC"
  , false
  , true)

enter image description here

答案 1 :(得分:0)

将此条件添加到Where子句将过滤掉该任务:

where TaskName <> "ABC" or StartDate is null