我在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
但是,它会引发错误:
“表达式的值具有一个范围参数,该参数对于 聚合函数”
希望我已经正确解释了这一点。 我究竟做错了什么?如何获得正确的结果? 谢谢
答案 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)