如何解决DateAdd的SSRS表达式返回值和空白
大家好,我在SSRS中有一个表达式,可以根据“上次拟合测试”来计算截止日期。如果上一次验配测试有日期,则该数据是正确的。但是,如果“上一次拟合测试”为空或空白,则会给出错误“ #########”(假定返回空或空白)。如何修复该表达式?
=IIF(IsNothing(Fields!LastFitTest.Value) = True,"",DateAdd(DateInterval.Year,1,Fields!LastFitTest.Value))
解决方法
尝试一下...
=IIF(
IsNothing(Fields!LastFitTest.Value),"",DateAdd(DateInterval.Year,1,IIF(IsNothing(Fields!LastFitTest.Value),'1900-01-01',Fields!LastFitTest.Value))
)
问题在于IIF总是评估真假条件,因此,如果您在LastFitTest
中没有任何值,那么即使永远不会使用,假面也无法评估。
我们在这里所做的所有事情都是使在DateDiff函数中处理的日期始终返回有效日期。 1900年1月1日一无是处,您可以在其中输入任何日期,因为它将永远不会用在最终结果中。
唯一的其他更改是删除了= True
。 IsNothing
返回True / False,因此您不必明确地说= True。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。