2017-05-03 638 views
0

我需要导入一个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; 
+0

http://www2.sas.com/proceedings/sugi29/068-29.pdf –

回答

0

很难知道没有看到数据。以下是一般信息,它可能无法回答您的确切问题。

为了避免常见错误,您应该在libname中设置mixed = yes。您可能还需要包含stringdate = yes语句。

混合=是允许任何超出范围的Excel日期值。

stringdates = yes以字符格式将所有日期转换为SAS,因此您需要使用input()函数将其转换为SAS日期。

Date = input(Date,mmddyy10。)