Reporting services 将一列显示为多列(n次)

Reporting services 将一列显示为多列(n次),reporting-services,ssrs-2012,ssrs-tablix,Reporting Services,Ssrs 2012,Ssrs Tablix,我有一份正常的报告如下 Animal Dog Cat Elephant Tiger Lion Man Panda 我想在n个列之后做一个中断 Animal Animal Dog Cat Elephant Tiger Lion Man Panda 我尝试了分页符,它会分出一个新的页面。做了一些分组等。。还是不行。SSRS有没有办法解决这个问题。我知道如何通过SQL来做,我想知道如何通过SSRS来做 编辑: 我在SSRS中使用了以下查询 SELECT

我有一份正常的报告如下

Animal
Dog
Cat
Elephant
Tiger
Lion
Man
Panda
我想在n个列之后做一个中断

Animal      Animal
Dog         Cat
Elephant    Tiger
Lion        Man
Panda
我尝试了分页符,它会分出一个新的页面。做了一些分组等。。还是不行。SSRS有没有办法解决这个问题。我知道如何通过SQL来做,我想知道如何通过SSRS来做

编辑: 我在SSRS中使用了以下查询

SELECT 610 AS [Period],1 AS RowNumber
UNION
select 611, 2
UNION
select 612, 3
UNION
select 613, 4
UNION
select 614, 5
UNION
select 615, 6
UNION
select 616, 7
UNION
select 617, 8
我添加了一个新的矩阵表,然后在矩阵表中添加了“Period”字段(屏幕截图Num 1)。在列分组表达式中。我使用了下面的表达。一次一个

=Floor(Fields!RowNumber.Value / 3) and =Fields!RowNumber.Value Mod 3
但现在它只显示3列

我期望看到的是(截图编号3),我得到的是(截图编号2)

屏幕截图:

您不能在分组表达式或数据集计算字段中使用SSRS聚合函数,如
RowNumber
。因此,您需要向SQL中的行添加一个数字。我建议对此使用
行编号
。您还可以使用
RANK
函数。你不必按任何东西划分,只要给它一些排序依据,你就可以开始了

然后,在报告中,您可以使用如下列分组表达式来获得每列5行:

=Floor(Fields!RowNumber.Value / 5)
要使用特定数量的列,可以使用如下表达式:

=Fields!RowNumber.Value Mod 5

嗨,史蒂文,请看主问题中编辑的部分,看看我的发现。你能看看这个吗?