Hi, I ask the question 2 days before , but there is a new problem . The data just like following . I wanna pick the data from dataset 'have_event' if it's date is in 12 months before the date of dataset 'have_base'. I also show the result I want and the code i tried wihch didn't work. data have_base; input company$ _date:$6. profit; date = input(_date !! '01',yymmdd8.); format date yymmn6.; drop _date; datalines; a 199701 5 a 199606 9 b 201404 6 f 200004 78 ; run; data have_event; input company$ _date:$6. EPS; date = input(_date !! '01',yymmdd8.); format date yymmn6.; drop _date; datalines; a 199608 5 a 199706 30 a 199605 4 a 199712 9 a 199806 10 c 201404 6 k 200004 78 n 198607 56 a 198504 3 b 201304 3 b 201305 6 b 201306 8 b 201504 80 b 201603 5 ; run; proc sort data=have_event; by company; run; data want; merge have_base (in=b rename=(date=date_b)) have_event (in=e) ; by company; if b and e; if date >= intnx('month',date_b, -12); /*if 0>=intck('month',date,date_b) >=-12;*/ drop profit date_b; run; proc print data=want noobs; run; The result I want should be : a 199608 5 a 199605 4 a 199605 4 b 201304 3 b 201305 6 b 201306 8 for example , as for a, The date in dataset 'have_base' is '199701' and '199606', so the date in 'have_event' dataset should be (199601 to 199612) and in(199506 to 199605) and I get the right EPS. Thanks®ards
... View more