我正在尝试格式化包含DateTime?
值的Reporting Services报表中的某些单元格。
如果底层数据的NULL
为DateTime?
,我想不显示任何内容(空单元格) - 如果该数据源包含值,我想显示日期格式为短日期格式(我的语言环境中为dd.MM.yyyy
)。
所以我试着把这个公式放到相关的SSRS单元格中
=FormatDateTime(Fields!DatumBSE.Value, 2)
但是现在我收到所有01.01.0001
日期的NULL
....
我似乎无法在SSRS(VB)公式中解决如何做到这一点....我尝试使用IsNothing()
但这似乎并没有真正帮助 - 我可以检测到NULL
,但是如何告诉单元格在这种情况下显示空字符串?
解决方案:
我最终使用了这个功能:
=IIF(IsNothing(Fields!DatumBSE.Value), "", FormatDateTime(Fields!DatumBSE.Value, 2))
现在似乎对我有用。
答案 0 :(得分:20)
我刚刚测试了以下表达式,并用空字符串替换了null
日期:
=IIF(Fields!DatumBSE.Value is nothing, nothing, FormatDateTime(Fields!DatumBSE.Value, 2))
我要提出的另一个建议是,您可以通过在日期值周围放置CASE
表达式,将日期格式化为报表数据集中的正确格式。
答案 1 :(得分:-1)
使用这样的代码:
If(isNull([date field]),Null, elsequote)