【问题标题】:SSRS - Line break in Matrix cellSSRS - 矩阵单元格中的换行符
【发布时间】:2016-08-23 14:48:33
【问题描述】:

在 SSRS 矩阵单元格中,我希望能够在给定的每个输出之间换行。

我的 MS SQL Server 存储过程中有以下代码,然后我将 SSRS 报告指向

SELECT Customer, Hostname, (QName + QHostname + Qtag + QSerial + QCategory + QType + QItem + QManu + QModel + QVersion) AS AdditionalInfo1 
FROM TableQ

此时在 AdditionalInfo1 单元格中,当返回其中一个选项时,它们之间用逗号分隔

例如

QName、QHostname、Qtag。

相反,我希望它们在同一个单元格中用换行符分隔

例如

Q名称

QHostname

Qtag

我尝试在 AdditionalInfo1 中的每个 Q... 之间放置 + char(13) + 但这不起作用。

【问题讨论】:

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


    【解决方案1】:

    对于 SSRS,您希望使用 Chr(10),而不是 Chr(13)。我在表达式中使用了它并作为连接分隔符参数,它产生了预期的效果:文本框中的换行符。

    编辑:

    下面是一个表达式,如果存在值,则包含带有换行符的字段,如果字段为空,则省略两者。

    =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)
    

    【讨论】:

    • 谢谢。如果没有回车的字段之一没有数据,是否仍然存在?目前,由于所有间隙,我的细胞非常大。所以基本上如果有一个 NULL 然后不要回车。
    • 当然。我已经修改了上面的帖子 - 连接应该会给你想要的结果。
    • 抱歉,我该如何将其放入上面的查询中?
    • 在查询中将字段分开,但使用上面的表达式。
    【解决方案2】:

    不要将所有“Q”列连接成一个字符串,而是将它们作为单独的字段。然后在单个单元格中创建单独的placeholders,每个字段一个。您可以通过单击单元格(即富文本框)并键入用方括号括起来的字段名称(与数据集中显示的一样)来快速完成此操作

    例如:

    [QName]
    [QHostname]
    [Qtag]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多