总计值与 SSRS 中的前 N 个过滤值不匹配

问题描述 投票:0回答:3

我在报告服务中有一份报告。在此报告中,我显示了前 N 个值。但我的总计显示的是所有值的总和。

现在我得到这样的东西。这里 N = 2

 +-------+------+-------------+
| Area   |ID   |  Count      |
+-------+------+-------------+
| - A   |      |   4         | 
|       |  a1  |   1         | 
|       |  b1  |   1         | 
|       |  c1  |   1         | 
|       |  d1  |   1         | 
|       |      |             |
| - B   |      |   3         | 
|       |  a2  |   1         | 
|       |  b2  |   1         | 
|       |  c2  |   1         |  
|       |      |             | 
|Grand  |      |  10         | 
|Total  |      |             | 
+-------+------+-------------+

正确的总计应该是 7 而不是 10。A 和 B 是切换项(可以扩展和收缩)

如何使用 Top N 过滤器显示正确的总计?

我还想在报告中使用过滤器,而不是在 SQL 查询中。

sql sql-server-2008-r2 reporting-services bids
3个回答
1
投票

您应该在数据集上使用过滤器。过滤报表对象本身只会关闭项目(例如行)的可见性。项目/行本身仍然是组的一部分,并将用于计算。


1
投票

我找到了解决问题的方法。正如 Ido 所说,我在研究数据集。我正在使用分析立方体。因此,在这个多维数据集中,我创建了一个命名集计算。

在本集中我使用了 TopCount() 函数。它过滤掉前 N 个值,其中 N 可以根据您的选择为整数。

所以本例中最终的命名集是:-

TopCount([Dim Area].[Area].[Area], 2, ([Measures].[Count]))

这将为您提供前 N 个过滤值的总计。


0
投票

确保您的报告过滤器针对的是整个 Tablix,而不仅仅是一个组。这将导致总列根据 Tablix 中显示的内容正确过滤。

© www.soinside.com 2019 - 2024. All rights reserved.