Spotfire 中的 Datediff 为 null

Datediff with null in Spotfire

我正在尝试计算两个日期之间的差异,但是如果 "end date" 有一个空值,比如第二行和第四行,那么我想输入 "today"。 ...数据 table 看起来像这样。

Hire Date             Term Date = "end date"          
01/01/2019            05/01/2020
05/04/2018            
09/17/2019            03/18/2020
10/19/2018

我原以为这样的事情会奏效,但事实并非如此……

If([Term Date]<>NULL THEN DateDiff("year",[Hire Date],[Term Date])
ELSE  DateDiff("year",[Hire Date],Today())
END 

提前致谢!

您可以使用 SN() 替代 Null。

DateDiff('year',[Hire Date] ,  SN([TermDate],Today() )   )

或使用 case 语句而不是 IF,因为 IF 语句的格式不正确 - If(argument, True, False) 是正确的格式,但在某些情况下使用案例更容易。

Case when [Term Date] is null then DateDiff("year",[Hire Date],Today()) 
else DateDiff("year",[Hire Date],[Term Date]) 
end