当语句为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/