/****************************************************************\ PROGRAM: C:\MEPS\PROG\EXAMPLE_EM2.SAS DESCRIPTION: THIS EXAMPLE SHOWS HOW TO USE THE 2002 MEPS JOBS FILE (HC-063) TO DETERMINE HOW MANY PERSONS WORKING AT THE START OF THE YEAR CHANGED JOBS. INPUT FILES: (1) C:\MEPS\DATA\H63.SAS7BDAT (2002 MEPS JOBS FILE) (2) C:\MEPS\DATA\H62.SAS7BDAT (2002 MEPS FULL-YEAR FILE) \****************************************************************/ LIBNAME CMEPS V8 'C:\MEPS\DATA' ; FOOTNOTE 'PROGRAM: C:\MEPS\PROG\EXAMPLE_EM2.SAS'; TITLE1 'AHRQ MEPS DATA USERS WORKSHOP (EMPLOYMENT) -- NOV/DEC 2004'; TITLE2 ' '; /***** THIS PROC SORT READS IN THE REQUIRED VARIABLES FROM THE *****/ /***** 2002 MEPS JOBS FILE FILE (HC-063) AND SUBSETS TO *****/ /***** PERSONS WHO HAD A JOB ON OR BEFORE JANUARY 1, 2002. *****/ /***** THE OUTPUT FILE *EMPSTART_POP* IS A PERSON LEVEL FILE. *****/ PROC SORT DATA= CMEPS.H63 (WHERE= ((((PANEL = 6 AND RN = 3) OR (PANEL = 7 AND RN = 1)) AND (SUBTYPE IN (1, 2, 3, 4))) AND ((JSTRTY < 2002) OR (JSTRTM = 1 AND JSTRTD = 1 AND JSTRTY = 2002)))) NODUPKEY OUT= EMPSTART_POP (KEEP= DUPERSID); BY DUPERSID; RUN; /***** THIS PROC SORT OUTPUTS A JOBS FILE THAT IDENTIFIES *****/ /***** THOSE WITH A JOB AT THE START OF 2002 WHO EITHER ADDED *****/ /***** A JOB OR CHANGED JOBS. *****/ PROC SORT DATA= CMEPS.H63 (KEEP= DUPERSID SUBTYPE JSTRTM JSTRTD JSTRTY JOBSIDX) OUT= H63; BY DUPERSID; RUN; DATA CHNGJOB_POP (KEEP= DUPERSID); MERGE H63 (IN= A) EMPSTART_POP (IN= B); BY DUPERSID; IF ( (SUBTYPE IN (3,4)) OR ((SUBTYPE IN (1, 2)) AND (JSTRTY = 2002 AND (NOT (JSTRTD = 1 AND JSTRTM = 1))))) AND (A AND B) THEN OUTPUT; RUN; PROC SORT DATA= CHNGJOB_POP NODUPKEY; BY DUPERSID; RUN; DATA HC62 (KEEP= AGE DUPERSID PERWT02P); SET CMEPS.H62 (KEEP= DUPERSID AGE02X AGE42X AGE31X PERWT02P); IF AGE02X >= 0 THEN AGE = AGE02X; ELSE IF AGE42X >= 0 THEN AGE = AGE42X; ELSE IF AGE31X >= 0 THEN AGE = AGE31X; IF AGE GE 18 THEN OUTPUT; RUN; PROC FORMAT; VALUE AGEF 18-44 = '18-44' 45-64 = '45-64' 65-85 = '65-85'; RUN; PROC FREQ DATA= HC62; TABLES AGE; FORMAT AGE AGEF. ; RUN; PROC SORT DATA= HC62; BY DUPERSID; RUN; /***** CREATE A COMBINED DATA SET WHERE THE EMPSTART_POP PERSONS *****/ /***** AND THE CHNGJOB_POP PERSONS ARE DESIGNATED BY VARIABLES. *****/ DATA CHNGINFO; MERGE HC62 (IN= A) EMPSTART_POP (IN= B) CHNGJOB_POP (IN= C) ; BY DUPERSID; IF B THEN EMPSTART = 'YES'; ELSE EMPSTART = 'NO'; IF C THEN CHNGJOB = 'YES'; ELSE CHNGJOB = 'NO'; IF A THEN OUTPUT; RUN; TITLE5 'UNWEIGHTED FREQUENCIES' ; PROC FREQ DATA= CHNGINFO; TABLES EMPSTART CHNGJOB EMPSTART*CHNGJOB / LIST MISSING ; RUN; TITLE3 'AMONG PERSONS 18 AND OLDER WITH A CURRENT JOB STARTING'; TITLE4 'ON OR BEFORE JANUARY 1, 2002,' ; TITLE4 'PERCENT WHO EITHER ADDED OR STOPPED A JOB IN 2002'; TITLE5 ' '; TITLE6 'UNWEIGHTED FREQUENCY TABLE'; PROC FREQ DATA= CHNGINFO; TABLES CHNGJOB / LIST MISSING ; RUN; TITLE6 'WEIGHTED FREQUENCY TABLE'; PROC FREQ DATA= CHNGINFO; TABLES CHNGJOB / LIST MISSING ; WHERE EMPSTART = 'YES'; WEIGHT PERWT02P; RUN;