SSRS 2012在列中显示行组总数

时间:2014-10-10 20:17:16

标签: reporting-services ssrs-tablix ssrs-grouping reportbuilder3.0 ssrs-2012

有没有办法垂直合并单元格,以便可以在列中显示行组的总计?以下是我希望报告显示的方式:

+-------+--------+--------+---------+--------------+--------------+
|Year   | Half   | Qty    | Amount  | Year Ttl Qty | Year Ttl Amt |
+-------+--------+--------+---------+--------------+--------------+
|       | 1st    | 500    |  2,000  |              |              |
| 2012  +--------+--------+---------+    1,200     +     5,500    +
|       | 2nd    | 700    |  3,500  |              |              |
+-------+--------+--------+---------+--------------+--------------+

到目前为止,我所做的是在行组中创建一年和一半的表。一半是Row Group中的一个孩子。我在Amount - Year Ttl Qty和Year Ttl Amount之后又增加了两列。这些都是计算列。我在"年"上使用了一个总和。计算年份Ttl数量:

=Sum(Fields!Qty.Value, "Year")

这让我得到了正确的价值,但它重复了第一和第二半的行。所以我继续将Hide Duplicate参数设置为" Year"在第2行显示空白的行组。如下所示:

+-------+--------+--------+---------+--------------+--------------+
|Year   | Half   | Qty    | Amount  | Year Ttl Qty | Year Ttl Amt |
+-------+--------+--------+---------+--------------+--------------+
|       | 1st    | 500    |  2,000  |     1,200    |     5,500    |
| 2012  +--------+--------+---------+--------------+--------------+
|       | 2nd    | 700    |  3,500  |              |              |
+-------+--------+--------+---------+--------------+--------------+

然而,这仍然没有得到我想要的输出。

我在SSRS - show row total in column看过非常相似的帖子。但是,那里的答案并没有真正帮助我。

编辑(12thOct' 14)

我最接近解决方案的是:

在第二个网格中,我使用表达式绘制顶部和底部边框,以给出合并单元格的印象。对于Year Ttl Qty单元格的边界,我使用了以下表达式:

Top: =iif(Previous(Fields!Year.Value) =Fields!Year.Value, "None", "Solid") Bottom: =iif(Count(Fields!Qty.Value,"DataSet1") = RowNumber("DataSet1"), "Solid","None")

 +-------+--------+--------+---------+--------------+--------------+
 |Year   | Half   | Qty    | Amount  | Year Ttl Qty | Year Ttl Amt |
 +-------+--------+--------+---------+--------------+--------------+
 |       | 1st    | 500    |  2,000  |     1,200    |     5,500    |
 | 2012  +--------+--------+---------+              +              +
 |       | 2nd    | 700    |  3,500  |              |              |
 +-------+--------+--------+---------+--------------+--------------+

不幸的是,在我看来,这仍然是一个黑客攻击:(例如,在这个方案中,我无法将年份Ttl数量垂直居中于2个单元格。

1 个答案:

答案 0 :(得分:0)

有几种方法可以达到你想要的效果。您可以将年份ttl Qty和Yeat Ttl Amt对齐并移除底部单元格填充以使值尽可能至少接近但是你感觉不错#34; hacky"。

下面详细介绍了一个更好的选项,让您不必先考虑总计数量,但如果您必须将总数保持在最后,那么您可以通过将表格嵌套在彼此中来获得类似的结果。

假设您的数据是这样的:

Dataset

然后设置一个包含Year和Half的行组的表格,如下所示:

DesignView

你的结果将是这样的:

Preview