在SSRS Matrix单元格中,我希望能够在给定的每个输出之间换行。
我的MS SQL Server存储过程中有以下代码,然后我将SSRS报告指向
SELECT Customer, Hostname, (QName + QHostname + Qtag + QSerial + QCategory + QType + QItem + QManu + QModel + QVersion) AS AdditionalInfo1
FROM TableQ
在AdditionalInfo1单元格中,当返回其中一个选项时,它们用逗号分隔
e.g。
QName,QHostname,Qtag。
相反,我希望它们在同一个单元格中以换行符分隔
e.g。
的QName
QHostname
Qtag
我尝试在AdditionalInfo1中的每个Q ...之间添加+ char(13)+,但这不起作用。
答案 0 :(得分:1)
对于SSRS,您希望使用Chr(10),而不是Chr(13)。我在表达式中使用了它并将其作为Join delimiter参数使用,它产生了所需的效果:文本框中的换行符。
修改强>
下面是一个表达式,如果存在值,将包含带换行符的字段,如果该字段为空,则省略两者。
=Fields!QName.Value
+ IIF(ISNOTHING(Fields!QHostname.Value),"", vbCrLf + Fields!QHostname.Value)
+ IIF(ISNOTHING(Fields!Qtag.Value),"", vbCrLf + Fields!Qtag.Value)
+ IIF(ISNOTHING(Fields!QSerial.Value),"", vbCrLf + Fields!QSerial.Value)
+ IIF(ISNOTHING(Fields!QCategory.Value),"", vbCrLf + Fields!QCategory.Value)
+ IIF(ISNOTHING(Fields!QType.Value),"", vbCrLf + Fields!QType.Value)
+ IIF(ISNOTHING(Fields!QItem.Value),"", vbCrLf + Fields!QItem.Value)
+ IIF(ISNOTHING(Fields!QManu.Value),"", vbCrLf + Fields!QManu.Value)
+ IIF(ISNOTHING(Fields!QModel.Value),"", vbCrLf + Fields!QModel.Value)
+ IIF(ISNOTHING(Fields!QVersion.Value),"", vbCrLf + Fields!QVersion.Value)
答案 1 :(得分:0)
不是将所有'Q'列连接成单个字符串,而是将它们保存为单独的字段。然后在单个单元格中创建单独的placeholders,每个字段一个。您可以通过单击单元格(富文本框)并键入方括号括起的字段名称(因为它显示在数据集中)来快速完成此操作
例如:
[QName]
[QHostname]
[Qtag]