使用datalines的数据集infile有两个日期变量

时间:2015-03-26 06:01:38

标签: sas

我的数据线有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=' ';

2 个答案:

答案 0 :(得分:7)

:(冒号)格式修饰符使您可以使用列表输入,但也可以在变量名称后指定信息,无论是字符还是数字。 SAS读取直到遇到空白列,定义的变量长度(仅限字符)或数据行的末尾(以先到者为准)。

Format Modifier

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;