1 The SAS System 19:22 Tuesday, September 15, 2009
NOTE: Copyright (c) 2002-2008 by SAS Institute Inc., Cary, NC, USA.
NOTE: SAS (r) Proprietary Software 9.2 (TS1M0)
Licensed to SOCIAL & SCIENTIFIC SYSTEMS INC/AHRQ/NIH, Site 0070021279.
NOTE: This session is executing on the XP_PRO platform.
NOTE: SAS initialization used:
real time 0:02.00
user cpu time 0:00.12
system cpu time 0:01.06
Memory 2582k
OS Memory 3292k
Timestamp 9/15/2009 7:22:45 PM
NOTE: AUTOEXEC processing beginning; file is C:\Program Files\SAS92\SASFoundation\9.2\autoexec.sas.
NOTE: AUTOEXEC processing completed.
1 /********************************************************************\
2
3 PROGRAM: C:\MEPS\PROG\EXAMPLE11.SAS
4
5 DESCRIPTION: THIS EXAMPLE SHOWS THE PROCESS FOR MERGING PARENT'S
6 INFORMATION TO CHILDREN'S RECORDS. IN THIS CASE, THE MOTHER'S
7 AND FATHER'S EMPLOYMENT STATUS (EMPST31) IS MERGED TO
8 CHILDREN, AGES 0-17. A NEW VARIABLE PAR_WORK IS CONSTURCTED TO
9 SUMMARIZE IF THE CHILD HAS TWO WORKING PARENTS, ONE
10 WORKING PARENT, OR NO WORKING PARENTS.
11
12 RUNS SURVEYFREQ THE NEW VARIABLE PAR_WORK.
13
14
15 INPUT FILE: C:\MEPS\DATA\H105.SAS7BDAT (2006 FULL-YEAR DATA FILE)
16
17 \********************************************************************/
18
19 FOOTNOTE "PROGRAM: C:\MEPS\PROG\EXAMPLE11.SAS";
20
21 LIBNAME CDATA "C:\MEPS\DATA";
NOTE: Libref CDATA was successfully assigned as follows:
Engine: V9
Physical Name: C:\MEPS\DATA
22
23 TITLE1 "AHRQ MEPS DATA USERS WORKSHOP -- SEPTEMBER 2009";
24
25 PROC FORMAT;
26 VALUE KIDFMT 1="CHILD, AGE 0-17"
27 0="NOT A CHILD";
NOTE: Format KIDFMT has been output.
28 VALUE PAR_WORK
29 1="1 BOTH PARENTS WORK"
30 2="2 ONE PARENT WORK"
31 3="3 NO WORKING PARENT"
32 0="0 NOT A CHILD";
NOTE: Format PAR_WORK has been output.
33 VALUE EMPST31A
34 -9,-8,-7,-1="NOT REPORTED"
35 0= "NO MOM OR DAD IN MEPS"
36 1 = "1 EMPLOYED"
37 2 = "2 JOB TO RETURN TO"
38 3 = "3 JOB DURING ROUND"
39 4 = "4 NOT EMPLOYED"
40 ;
NOTE: Format EMPST31A has been output.
41 VALUE MOMEMP
42 -9,-8,-7,-1="NOT REPORTED"
43 0= "NO MOM IN MEPS"
44 1 = "EMPLOYED"
45 2,3,4 = "NOT EMPLOYED"
46 ;
NOTE: Format MOMEMP has been output.
47
47 ! VALUE DADEMP
48 -9,-8,-7,-1="NOT REPORTED"
2 The SAS System 19:22 Tuesday, September 15, 2009
49 0= "NO DAD IN MEPS"
50 1 = "1 EMPLOYED"
51 2,3,4 = "NOT EMPLOYED"
52 ;
NOTE: Format DADEMP has been output.
53 RUN;
NOTE: PROCEDURE FORMAT used (Total process time):
real time 0:00.10
user cpu time 0:00.01
system cpu time 0:00.03
Memory 147k
OS Memory 3548k
Timestamp 9/15/2009 7:22:45 PM
54
55 ***************************************;
56 * READ 2006 CONSOLIDATED FULL YEAR FILE;
57 ***************************************;
58 DATA ALL_FY06 ;
59 SET CDATA.H105 (KEEP= DUPERSID DUID PID AGE31X MOPID31X
60 DAPID31X EMPST31 PERWT06F VARSTR VARPSU);
61 WHERE PERWT06F GT 0;
62 RUN;
NOTE: There were 32577 observations read from the data set CDATA.H105.
WHERE PERWT06F>0;
NOTE: The data set WORK.ALL_FY06 has 32577 observations and 10 variables.
NOTE: DATA statement used (Total process time):
real time 0:04.03
user cpu time 0:00.06
system cpu time 0:00.26
Memory 868k
OS Memory 4600k
Timestamp 9/15/2009 7:22:49 PM
63
64 PROC PRINT DATA =ALL_FY06(OBS=50);
65 VAR DUID DUPERSID AGE31X MOPID31X DAPID31X EMPST31;
66 TITLE2 "SAMPLE PRINTOUT FROM DATASET ALL_FY06";
67 RUN;
NOTE: There were 50 observations read from the data set WORK.ALL_FY06.
NOTE: The PROCEDURE PRINT printed page 1.
NOTE: PROCEDURE PRINT used (Total process time):
real time 0:00.68
user cpu time 0:00.01
system cpu time 0:00.03
Memory 1035k
OS Memory 5084k
Timestamp 9/15/2009 7:22:50 PM
68
69 **********************************************************;
70 * CREATE KIDS DATASET WITH LINKING IDS TO BOTH MOM AND DAD;
71 **********************************************************;
72 DATA KIDS (KEEP=DUPERSID MOMLINK DADLINK MOPID31X DAPID31X AGE31X);
73 SET ALL_FY06(WHERE=(0 <= AGE31X <= 17));
74
75 LENGTH MOMLINK DADLINK $8.;
76
77 IF MOPID31X NE -1 THEN MOMLINK =PUT(DUID,Z5.)||PUT(MOPID31X, Z3.);
78 IF DAPID31X NE -1 THEN DADLINK =PUT(DUID,Z5.)||PUT(DAPID31X, Z3.);
79
80 LABEL MOMLINK= "DWELLING UNIT ID AND PID OF PERSON'S MOM-RD 3/1"
81 DADLINK= "DWELLING UNIT ID AND PID OF PERSON'S DAD-RD 3/1";
82 DROP EMPST31;
83 RUN;
NOTE: There were 9655 observations read from the data set WORK.ALL_FY06.
WHERE (AGE31X>=0 and AGE31X<=17);
NOTE: The data set WORK.KIDS has 9655 observations and 6 variables.
NOTE: DATA statement used (Total process time):
real time 0:00.03
3 The SAS System 19:22 Tuesday, September 15, 2009
user cpu time 0:00.01
system cpu time 0:00.01
Memory 543k
OS Memory 5368k
Timestamp 9/15/2009 7:22:50 PM
84
85 PROC PRINT DATA =KIDS(OBS=50);
86 TITLE2 "SAMPLE PRINTOUT FROM DATASET KIDS";
87 RUN;
NOTE: There were 50 observations read from the data set WORK.KIDS.
NOTE: The PROCEDURE PRINT printed page 2.
NOTE: PROCEDURE PRINT used (Total process time):
real time 0:00.00
user cpu time 0:00.00
system cpu time 0:00.00
Memory 142k
OS Memory 5084k
Timestamp 9/15/2009 7:22:50 PM
88
89 *****************************************;
90 * CREATE "DADS" AND "MOMS" DATASETS -
91 * RENAME THE DUPERSID TO DADLINK AND MOMLINK
92 * FOR LINKING PURPOSES ONLY.
93 * IF THERE'S A MATCH ON THE KIDS
94 * FILE, THEN THE RECORD IS A "DAD" OR "MOM";
95 *****************************************;
96 DATA DADS;
97 SET ALL_FY06 (KEEP=DUPERSID EMPST31 RENAME=(DUPERSID=DADLINK EMPST31=DAD_EMPST31));
98 RUN;
NOTE: There were 32577 observations read from the data set WORK.ALL_FY06.
NOTE: The data set WORK.DADS has 32577 observations and 2 variables.
NOTE: DATA statement used (Total process time):
real time 0:00.01
user cpu time 0:00.00
system cpu time 0:00.00
Memory 236k
OS Memory 5084k
Timestamp 9/15/2009 7:22:50 PM
99 PROC SORT DATA =DADS; BY DADLINK; RUN;
NOTE: There were 32577 observations read from the data set WORK.DADS.
NOTE: The data set WORK.DADS has 32577 observations and 2 variables.
NOTE: PROCEDURE SORT used (Total process time):
real time 0:00.03
user cpu time 0:00.03
system cpu time 0:00.00
Memory 1200k
OS Memory 6108k
Timestamp 9/15/2009 7:22:50 PM
100 PROC PRINT DATA=DADS (OBS=50);
101 TITLE2 "DATASET DADS - ALL DUPERSIDS WITH DUPERSID RENAMED AS DADLINK";
102 RUN;
NOTE: There were 50 observations read from the data set WORK.DADS.
NOTE: The PROCEDURE PRINT printed page 3.
NOTE: PROCEDURE PRINT used (Total process time):
real time 0:00.00
user cpu time 0:00.00
system cpu time 0:00.00
Memory 130k
OS Memory 5852k
Timestamp 9/15/2009 7:22:50 PM
103
104 DATA MOMS;
105 SET ALL_FY06(KEEP=DUPERSID EMPST31 RENAME=(DUPERSID=MOMLINK EMPST31=MOM_EMPST31));
4 The SAS System 19:22 Tuesday, September 15, 2009
106 RUN;
NOTE: There were 32577 observations read from the data set WORK.ALL_FY06.
NOTE: The data set WORK.MOMS has 32577 observations and 2 variables.
NOTE: DATA statement used (Total process time):
real time 0:00.01
user cpu time 0:00.01
system cpu time 0:00.00
Memory 235k
OS Memory 5852k
Timestamp 9/15/2009 7:22:50 PM
107 PROC SORT DATA =MOMS; BY MOMLINK; RUN;
NOTE: There were 32577 observations read from the data set WORK.MOMS.
NOTE: The data set WORK.MOMS has 32577 observations and 2 variables.
NOTE: PROCEDURE SORT used (Total process time):
real time 0:00.03
user cpu time 0:00.00
system cpu time 0:00.01
Memory 1200k
OS Memory 6108k
Timestamp 9/15/2009 7:22:50 PM
108 PROC PRINT DATA=MOMS (OBS=50);
109 TITLE2 "DATASET MOMS - ALL DUPERSIDS WITH DUPERSID RENAMED AS MOMLINK";
110 RUN;
NOTE: There were 50 observations read from the data set WORK.MOMS.
NOTE: The PROCEDURE PRINT printed page 4.
NOTE: PROCEDURE PRINT used (Total process time):
real time 0:00.01
user cpu time 0:00.01
system cpu time 0:00.00
Memory 130k
OS Memory 5852k
Timestamp 9/15/2009 7:22:50 PM
111
112
113 ***************************************;
114 ** FIRST MERGE KIDS AND DADS BY DADLINK;
115 ** THEN REPEAT MERGE FOR MOMLINK;
116 ***************************************;
117 PROC SORT DATA =KIDS; BY DADLINK; RUN;
NOTE: There were 9655 observations read from the data set WORK.KIDS.
NOTE: The data set WORK.KIDS has 9655 observations and 6 variables.
NOTE: PROCEDURE SORT used (Total process time):
real time 0:00.01
user cpu time 0:00.00
system cpu time 0:00.01
Memory 694k
OS Memory 5852k
Timestamp 9/15/2009 7:22:50 PM
118 DATA KIDS2;
119 MERGE KIDS (IN=A) DADS (IN=B);
120 BY DADLINK;
121 IF A;
122 IF A AND NOT B THEN DAD_EMPST31=0;
123 RUN;
NOTE: There were 9655 observations read from the data set WORK.KIDS.
NOTE: There were 32577 observations read from the data set WORK.DADS.
NOTE: The data set WORK.KIDS2 has 9655 observations and 7 variables.
NOTE: DATA statement used (Total process time):
real time 0:00.01
user cpu time 0:00.01
system cpu time 0:00.00
Memory 349k
OS Memory 6108k
Timestamp 9/15/2009 7:22:50 PM
5 The SAS System 19:22 Tuesday, September 15, 2009
124
125 PROC SORT DATA=KIDS2; BY MOMLINK; RUN;
NOTE: There were 9655 observations read from the data set WORK.KIDS2.
NOTE: The data set WORK.KIDS2 has 9655 observations and 7 variables.
NOTE: PROCEDURE SORT used (Total process time):
real time 0:00.20
user cpu time 0:00.00
system cpu time 0:00.00
Memory 696k
OS Memory 6108k
Timestamp 9/15/2009 7:22:50 PM
126 DATA KIDS_WPARENTS;
127 MERGE KIDS2 (IN=A) MOMS (IN=B);
128 BY MOMLINK;
129 IF A;
130 IF A AND NOT B THEN MOM_EMPST31=0;
131 RUN;
NOTE: There were 9655 observations read from the data set WORK.KIDS2.
NOTE: There were 32577 observations read from the data set WORK.MOMS.
NOTE: The data set WORK.KIDS_WPARENTS has 9655 observations and 8 variables.
NOTE: DATA statement used (Total process time):
real time 0:00.01
user cpu time 0:00.01
system cpu time 0:00.00
Memory 331k
OS Memory 6108k
Timestamp 9/15/2009 7:22:51 PM
132
133 PROC SORT DATA=KIDS_WPARENTS; BY DUPERSID; RUN;
NOTE: There were 9655 observations read from the data set WORK.KIDS_WPARENTS.
NOTE: The data set WORK.KIDS_WPARENTS has 9655 observations and 8 variables.
NOTE: PROCEDURE SORT used (Total process time):
real time 0:00.03
user cpu time 0:00.00
system cpu time 0:00.03
Memory 753k
OS Memory 6108k
Timestamp 9/15/2009 7:22:51 PM
134 PROC PRINT DATA=KIDS_WPARENTS (OBS=50);
135 TITLE2 "DATASET KIDS WITH PARENTS INFORMATION";
136 RUN;
NOTE: There were 50 observations read from the data set WORK.KIDS_WPARENTS.
NOTE: The PROCEDURE PRINT printed page 5.
NOTE: PROCEDURE PRINT used (Total process time):
real time 0:00.00
user cpu time 0:00.00
system cpu time 0:00.00
Memory 148k
OS Memory 6108k
Timestamp 9/15/2009 7:22:51 PM
137
138
139 ***********************************;
140 * MERGE BACK TO ALL_FY06 TO PICK
141 * UP ENTIRE SAMPLE
142 ***********************************;
143 DATA ALL2_FY06;
144 MERGE KIDS_WPARENTS (IN=A)
145 ALL_FY06 (IN=B);
146 BY DUPERSID;
147 IF A THEN DO;
148 POP_KID=1;
149 IF MOM_EMPST31=1 AND DAD_EMPST31=1 THEN PAR_WORK=1;
6 The SAS System 19:22 Tuesday, September 15, 2009
150 ELSE IF MOM_EMPST31=1 OR DAD_EMPST31=1 THEN PAR_WORK=2;
151 ELSE PAR_WORK=3;
152 END;
153
154 ELSE DO;
155 POP_KID=0;
156 DAD_EMPST31=-1;
157 MOM_EMPST31=-1;
158 PAR_WORK=0;
159 END;
160
161 LABEL="NUMBER OF WORKING PARENTS";
162 RUN;
NOTE: There were 9655 observations read from the data set WORK.KIDS_WPARENTS.
NOTE: There were 32577 observations read from the data set WORK.ALL_FY06.
NOTE: The data set WORK.ALL2_FY06 has 32577 observations and 17 variables.
NOTE: DATA statement used (Total process time):
real time 0:00.03
user cpu time 0:00.01
system cpu time 0:00.01
Memory 398k
OS Memory 6108k
Timestamp 9/15/2009 7:22:51 PM
163
164
165 PROC PRINT DATA =ALL2_FY06 (OBS=50);
166 VAR DUPERSID AGE31X MOMLINK DADLINK PAR_WORK MOM_EMPST31 DAD_EMPST31;
167 TITLE2 "SAMPLE PRINTOUT FROM DATASET ALL2_FY06";
168 RUN;
NOTE: There were 50 observations read from the data set WORK.ALL2_FY06.
NOTE: The PROCEDURE PRINT printed page 6.
NOTE: PROCEDURE PRINT used (Total process time):
real time 0:00.00
user cpu time 0:00.00
system cpu time 0:00.00
Memory 172k
OS Memory 6108k
Timestamp 9/15/2009 7:22:51 PM
169
170 PROC FREQ DATA=ALL2_FY06;
171 TABLE POP_KID*PAR_WORK*MOM_EMPST31*DAD_EMPST31/LIST MISSING;
172 FORMAT POP_KID KIDFMT. DAD_EMPST31 DADEMP. MOM_EMPST31 MOMEMP. PAR_WORK
PAR_WORK.;
173 RUN;
NOTE: There were 32577 observations read from the data set WORK.ALL2_FY06.
NOTE: The PROCEDURE FREQ printed page 7.
NOTE: PROCEDURE FREQ used (Total process time):
real time 0:00.04
user cpu time 0:00.01
system cpu time 0:00.01
Memory 586k
OS Memory 6392k
Timestamp 9/15/2009 7:22:51 PM
174
175 TITLE2 "FREQUENCY FOR PARENT'S EMPLOYMENT STATUS RD 3/1";
176 TITLE3 "WEIGHT = PERWT06F";
177 PROC SURVEYFREQ DATA =ALL2_FY06;
178 STRATA VARSTR;
179 CLUSTER VARPSU;
180 WEIGHT PERWT06F;
181 TABLES POP_KID*PAR_WORK/ ROW;
182 FORMAT PAR_WORK PAR_WORK. POP_KID KIDFMT.;
183 RUN;
NOTE: The PROCEDURE SURVEYFREQ printed page 8.
NOTE: PROCEDURE SURVEYFREQ used (Total process time):
real time 0:00.14
user cpu time 0:00.09
system cpu time 0:00.03
7 The SAS System 19:22 Tuesday, September 15, 2009
Memory 3610k
OS Memory 9744k
Timestamp 9/15/2009 7:22:51 PM
184
NOTE: SAS Institute Inc., SAS Campus Drive, Cary, NC USA 27513-2414
NOTE: The SAS System used:
real time 0:08.00
user cpu time 0:00.49
system cpu time 0:01.67
Memory 7489k
OS Memory 9744k
Timestamp 9/15/2009 7:22:51 PM