SSRS 表达式 - 在字段不包含数据时删除换行符

SSRS expression - remove line breaks when field contains no data

我有一个 SSRS 报告,它是一个日历,它显示每个人每天的不同 activity。我目前通过 .vbcrlf 来创建换行符。

我想做的只是return在特定值中有数据时换行

我现在的表情是:

=Fields!DayOfMonth.Value 
        & Constants.vbcrlf 
        & Constants.vbcrlf 
        & Fields!Shift.Value 
        & Constants.vbcrlf 
        & Fields!OT.Value 
        & Constants.vbcrlf 
        & Fields!Holiday.Value 
        & Constants.vbcrlf 
        & Fields!AbsenceType.Value 
        & Constants.vbcrlf 
        & Fields!ClockIn.Value

因此,如果没有假期,我想删除该行,并且表示 AbsenceIn/Out 的分隔符将向上移动文本框。我试过使用 isNothing 但语法不正确。

它将数据视为 NULL 值,这可以改变它处理文本的方式。

您可以在每个值周围使用 iif(isnothing(Field!Thing.Value), "", Constants.vbcrlf & Field!Thing.Value) 将空值替换为空格。

可能有更优雅的解决方案。

使用 SQL 服务器数据工具在 VS 2017 中对我有用的语法:

=IIf(Fields!Holiday.Value Is "", "", Fields!Holiday.Value + Environment.NewLine)
+ IIf(Fields!AbsenceType.Value Is "", "", Fields!AbsenceType.Value + Environment.NewLine)

代码几乎是不言自明的——如果 Holiday 没有值,则结果为空字符串,否则如果它有值,则显示值和换行符。对于任何函数的最新语法,只需参考表达式 window.

中给出的示例