我已经创建了一个带有组过滤器的表,这样一些值就会隐藏起来。但是,显示上述值之和()的行仍然计算过滤后的值。
通常,我会将筛选器应用于查询,但我也会在同一报表的其他表中使用相同的数据集,因此这不是一个选项。
我是否在这里遗漏了什么,或者这是MS Reporting Services中的一个缺陷?
发布于 2009-04-17 12:40:23
这似乎是SSRS的一个“特性”,显然是因为它在呈现数据表的细节部分之前计算表标题和表尾中的值。
解决此问题的一种方法是向dataset中添加一个派生布尔列(假设您的数据源是SQL Server,使用CASE语句或类似语句),以显示是否应从需要筛选器的表中排除该行。
然后,您可以更改表筛选器以检查指标,并使用表达式执行条件求和以聚合正确的总和。就像这样
=SUM(Iif(Fields!ExcludeRow.Value = True,0,Fields!ValueToSum.Value))发布于 2009-11-25 03:18:16
这更像是一个问题而不是答案。
如果您知道行是否仅在行组级别隐藏,如何解决此问题?
例如,如果您正在按此行组过滤总计,即,您不能有一个字段来指示数据集中是否排除了行。
例:我有AR年龄报告,其中有每月的总数,患者。我需要过滤掉每个患者(患者行组)的负总计,但我也有列组-每月,因此我的数据集不能是每个患者的粒度,因此,SSRS可以决定是在行组级别上隐藏还是显示行的唯一位置...
发布于 2013-09-27 22:24:30
我也有同样的问题,但是我有太多的列总数,应该在哪里输入Iif()。我通过从组中删除筛选器并将筛选器放入Tablix属性对话框(选择Tablix,右键单击左上角灰色框并选择Tablixc属性)解决了这个问题。
https://stackoverflow.com/questions/759963
复制相似问题