繁体   English   中英

SSRS报告列列表排序顺序

[英]SSRS report column list sort order

您好,我的ssrs报告中,我使用矩阵将数据行显示为两列列表,并且使用以下表达式对行进行分组;

= ceiling(rownumber(nothing)/ 2)和

下面的表达式将分组列;

= ceiling(rownumber(nothing)mod 2)

类似于https://www.experts-exchange.com/articles/12331/Simple-way-to-show-multi-column-data-in-SSRS-Horizo​​ntally-or-Vertically.html

它工作正常,但是我希望结果显示为字母顺序,而不是水平。

喜欢。

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查询中有订单

关于如何实现这一目标的任何建议?

您可以为此修改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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM