请进
看你的例子,好像指的是日期的重复,而且每个日期用过一次后就不能再配对了。是吗?所以ID=1 的日子‘20’配对了三次,ID=2的’10‘配对了一次,12’配对‘了一次,一共两次。ID=3是0次。如果ID=2有三次10,也只能是配对一次。
假定你的DATASET A 里只有这三个变量,并且STARTDATE, ENDDATE都是$10.格式。
data start;
set A;
day=substr(startDate,4,2);
keep ID day;
run;
data end;
set A;
day=substr(endDate,4,2);
keep ID day;
run;
data mix;
set start end;
temp=1;
proc sort; by ID day;
run;
proc means data=mix sum noprint; by ID day;
var temp; output out=B sum=;
data B;
set B;
pairs=INT(temp/2);
drop temp;
proc print; var ID day pairs;
run;