SSRS Tablix报告,处理列期间总计和子报告比较

时间:2011-04-28 15:53:54

标签: sql-server-2008 reporting-services

我是SSRS(2008)的新手,我正在尝试复制现有的Access报告。该报告按月列出销售总额,我没有任何问题将基础知识解析为Tablix。然而,原始的Access报告随后按季度,6个月和每年的值进行总计,并且还应用子报告来将这些与前一年的总计和目标进行比较。因此示意性地

 Sale           Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Total
 Customer 1       1  11  10   8   1   2   0   0   0   1   3   4    40
 Customer 2       0   1   3   1   0   0   0   1   1   0   2   1    10
 MonthlyTotals    1  12  13   9   1   2   0   1   1   1   5   5    50
 Quarterly               26          12           2          11
 6 Monthly                           38                      13
 Yearly                                                      51

 Prev Yr Totals   2  10  10   5   5   0   0   0   0   0   0  10
 Monthly Diff    -1   2   3   4  -4   2   0   1   1   1   5  -5
 Quarterly Diff           4           2           0          10 

等等。请注意,参数已设置为可以在任何月份开始报告以列出列(针对不同的财务年度)

我在上面的前4行(销售,客户1,客户2和月总计)中一切正常,但看不到最佳方式

  1. 显示季度等总计
  2. 显示子报告以显示前几年和目标值,以及它们与当前值之间的差异。
  3. 我可以完全访问SQL Server,并且对复杂的查询和存储过程感到满意,因此倾向于在​​表中生成值并显示出来,但是有更好的方法吗?特别是处理SSRS中的季度等总数将是有利的。

1 个答案:

答案 0 :(得分:1)

我认为除非您的 SQL表有一个名为“Quarter”的单独列,否则不可能仅在Tablix的帮助下计算季度总计

因此,为了达到您的要求,您必须编写简单的存储过程,该过程返回结果表以及另一个名为“ Quarter ”的附加列,其中包含“Q1..Q4”中的值这是根据销售月份字段计算的。

然后,您可以将此新列(季度)作为 ColumnGroup 添加到Tablix中现有组的顶部。

因此,整个想法是创建包含您要分组的所有可能列的结果集。