在SSRS表中隐藏一行

时间:2015-12-22 16:46:32

标签: mysql visual-studio reporting-services visibility business-intelligence

我的报告中有一个表,即从我的数据集中计算数据。我想隐藏计算结果为0的行。这是我的表格的屏幕。

enter image description here

对于count列,公式为:

=Count(Fields!Age.Value > 90) And Count(Fields!Age.Value < 99)

我在单元格的属性框(可见性表达式)上尝试了各种表达式,以及行的可见性。我认为我的问题是我不知道如何使用值来引用行/单元格。

1 个答案:

答案 0 :(得分:0)

我无法看到链接的图片(我假设由于我的防火墙规则),但根据描述,以下公式应该有效:

=Iif(Fields!Age.Value > 90 And Fields!Age.Value < 99, True, False)

将其放在详细信息行组的“可见性”部分中,而不是附加到单个文本框。如果该详细信息行中的年龄符合条件,它将隐藏整行。 (可见性表达式设置隐藏属性,对于隐藏属性为True,对于非隐藏属性为False。)

如果您希望在更高的范围内(例如按年龄段)执行此操作,则公式会变得更简单(并且应用于该组而不是详细信息组):

=Iif(Count(Fields!Age.Value) = 0, True, False)

这是因为组表达式本身将负责为您过滤数据集,因此您只需查看该组是否包含任何成员,而不必担心这些成员可能包含的值。

如果您按年龄值相关指标进行分组,则会变得更加复杂:

=Iif(Sum(Iif(Fields!Age.Value > 90 And Fields!Age.Value < 99, 1, 0)) = 0,True, False)

Count()函数不评估每个成员项;它只是检查它是否存在。 Sum()函数 评估每个成员项,因此您可以使用Iif()表达式为Sum提供1或0,具体取决于您的条件,并使用Sum的结果来查看整个集合中有多少项与您的过滤器匹配。