【问题标题】:Showing a single column to multiple (n times)显示单列到多列(n 次)
【发布时间】:2018-10-19 10:10:55
【问题描述】:

我有一个像下面这样的正常报告,

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

我添加了一个新的矩阵表,然后我在矩阵表中添加了“期间”字段(屏幕截图编号 1)。在列分组表达式中。我使用了以下表达式。一次一个

=Floor(Fields!RowNumber.Value / 3) and =Fields!RowNumber.Value Mod 3

但现在它只显示 3 列。

我期望看到的是(Screenshot Num 3),而我得到的是(Screenshot Num 2)。

截图:

【问题讨论】:

    标签: reporting-services ssrs-2012 ssrs-tablix


    【解决方案1】:

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

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

    =Floor(Fields!RowNumber.Value / 5)
    

    要使用特定数量的列,您可以使用如下表达式:

    =Fields!RowNumber.Value Mod 5
    

    【讨论】:

    • 嗨史蒂文,请参阅主要问题中的编辑部分以查看我的发现。你能看看这个吗?
    猜你喜欢
    • 2013-12-05
    • 2021-07-10
    • 1970-01-01
    • 2012-10-28
    • 1970-01-01
    • 2013-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多