使用动态列创建报告

时间:2012-04-12 08:51:29

标签: reporting-services

我有SQL Server 2005 Reporting Services。我需要创建一个报告,其中包含在运行时定义的列数。

我有一个包含以下内容的数据库表:

Person           Date             Val
----------------------------------------------
Person1          2012-01-03       3
Person2          2012-02-11       5
Person1          2012-02-17       7
Person2          2012-01-19       2
Person2          2012-01-15       4

我必须创建一个这样的报告:

Person           Jan 2012         Feb 2012
----------------------------------------------
Person1          3                7
Person2          6                5

换句话说,对于每个人,我必须在给定的月份中将所有值字段的总和加上,并将总和放入与月份对应的列中。在上面的示例中,我在2012年1月份的Person2中有6个 - 这是值2(2012-01-19)和4(2012-01-15)的总和。

因此,在设计时我不知道我的表所涵盖的日期范围。我应该检测它,构建日期范围涵盖的数月(2012年1月和2012年2月的上面的样本),并为每个月添加一列。

我应该如何使用SSRS实现这一点?

2 个答案:

答案 0 :(得分:2)

在SQL 2008及更高版本中,此问题的解决方法稍有改变,因此请确保您正在查看2005年的参考资料(如果您正在使用的话)。

this page上,查找“矩阵”部分。 SSRS中的矩阵旨在以最小的努力精确解决您描述的问题。在2008年,矩阵和表都是“Tablix”的变体:一个可以同时包含行组和列组的控件。

答案 1 :(得分:1)

如果你被Tablix困住,这是我解决的类似情况,How do i represent an unknown number of columns in SSRS?