data _CALDATES;
merge CRSP.DSIX (keep=CALDT rename=(CALDT=ESTPER_BEG))
crsp.asix (keep=CALDT firstobs=%eval(&estper) rename=(CALDT=ESTPER_END))
CRSP.DSIX (keep=CALDT firstobs=%eval(&estper+&gap+1) rename=(CALDT=EVTWIN_BEG))
CRSP.DSIX (keep=CALDT firstobs=%eval(&estper+&gap-&start+1) rename=(CALDT=&evtdate))
CRSP.DSIX (keep=CALDT firstobs=%eval(&estper+&gap+&evtwin) rename=(CALDT=EVTWIN_END));
format ESTPER_BEG ESTPER_BEG EVTWIN_BEG &evtdate EVTWIN_END date9.;
if nmiss(ESTPER_BEG,ESTPER_BEG,EVTWIN_BE,EVTWIN_END,&evtdate)=0;
time+1;
run;
%put ### DONE!; All the macro variables(ex, %estper, &gap, etc) are either date or duration. Although this code worked, I could not quite understand the rol of firstobs. From what I can find, it was mostly used to limit the shown results but I think the role here is quite different from that. Also, I was not quite sure about the role of &evtdate. According to the original script's description, EVTDATE represents the name of the event date variable in INSET dataset. So, I put one of the event date variables caldt, but when I put this variable I see the log saying. NOTE: Variable CALDT is uninitialized. NOTE: There were 23787 observations read from the data set CRSP.DSIX. NOTE: There were 23678 observations read from the data set CRSP.DSIX. NOTE: There were 23647 observations read from the data set CRSP.DSIX. NOTE: There were 23646 observations read from the data set CRSP.DSIX. NOTE: There were 23645 observations read from the data set CRSP.DSIX. NOTE: The data set WORK._CALDATES has 0 observations and 7 variables. NOTE: DATA statement used (Total process time): real time 2.49 seconds cpu time 0.40 seconds The included code is one part of the macro and I was testing each of small parts so that I can understand how the whole macro works. The macro variable &evtdate is used several times after this part of code, but I could not see why when &evtdate is replaced with CALDT, which is one date variable from the dataset, is not working. Thank you all the time for sharing your opinion SAS community!
... View more