2014-10-01 34 views
1

我有一個Excel與可以爲空或包含日期值的列文件,但將它導入到SAS,當我需要的列在格式爲DATE9。只要列不是完全空它的工作原理,但在某些情況下,將它導入到SAS$CHAR1如何強制列在Excel沒有價值觀導入的日期列

單元格的格式已經date如果有差別。

+0

您使用什麼方法? (proc導入,數據步驟等)和你有什麼版本的SAS? – Longfish 2014-10-01 15:08:58

+0

@Keith'DATA WORK.excel_file;'至於SAS版本'SAS Enterprise Guide 5.1' – stef52 2014-10-01 15:31:53

回答

4

好吧,我假設你有SAS進入然後行貨PC文件格式。您應該能夠使用數據集選項DBSASTYPE,這會強制SAS使用所述的數據類型,而與輸入數據的外觀無關。在你的情況下,你希望它設置爲數字,那麼你可以使用DATE9。對其進行格式化。代碼應該如下所示,我現在無法對其進行測試。

DATA WORK.excel_file; 
set excel.spreadsheet (dbsastype=(column_name=numeric)); 
format column_name date9.; 
run; 
1

我認爲你需要重新定義列在導入後。 事情是這樣的:

data importedExcel(drop=suspiciousVariable2); 
    set importedExcel(rename=(suspiciousVariable=suspiciousVariable2)); 
    attrib suspiciousVariable length=8 format=date9.; 
    suspiciousVariable=suspiciousVariable2 + 0; 
run;