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

时间:2012-07-30 21:41:55

标签: sql sql-server-2008-r2 reporting-services bids

我有报告服务的报告。在此报告中,我显示的是前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查询中。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

我找到了解决问题的方法。正如Ido所说我曾在数据集上工作过。我正在使用Analysis Cube。所以在这个立方体中我创建了一个命名集计算。

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

因此,在这种情况下,最终的命名集是: -

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

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