0

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

ReportTable 结果(只是一个例子):

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

最终 Rrport 表所需的输出:

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

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

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

这是我尝试过的:

    =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

但是,它会引发错误:

“表达式的值具有对聚合函数无效的范围参数”

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

4

1 回答 1

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)

于 2019-06-03T08:05:00.360 回答