您好我的ssrs报告我使用矩阵将数据行显示为两列列表和 我使用以下表达式来分组行;
=天花板(rownumber(无)/ 2) 和
以下表达式对列进行分组;
= ceiling(rownumber(nothing)mod 2)
它正常工作但是我希望结果显示字母顺序是垂直而不是水平。
像。
Record a Record d
Record b Record e
Record c Record f
而不是
Record a Record b
Record c Record d
Record e Record f
我在我的SQL查询中有订单
有关如何实现这一目标的任何建议?
答案 0 :(得分:0)
您可以为此修改您的sql。如果您不想使用多个列,可以使用下面的黑客。
DECLARE @T TABLE
(
TableID INT,
Value1 NVARCHAR(20),
ShouldBe INT
)
INSERT INTO @T (TableID,Value1,ShouldBe)
VALUES
(1,'A',1),
(2,'B',3),
(3,'C',5),
(4,'D',2),
(5,'E',4),
(6,'F',6),
(7,'A',1),
(8,'B',3),
(9,'C',5),
(10,'D',2),
(11,'E',4),
(12,'F',6),
(13,'A',1)
DECLARE @NumberOfRowsPerPage INT = 3
DECLARE @NumberOfColumns INT = 2
SELECT PageNumber,Value1
FROM
(
SELECT ColumnOrder=ROW_NUMBER() OVER(PARTITION BY PageNumber,ColumnTile ORDER BY TableID),*
FROM
(
SELECT ColumnTile=NTILE(@NumberOfColumns) OVER(PARTITION BY PageNumber ORDER BY TableID),*
FROM
(
SELECT PageNumber=( (DataRowNumber -1) / (@NumberOfRowsPerPage * @NumberOfColumns )) + 1, *
FROM
(
SELECT DataRowNumber=ROW_NUMBER() OVER( ORDER BY TableID) ,*
FROM @T
)AS A
)AS B
)AS C
)AS D
ORDER BY
PageNumber,ColumnOrder,DataRowNumber
查询将根据RowsPerPage和NumberOfColumns生成以下输出。
Page Value
1 A
1 D
1 B
1 E
1 C
1 F
2 A
2 D
2 B
2 E
2 C
2 F
3 A