我正在通过已在PROD中运行的SAS程序工作。我遇到了一个我似乎无法找到答案的声明。我搜索通过documentation on the WHERE expression,它不似乎解决什么,我下面看到:这段时间是由什么样的比较造成的?
start_date eq .
什么是它比较start_date
使用.
时反对?
编辑:我也搜遍了documentation on date time functions,它也没有解决它。
我正在通过已在PROD中运行的SAS程序工作。我遇到了一个我似乎无法找到答案的声明。我搜索通过documentation on the WHERE expression,它不似乎解决什么,我下面看到:这段时间是由什么样的比较造成的?
start_date eq .
什么是它比较start_date
使用.
时反对?
编辑:我也搜遍了documentation on date time functions,它也没有解决它。
.
代表缺失值或“空”值数值值。回想一下,日期是simply pretty numeric values,计算自1960年1月1日以来的天数。
基本上,您的WHERE
子句似乎过滤了未定义start_date的记录。
在大多数情况下,一个稍微好一些的方式来表示这是使用missing
功能:
where missing(startdate);
SAS不仅拥有多个缺失值(.A
.B
...... .Z
._
以及.
),但当然也缺少字符(' '
或任意数量的空格)。 startdate eq .
只拿起一个案例。在99%的情况下,这是相同的,但缺失的功能不仅更加清晰,而且覆盖了额外的1%(以及对字符值同样适用)。
谢谢@Joe!我最近开始使用'missing()'出于那些确切的原因。我很欣赏证实我的推理是坚实的,而不是以错误的逻辑建立的。 –
绝对出色的答案,我刚刚弄清楚了自己,并加入了我自己的答案。现在不需要这样做,因为你验证了我自己的研究。非常感谢! –
谢谢。我一直在努力挣扎6k。 ;) – JDB
我记得自己打了那个里程碑。下一个是真正的里程碑是10K:D –