我有一个Excel与可以为空或包含日期值的列文件,但将它导入到SAS,当我需要的列在格式为DATE9
。只要列不是完全空它的工作原理,但在某些情况下,将它导入到SAS
为$CHAR1
。如何强制列在Excel没有价值观导入的日期列
单元格的格式已经date
如果有差别。
我有一个Excel与可以为空或包含日期值的列文件,但将它导入到SAS,当我需要的列在格式为DATE9
。只要列不是完全空它的工作原理,但在某些情况下,将它导入到SAS
为$CHAR1
。如何强制列在Excel没有价值观导入的日期列
单元格的格式已经date
如果有差别。
好吧,我假设你有SAS进入然后行货PC文件格式。您应该能够使用数据集选项DBSASTYPE,这会强制SAS使用所述的数据类型,而与输入数据的外观无关。在你的情况下,你希望它设置为数字,那么你可以使用DATE9。对其进行格式化。代码应该如下所示,我现在无法对其进行测试。
DATA WORK.excel_file;
set excel.spreadsheet (dbsastype=(column_name=numeric));
format column_name date9.;
run;
我认为你需要重新定义列在导入后。 事情是这样的:
data importedExcel(drop=suspiciousVariable2);
set importedExcel(rename=(suspiciousVariable=suspiciousVariable2));
attrib suspiciousVariable length=8 format=date9.;
suspiciousVariable=suspiciousVariable2 + 0;
run;
如果导入与数据的步骤,而不是PROC进口,你可以很容易地定义每个变量的格式。下面的链接提供了相当不错的例子:http://www2.sas.com/proceedings/sugi30/038-30.pdf
您使用什么方法? (proc导入,数据步骤等)和你有什么版本的SAS? – Longfish 2014-10-01 15:08:58
@Keith'DATA WORK.excel_file;'至于SAS版本'SAS Enterprise Guide 5.1' – stef52 2014-10-01 15:31:53