在单个ssrs页面中的X记录后换行

时间:2019-06-03 07:10:59

标签: reporting-services expression ssrs-2017

我在SSRS的单个表列中获得了200多个记录(例如,记录的数量是动态的)。我想在25条记录后换行。

ReportTable结果(仅作为示例):

            Value
            -----
            jklsa
            dfv
            b
            grt
            trj
            h
            muik
            rg
            kuu
            wd
            gb
            nm
            wef

最终报告表所需的输出:

                     Values
                -----------------
                 jklsa |muik | wef
                 dfv   |rg   |
                 b     |kuu  |
                 grt   |wd   |
                 trj   |gb   |
                 h     |nm   |

也就是说,在引入换行符之后,记录必须移至“右侧”。

因此,在这种情况下,应该是8列[列名可以相同],而不是每列有200条记录。

这是我尝试过的:

    =IIF(CountRows(Fields!Request_Number.Value) > 25,vbCrLf,Fields!Request_Number.Value)

    and 

    =IIF(CountRows(Fields!Request_Number.Value) > 25,Fields!Request_Number.Value, "") & vbCrLf

但是,它会引发错误:

  

“表达式的值具有一个范围参数,该参数对于   聚合函数”

希望我已经正确解释了这一点。 我究竟做错了什么?如何获得正确的结果? 谢谢

1 个答案:

答案 0 :(得分:1)

CountRows(Fields!Request_Number.Value)

不会为您提供正确的SSRS行数。 而是使用

RowNumber("DataSet1")

注意:“ DataSet1”是您的数据集名称。

顺便说一句您希望达到的目标。在使用表格或矩阵时,您希望添加pageBreak,因为换行符适用于文本框而不适用于整个表格。

参考链接:

https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2008-r2/ms159225(v=sql.105)