SSRS在语句为False
时返回#error,在语句为True时返回No Start Date
。我测试了并且DateDiff在语句的False侧是正确的。我不确定从这里走哪个方向。谢谢。
=IIF(Fields!JobOrderIssueDate.Value = "", "No Start Date",DateDiff("d",Today(),Fields!ProjectedConstEndDate.Value))
答案 0 :(得分:2)
您正在IIF
混合数据类型,返回STRING或DATE,具体取决于IIF
的条件。这不会起作用。
一种方法是转换由FALSE条件返回的数据类型,以便它也返回一个STRING(使用CStr()
):
=IIF(Fields!JobOrderIssueDate.Value = "", "No Start Date",CStr( DateDiff("d",Today(),Fields!ProjectedConstEndDate.Value)))
或者您可以对格式化进行更多控制(使用FormatDateTime()
):
=IIF(Fields!JobOrderIssueDate.Value = "", "No Start Date",FormatDateTime( DateDiff("d",Today(),Fields!ProjectedConstEndDate.Value), DateFormat.ShortDate))
答案 1 :(得分:-1)
更改格式以比较数据和字符串也不起作用,用IsDate
函数检查日期字段的最佳方法
=IIF(IsDate(Fields!JobOrderIssueDate.Value), DateDiff("d",Today(),Fields!ProjectedConstEndDate.Value), "No Start Date")