当语句为False时,SSRS返回#error;而当语句为True时,SSRS返回No Start Date。我测试了该语句的False边的DateDiff是正确的。我不确定从这里走哪个方向。谢谢。

=IIF(Fields!JobOrderIssueDate.Value = "", "No Start Date",DateDiff("d",Today(),Fields!ProjectedConstEndDate.Value))

最佳答案

您正在IIF中混合数据类型,并根据IIF的条件返回STRING或DATE。这是行不通的。

一种方法是转换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))

关于reporting-services - 在IIF语句中使用DateDiff的SSRS麻烦,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34276247/

10-12 16:40