如何在行组中的行号上对SSRS中的列进行分组

时间:2015-11-25 10:15:04

标签: reporting-services reportbuilder3.0

我正在尝试创建一个报告,每个学生输出一行,每个类都有一列。显而易见的方法是通过矩阵,但我正在努力设置列组 - 我需要输出如下运行:

enter image description here

数据是每个学生和组的一行,如下所示:

enter image description here

所以我想要的基本上是一个矩阵,其列分组设置为=“Group”& CStr的(ROWNUMBER( “RowGroup”))

不幸的是,SSRS不允许我这样做,因为RowGroup不包含列组。那么我怎么能做到这一点呢?我想我可以在自定义代码中做一个vb哈希表,但这很烦人,感觉非常笨重,所以我宁愿找到更好的解决方案。

2 个答案:

答案 0 :(得分:2)

答案结果是使用VB自定义代码的脏哈希表。这插入了自定义代码:

{{1}}

这取得了学习者的数字,只是在一个哈希表中为该学习者的每个组存储越来越多的数字,然后重置下一个学习者的计数 - 它非常严重但似乎工作正常。

只需使用;

调用代码即可
{{1}}

答案 1 :(得分:1)

不幸的是,执行此操作的唯一方法是返回查询并插入新列以根据学生ID /名称对组进行分组

例如,将新的ROW_NUMBER行添加到您的查询中,如下所示

SELECT
 StudentID,
 StudentName,
 GroupID,
 Row_Number() OVER (PARTITION BY StudentID ORDER BY StudentID) AS GroupNum
FROM @MyData

导入DataSet时,它现在将具有GroupNum列,您可以设置矩阵,如图所示

enter image description here

获得此输出

enter image description here

我很确定无法从SSRS中分配此组号