我的数据线有2个变量,日期1和日期2,格式为ddmmyy10。和mmddyy10。
data date;
input date1 ddmmyy10. date2 mmddyy10.;
datalines;
09/01/2015 01/09/2015
10/01/2015 01/10/2015
11/01/2015 01/11/2015
12/01/2015 01/12/2015
13/01/2015 01/13/2015
;
run;
我尝试添加代码但仍无法正常工作
infile datalines delimiter=' ';
答案 0 :(得分:7)
:
(冒号)格式修饰符使您可以使用列表输入,但也可以在变量名称后指定信息,无论是字符还是数字。 SAS读取直到遇到空白列,定义的变量长度(仅限字符)或数据行的末尾(以先到者为准)。
data date;
input date1: ddmmyy10. date2: mmddyy10.;
datalines;
09/01/2015 01/09/2015
10/01/2015 01/10/2015
11/01/2015 01/11/2015
12/01/2015 01/12/2015
13/01/2015 01/13/2015
;
run;
答案 1 :(得分:7)
代码无效的原因是因为您使用List输入来读取非标准数据而没有冒号输入修饰符或informat语句。
对于使用List输入技术的非标准数据(逗号,美元,日期等 - > Reading Raw data -> Kinds of Data)或长度大于8字节的标准数据,您需要使用INFORMAT语句或冒号修饰符INPUT声明。
1)使用INFORMAT语句或ATTRIB语句
为输入变量分配信息data date;
informat date1 ddmmyy10. date2 mmddyy10.;
input date1 date2;
format date1-date2 yymmdd10.;
datalines;
09/01/2015 01/09/2015
10/01/2015 01/10/2015
;
run;
2)使用冒号(:)输入修饰符
data date;
input date1: ddmmyy10. date2: mmddyy10.;
format date1-date2 yymmdd10.;
datalines;
09/01/2015 01/09/2015
10/01/2015 01/10/2015
;
run;