SSRS 按顺序显示 table 列表

SSRS Show table list in sequence

我有一个数据列表,序列 ID 为 1、2、3、...、9

我想将它们以 3x3 table 的形式插入到 SSRS 报告中,按序列 id

排列
1   2   3
4   5   6
7   8   9

我应该使用列表,还是table,或者矩阵?这种安排有什么解决办法吗?谢谢

我通常会为此使用矩阵。您可以计算 table 中每一行数据的行号和列号,然后将其用于矩阵中的行组和列组。

这是一个例子...

注意:您可能没有或不需要 'label' 字段,因此当我们进行报表设计时,只需将其换成您想要显示的任何字段。

这是一些计算了行和列的示例数据

DECLARE @t TABLE (Seq int, Label varchar(10))

INSERT INTO @t VALUES 
(1, 'AAAAA'), (5, 'BBBBB'), (10, 'CCCCC'), 
(20, 'DDDDD'), (50, 'EEEEE'), (100, 'FFFFF'), 
(101, 'GGGGG'), (102, 'HHHHH'), (210, 'IIIII')

SELECT 
    * 
    , ColN = (SeqOrder-1) %3
    , RowN  = (SeqOrder-1) / 3
FROM (SELECT *, ROW_NUMBER() OVER(ORDER BY Seq) AS SeqOrder FROM @t) t

内部查询只是将 SeqOrder 分配为 1 到 9。然后我们使用此 SeqOrder 值来确定行和列

这为我们提供了以下数据集

然后我们只需在报告中添加一个矩阵

接下来,将 ColN 字段拖到“列”占位符,将 RowN 字段拖到“行”占位符,然后将 Label 字段(或您想要的任何字段)显示)到“数据”占位符。

运行 报告,你会得到这个

您可以选择删除第一行和第一列(但不是关联的组),只保留数据单元格。

现在当我们 运行 它时,我们得到了这个。