Online File
Rick Aster: Professional SAS Programming Shortcuts: Contents
DATA CORP.CALENDAR (KEEP=DATE OPENDAY INDEX=(DATE));
SET WORK.MONTH;
ARRAY DAYS{6, 7} $ 2;
ARRAY FLAG{6, 7} $ 1;
WEEK = 1;
DO DAY = 1 TO 31;
DATE = MDY(MONTH, 1, YEAR) + DAY - 1;
IF MONTH(DATE) > MONTH THEN DELETE;
WEEKDAY = WEEKDAY(DATE);
IF DAY > 1 AND WEEKDAY = 1 THEN WEEK + 1;
OPENDAY = DAYFLAG{WEEK, WEEKDAY};
OUTPUT;
END;
RUN;