SAS导入excel日期格式更改
问题描述:
我需要导入一个excel,excel有几列,第一列A是日期列。列A的日期格式为DDMMMYYYY,例如'01Jan2017',在Excel中,数据类型是日期类型。但是,当我将它导入到SAS时,所有其他列保持相同的数据类型(数字,字符等)和值。但是,列A成为一个数字,例如('01Jan2017'为'42736')。如何按照原样导入数据,而不将数据类型转换为其他类型?SAS导入excel日期格式更改
libname out '/path';
proc import out=out.sas_output_dataset
datafile='/path/excel_file.xlsx'
DBMS=XLSX
REPLACE;
sheet="Sheet1";
run;
答
很难知道没有看到数据。以下是一般信息,它可能无法回答您的确切问题。
为了避免常见错误,您应该在libname中设置mixed = yes。您可能还需要包含stringdate = yes语句。
混合=是允许任何超出范围的Excel日期值。
stringdates = yes以字符格式将所有日期转换为SAS,因此您需要使用input()函数将其转换为SAS日期。
Date = input(Date,mmddyy10。)
http://www2.sas.com/proceedings/sugi29/068-29.pdf –