Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reporting services DateAdd的SSRS表达式返回值并为空_Reporting Services_Expression_Ssrs 2008_Calculated Field - Fatal编程技术网

Reporting services DateAdd的SSRS表达式返回值并为空

Reporting services DateAdd的SSRS表达式返回值并为空,reporting-services,expression,ssrs-2008,calculated-field,Reporting Services,Expression,Ssrs 2008,Calculated Field,大家好,我在SSRS中有一个表达式,用于计算上次拟合测试的截止日期。如果上次配合测试有日期,则数据正确。但是,如果最后一次拟合测试为Null或空白,则会给出一个错误“#######”(假设返回空或空白)。我如何修正这个表达式 =IIF(IsNothing(Fields!LastFitTest.Value) = True,"",DateAdd(DateInterval.Year,1,Fields!LastFitTest.Value)) 试试这个 =IIF( IsNot

大家好,我在SSRS中有一个表达式,用于计算上次拟合测试的截止日期。如果上次配合测试有日期,则数据正确。但是,如果最后一次拟合测试为Null或空白,则会给出一个错误“#######”(假设返回空或空白)。我如何修正这个表达式

=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总是同时计算true和false条件,因此当您在
LastFitTest
中没有值时,false端无法计算,即使它永远不会被使用

我们在这里所做的就是让DateDiff函数中处理的日期始终返回有效日期。1900年1月1日没有任何意义,你可以把你喜欢的任何日期放在那里,因为它永远不会被用于最终结果

唯一的其他更改是删除
=True
IsNothing
返回True/False,因此不必显式地说=True