从总计中排除隐藏的表格行

时间:2009-04-17 10:48:04

标签: reporting-services

我创建了一个包含组过滤器的表,因此某些值保持隐藏状态。 但是,显示上述值的sum()的行仍会计算过滤后的值。

通常我会将过滤器应用于查询,但我也在同一报表的其他表中使用相同的数据集,因此这不是一个选项。

我在这里遗漏了什么,或者这是MS Reporting Services的缺陷?

3 个答案:

答案 0 :(得分:4)

这似乎是SSRS的“功能”,显然是因为它在呈现数据表的详细信息部分之前计算表格页眉和页脚中的值。

解决此问题的一种方法是将派生的布尔列添加到数据集中(假设您的数据源是SQL Server,使用CASE语句或类似方法),以显示是否应从需要过滤器的表中排除该行。

然后,您可以更改表格过滤器以检查指标,并使用表达式执行条件求和以汇总正确的总和。像

这样的东西
=SUM(Iif(Fields!ExcludeRow.Value = True,0,Fields!ValueToSum.Value))

答案 1 :(得分:0)

这不仅仅是一个问题而不是答案...

如果您知道行是否隐藏在行组级别,是如何解决此问题的呢?

即。如果您按此行组过滤总计,即您不能有一个字段指示是否在数据集中排除了行。

例如:我有AR老化报告,每月有患者总数。我需要过滤掉每位患者的负数总数(患者行组),但我也有每月的列组,所以我的数据集不能是每个患者的粒度,因此,SSRS可以决定是否隐藏或显示行位于行组级别...

答案 2 :(得分:0)

我有同样的问题,但我有太多的列总数在哪里进入Iif()。 我通过从组中删除过滤器并将过滤器放入Tablix属性对话框来解决它(选择Tablix,右键单击左上角的灰色框并选择Tablixc属性)。

相关问题