SSRS - 矩阵单元格中的换行符
SSRS - Line break in Matrix cell
在 SSRS 矩阵单元格中,我希望能够在给定的每个输出之间有一个换行符。
我的 MS SQL 服务器存储过程中有以下代码,然后将我的 SSRS 报告指向
SELECT Customer, Hostname, (QName + QHostname + Qtag + QSerial + QCategory + QType + QItem + QManu + QModel + QVersion) AS AdditionalInfo1
FROM TableQ
目前在 AdditionalInfo1 单元格中,当返回其中一个选项时,它们以逗号分隔
例如
QName、QHostname、Qtag。
相反,我希望它们在同一个单元格中用换行符分隔
例如
QName
Q主机名
Qtag
我试过在 AdditionalInfo1 中的每个 Q... 之间放置 + char(13) + 但这没有用。
对于 SSRS,您要使用 Chr(10),而不是 Chr(13)。我在表达式中使用它并作为 Join 定界符参数,它产生了预期的效果:文本框中的换行符。
编辑:
下面是一个表达式,如果值存在,将包含带换行符的字段,如果字段为空,则忽略这两个字段。
=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)
与其将所有 'Q' 列连接成一个字符串,不如将它们保持为单独的字段。然后在单个单元格中创建个人 placeholders,每个字段一个。您可以通过单击单元格(丰富的文本框)并键入用方括号括起来的字段名称(与数据集中显示的一样)来快速完成此操作
例如:
[QName]
[QHostname]
[Qtag]
在 SSRS 矩阵单元格中,我希望能够在给定的每个输出之间有一个换行符。
我的 MS SQL 服务器存储过程中有以下代码,然后将我的 SSRS 报告指向
SELECT Customer, Hostname, (QName + QHostname + Qtag + QSerial + QCategory + QType + QItem + QManu + QModel + QVersion) AS AdditionalInfo1
FROM TableQ
目前在 AdditionalInfo1 单元格中,当返回其中一个选项时,它们以逗号分隔
例如
QName、QHostname、Qtag。
相反,我希望它们在同一个单元格中用换行符分隔
例如
QName
Q主机名
Qtag
我试过在 AdditionalInfo1 中的每个 Q... 之间放置 + char(13) + 但这没有用。
对于 SSRS,您要使用 Chr(10),而不是 Chr(13)。我在表达式中使用它并作为 Join 定界符参数,它产生了预期的效果:文本框中的换行符。
编辑:
下面是一个表达式,如果值存在,将包含带换行符的字段,如果字段为空,则忽略这两个字段。
=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)
与其将所有 'Q' 列连接成一个字符串,不如将它们保持为单独的字段。然后在单个单元格中创建个人 placeholders,每个字段一个。您可以通过单击单元格(丰富的文本框)并键入用方括号括起来的字段名称(与数据集中显示的一样)来快速完成此操作
例如:
[QName]
[QHostname]
[Qtag]