Hi Reeza, I tried to do things a different way. DATA test2;
SET test;
DT_CHECK = intnx('month', EVENT_DT, -10);
DT_CHECK_STR = cats('Y', put(DT_CHECK, YEAR2.), '_', 'M', month(DT_CHECK));
HYST_DT_STR = cats('Y', put(EVENT_DT, YEAR2.), '_', 'M', month(EVENT_DT));
j=0;
array vars[*] Y11_M6--Y12_M3;
do i=1 to dim(vars);
YEAR = substr(scan(vname(vars[i]), 1, "_"), 2, 2);
MONTH = input(substr(scan(vname(vars[i]), 2, "_"), 2), 2.);
IF substr(YEAR, 1, 1) = '8' OR substr(YEAR, 1, 1) = '9' THEN NEW_YEAR = input(cats('19', YEAR), 4.);
ELSE NEW_YEAR = input(cats('20', YEAR), 4.);
IF DT_CHECK <= mdy(MONTH, 1, NEW_YEAR) <= EVENT_DT THEN /* don't know what to include here */;
end;
FORMAT DT_CHECK mmddyy10.;
RUN; I converted all the column names into SAS dates and used an IF statement to see if those "new" dates are between DT_CHECK and EVENT_DT. However, I am stuck--perhaps you could tell me if my method makes sense? Ultimately, if the new date formed using the column name is between DT_CHECK and EVENT_DT, I only want to sum up the columns in the range. Could you look at my code above and point me in the right direction?
... View more