data indexfut; /*读取数据,也可以导入*/
infile 'C:\SAS\Data\CSI300Index.csv' delimiter = ',' MISSOVER DSD lrecl=32767 firstobs=2 ;
input DATE CLOSE HIGH LOW OPEN;
/*format DATE yymmdd10.; 不可行*/
run;
proc print data = indexfut;
run;
proc contents data=fut nods ; /*查看数据集所有变量类型*/
run;
*形如;
*Obs DATE CLOSE HIGH LOW OPEN;
*1 20100416 3415.60 3488.00 3413.20 3450.00;
这是我通过CSV文件读入的四个变量,我现在想把数值型DATE转化为一般的日期格式,不知道怎么转换,希望各位大侠班帮忙。跪求。
我使用了下面两种的方法都不可行:
data fut;
set indexfut;
newdate=input(DATE, yymmdd10.);
run;
proc print data=fut;
run;
输出:
*Obs DATE CLOSE HIGH LOW OPEN newdate;
*1 20100416 3415.60 3488.00 3413.20 3450.00 -14333; 不可行
data fut;
set futdaydata;
format DATE yymmdd10.;
run;
proc print data=fut;
run;
输出:
*Obs DATE CLOSE HIGH LOW OPEN;
*1 ***** 3415.60 3488.00 3413.20 3450.00 ; 日期变成了星号*****