Online File
Rick Aster: Professional SAS Programming Shortcuts: Contents
DATA WORK.WDN;
RETAIN TYPE1 'I' TYPE2 'N' FMTNAME 'WDN' HLO 'UJ';
DO WEEKDAY = 1 TO 7;
NAME = UPCASE(LEFT(PUT('01JAN2005'D + WEEKDAY, DOWNAME9.)));
OUTPUT;
END;
RUN;
PROC FORMAT CNTLIN=WORK.WDN (KEEP=TYPE1 FMTNAME NAME WEEKDAY
RENAME=(TYPE1=TYPE NAME=START WEEKDAY=LABEL));
RUN;
PROC FORMAT CNTLIN=WORK.WDN (KEEP=TYPE2 FMTNAME NAME WEEKDAY HLO
RENAME=(TYPE2=TYPE WEEKDAY=START NAME=LABEL));
RUN;
DATA WORK.MXFORMAT;
RETAIN TYPE 'N' FMTNAME 'MX';
DO MONTH = 1 TO 12;
NAME = UPCASE(LEFT(PUT(MDY(MONTH, 1, 1960), MONNAME9.)));
OUTPUT;
END;
RUN;
PROC FORMAT CNTLIN=WORK.MXFORMAT
(RENAME=(MONTH=START NAME=LABEL));
RUN;
DATA WORK.MXINFMT;
RETAIN TYPE 'I' FMTNAME 'MX' HLO 'UJ';
DO MONTH = 1 TO 12;
NAME = UPCASE(LEFT(PUT(MDY(MONTH, 1, 1960), MONNAME9.)));
OUTPUT;
IF LENGTH(NAME) > 3 THEN DO;
NAME = SUBSTR(NAME, 1, 3);
OUTPUT;
END;
END;
RUN;
PROC FORMAT CNTLIN=WORK.MXINFMT
(RENAME=(NAME=START MONTH=LABEL));
RUN;