SSRS 2008 在 table 中为每个 ID 动态添加列。

SSRS 2008 add columns dynamically per id in a table.

这是我的数据集的示例:

ID  Name    Date
DCMTest1    Planning    02-06-12
DCMTest1    Planning    01-09-13
DCMTest1    Planning    06-09-13
DCMTest2    Planning    03-08-11
DCMTest2    Planning    05-07-12

结果table必须动态添加列(列数未知)。这是我想要报告中的数据的示例:

ID          Planning    Planning    Planning
DCMTest1    02-06-12    01-09-13    06-09-13
DCMTest2    03-08-11    05-07-12    

我在 ID (Project_nummer) 上有一个行组,我尝试通过两种不同的方式获得我想要的结果。 我在日期上使用了列组 header,这导致每个不同日期的列分组(这显然是错误的):

结果 1:

ID          Planning    Planning    Planning    Planning    Planning
DCMTest1    02-06-12    01-09-13    06-09-13        
DCMTest2                                        03-08-11    05-07-12

而且我尝试了名称(计划)的列组,结果为 2:

结果 2:

ID          Planning
DCMTest1    02-06-12
DCMTest2    03-08-11

结果 2 有一个正确的开始,但没有动态添加列。我错过了一个表达吗?

我还不允许上传图片,所以这里是link到SSRS分组: SSRS grouping

感谢任何帮助。我正在使用 MS SQL server 2008 和 visual studio 9.0

我想到的是稍微更改您的查询以包括按 ID 分区的行号,然后是行号上的列组。在查询中向 select 子句添加语句,如下所示:

Row_Number() OVER (Order by ID) as Col_group,

这将为您提供如下结果集:

    ID   Col_group     Name       Date
DCMTest1    1       Planning    02-06-12
DCMTest1    2       Planning    01-09-13
DCMTest1    3       Planning    06-09-13
DCMTest2    1       Planning    03-08-11
DCMTest2    2       Planning    05-07-12

然后像在结果 1 中那样创建一个列组,但使用新的 Col_group 列而不是日期来分组。

如果你想让数据在报表服务中使用它,第一个数据集就可以了,你只需要用一个矩阵对SSRS中的信息进行分组。