我正在通過已在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 –