SSRS - Matrix单元格中的换行符

时间:2016-08-23 14:48:34

标签: sql stored-procedures reporting-services line-breaks ssrs-2012

在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)+,但这不起作用。

2 个答案:

答案 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]