2014-10-01 58 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;