我有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实现这一点?
答案 0 :(得分:2)
在SQL 2008及更高版本中,此问题的解决方法稍有改变,因此请确保您正在查看2005年的参考资料(如果您正在使用的话)。
在this page上,查找“矩阵”部分。 SSRS中的矩阵旨在以最小的努力精确解决您描述的问题。在2008年,矩阵和表都是“Tablix”的变体:一个可以同时包含行组和列组的控件。
答案 1 :(得分:1)
如果你被Tablix困住,这是我解决的类似情况,How do i represent an unknown number of columns in SSRS?。