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

use*_*seR 3 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;
Run Code Online (Sandbox Code Playgroud)

我试图添加代码,但仍然无法正常工作

infile datalines delimiter=' ';
Run Code Online (Sandbox Code Playgroud)

Lov*_*ust 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;
Run Code Online (Sandbox Code Playgroud)


sus*_*hil 7

代码不起作用的原因是因为您使用List输入来读取非标准数据而没有冒号输入修饰符或informat语句.

对于使用List输入技术的非标准数据(逗号,美元,日期等 - > 读取原始数据 - >数据类型)或长度大于8字节的标准数据,您需要使用带有INPUT的INFORMAT语句或冒号修饰符声明.

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;
Run Code Online (Sandbox Code Playgroud)

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;
Run Code Online (Sandbox Code Playgroud)