楼主: 后街厨子
2046 11

[原创博文] 请教大家解决个问题 [推广有奖]

11
456852 发表于 2012-2-21 05:32:04
如果最先开始排过的话,试试看这个:
data b;
input id $ date num;
informat date yymmdd10.;
format date date9.;
cards;
60000 2002-01-04 15.01
60000 2002-01-05 12.01
60000 2002-01-06 13.01
60000 2002-01-07 14.01
60000 2002-01-08 14.01
60011 2002-01-04 15.01
60011 2002-01-05 12.01
60011 2002-01-06 13.01
60011 2002-01-07 14.01
60011 2002-01-08 14.01
60022 2002-01-04 15.01
60022 2002-01-05 12.01
60022 2002-01-06 13.01
60022 2002-01-07 14.01
60022 2002-01-08 14.01
;
proc sort data=b out=tem;by id date;run;
%macro all(n);
%do i=1 %to &n;
data tem st&i;
set tem;
by id date;
if last.id and last.date then output st&i;
else output tem;
run;
%end;
data stall;
set st1-st&n;
run;
proc sort data=stall;by id date;run;
proc print data=stall;run;
%mend;
%all(2);

12
sunset1986 发表于 2012-2-21 11:30:03
学习了
An honest tale speeds best being plainly told.
Cheers!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-2 05:39