SSRS:如何同时水平和垂直扩展报告详细信息以使用最小页面

SSRS: How to expend report details horizontally and vertically simultaneously to use minimum pages

我正在使用 AX 创建基于 RDP 的 SSRS 报告,我需要帮助解决 SSRS 报告中的特定设计要求。

我需要以 header 详细样式显示学生数据,但 header 组基于 Class Id 和基于学生 ID 的详细组。

并且 SSRS 以这样的简单表格样式显示详细数据..

但我希望详细数据首先在四列中水平扩展,然后进入下一行以获得另外四个值,依此类推。因此该报告将使用尽可能少的页面来显示所有数据。

下面是我想要实现的示例输出的快照:

如果有任何解决方案,请提出建议。

谢谢。

我不知道 SSRS 报表设计器中有允许您执行此操作的功能。但是,您可以创建一个 table 用作具有必要结构的报告的数据源。 table 将有 4 个学生 ID 和 4 个标记字段。这应该允许您创建所需的设计。

您可以使用矩阵强制按每行 4 个单元格进行分组,您可以将当前 table 与学生和分数放在一起。

您的数据需要添加 ROW_NUMBER 才能将数据分为 4 组。您只需向数据添加另一列 ROW_NUMBER()OVER(ORDER BY STUDENT_ID) AS ROW_NUM

向报告添加一个矩阵并删除行和列 headers 所以只剩下 1 个单元格(我不得不删除它们并将组重新添加并再次删除)并将其设置为与当前 table 相同的 DataSetName。

行分组:

=INT((Fields!ROW_NUM.Value - 1) / 4)

列分组:

=Fields!ROW_NUM.Value MOD 4 

这会将您的数据排序为 4 组,第一行的列分组为 0。

然后根据学生 ID 和分数调整单元格大小以适合您的 table,然后将您的 table 放入单元格。