SSRS - Report Builder 3.0
我们最近将所有SQL Server日期时间列迁移到datetimeoffset列。这对我们的一份报告产生了有害影响。
报告引用名为TerminalStateDateTime的NULLABLE datetimeoffset列。我希望使用以下格式:
=格式(字段!TerminalStateDateTime.Value.DateTime," dd MMM yyyy hh:mm")
不幸的是,当TerminalStateDateTime的值为NULL时,它显示#Error。我尝试使用IIF和Switch来捕获它,但没有任何作用:
=IIF(IsNothing(Fields!TerminalStateDateTime.Value), "", Format(Fields!TerminalStateDateTime.Value.DateTime, "dd MMM yyyy hh:mm"))
有没有人知道如何忽略NULL值并正确格式化非NULL值?
由于
爱德华
答案 0 :(得分:1)
最简单的选择是简单地在文本框中应用格式,而不是通过表达式。
使用一些简单的数据:
select TerminalStateDateTime = cast('20140101' as datetimeoffset)
union all select TerminalStateDateTime = cast('20140201' as datetimeoffset)
union all select null
我有一张简单的表格:
第一列只显示值。第二个使用你的表达,即
= Format(Fields!TerminalStateDateTime.Value.DateTime, "dd MMM yyyy hh:mm")
第三种应用相同的格式,但在文本框属性中:
您可以看到这不会给#Error
: