MEPS HC-158: Appendix 1. Sample SAS Program


NOTE: Copyright (c) 2002-2010 by SAS Institute Inc., Cary, NC, USA.
NOTE: SAS (r) Proprietary Software 9.3 (TS1M2)

4
5 /* APP13.sas */
6
7 OPTIONS LS=132 PS=79;
8
9
10 /* Program Name: SAMPLE.SAS */
11
12 /* Description: This job provides an example of how to get job info */
13 /* from Round 1 or Round 2 in the FY2012 JOBS file when */
14 /* a Round 3 current main job in the FY2013 JOBS file */
15 /* is a continuation job. */
16
17 /* This example creates a dataset of Round 3 continuation */
18 /* JOBS records with a SICKPAYX variable copied from the */
19 /* Round 1 or Round 2 newly reported job. */
20

22
23 libname jobs12 "c:\mydata\jobs12";
24 libname jobs13 "c:\mydata\jobs13";
25
26 /* Select continuing Panel 17, Round 3 Current Main JOBS */
27 /* (SUBTYPE=1, STILLAT=1) from the FY 2013 JOBS file and */
28 /* print selected variables from the first 20 observations */
29
30 data j13r3;
31 set jobs13.jobs13;
32 if panel=17
33 and rn=3
34 and subtype=1
35 and stillat=1
36 and sickpay=-1;
37 run;


NOTE: There were 59879 observations read from the data set JOBS13.JOBS13.
NOTE: The data set WORK.J13R3 has 6642 observations and 77 variables.
NOTE: Compressing data set WORK.J13R3 decreased size by 7.38 percent.
Compressed is 113 pages; un-compressed would require 122 pages.
NOTE: DATA statement used (Total process time):


real time 2.49 seconds
cpu time 0.10 seconds


38
39 proc print data=j13r3 (obs=20);
40 title 'Print Sample of Continuation Round 3 Records';
41 var dupersid panel rn jobsn subtype stillat sickpay;
42 run;


NOTE: There were 20 observations read from the data set WORK.J13R3.
NOTE: The PROCEDURE PRINT printed page 1.
NOTE: PROCEDURE PRINT used (Total process time):
real time 0.35 seconds
cpu time 0.04 seconds


43
44
45 /* Select newly reported Panel 17 Current Main JOBS records from */
46 /* the FY 2012 JOBS file and print selected variables from the */
47 /* first 20 observations. */
48
49 data j1213;
50 set jobs12.jobs12;
51 if subtype=1
52 and stillat=-1
53 and panel=17
54 and rn in (1,2);
55 run;

NOTE: There were 61969 observations read from the data set JOBS12.JOBS12.
NOTE: The data set WORK.J1213 has 9296 observations and 87 variables.
NOTE: Compressing data set WORK.J1213 decreased size by 10.77 percent.
Compressed is 174 pages; un-compressed would require 195 pages.
NOTE: DATA statement used (Total process time):
real time 2.72 seconds
cpu time 0.09 seconds

56
57 proc print data=j1213 (obs=20);
58 title 'Print Sample of Newly Reported Round 1 and Round 2 Records';
59 var dupersid panel rn jobsn subtype stillat sickpay;
60 run;

NOTE: There were 20 observations read from the data set WORK.J1213.
NOTE: The PROCEDURE PRINT printed page 2.
NOTE: PROCEDURE PRINT used (Total process time):
real time 0.00 seconds
cpu time 0.01 seconds

61
62 proc freq data=j1213;
63 tables sickpay/list missing;
64 title 'Sickpay Value of FY2012 Round 1 and Round 2 Newly Reported CMJs';
65 run;

NOTE: There were 9296 observations read from the data set WORK.J1213.
NOTE: The PROCEDURE FREQ printed page 3.
NOTE: PROCEDURE FREQ used (Total process time):
real time 0.30 seconds
cpu time 0.04 seconds

66
67
68 /* Prepare FY12 and FY13 data for merge */
69
70 proc sort data=j13r3;
71 by dupersid jobsn;
72 run;

NOTE: There were 6642 observations read from the data set WORK.J13R3.
NOTE: SAS sort was used.
NOTE: The data set WORK.J13R3 has 6642 observations and 77 variables.
NOTE: Compressing data set WORK.J13R3 decreased size by 7.38 percent.
Compressed is 113 pages; un-compressed would require 122 pages.
NOTE: PROCEDURE SORT used (Total process time):
real time 0.15 seconds
cpu time 0.01 seconds

73
74 proc sort data=j1213;
75 by dupersid jobsn;
76 run;

NOTE: There were 9296 observations read from the data set WORK.J1213.
NOTE: SAS sort was used.
NOTE: The data set WORK.J1213 has 9296 observations and 87 variables.
NOTE: Compressing data set WORK.J1213 decreased size by 10.77 percent.
Compressed is 174 pages; un-compressed would require 195 pages.
NOTE: PROCEDURE SORT used (Total process time):
real time 0.02 seconds
cpu time 0.03 seconds

77
78
79 /* Create a dataset (J13R3F) that includes all variables */
80 /* for the continuation Round 3 Current Main JOBS and create */
81 /* the new variable SICKPAYX by copying SICKPAY from the */
82 /* corresponding Round 1 or Round 2 newly reported job record. */
83
84 data j13r3f;
85 merge j13r3 (in=a) j1213 (in=b keep = dupersid jobsn sickpay
86 rename=(sickpay=SICKPAYX));
87 by dupersid jobsn;
88 if a and b;
89 run;

NOTE: There were 6642 observations read from the data set WORK.J13R3.
NOTE: There were 9296 observations read from the data set WORK.J1213.
NOTE: The data set WORK.J13R3F has 6641 observations and 78 variables.
NOTE: Compressing data set WORK.J13R3F decreased size by 6.56 percent.
Compressed is 114 pages; un-compressed would require 122 pages.
NOTE: DATA statement used (Total process time):
real time 0.02 seconds
cpu time 0.03 seconds

90
91 proc freq data=j13r3f;
92 tables sickpay*sickpayx/list missing;
93 title1 'Diagnostic Post-Merge - Sickpay * Sickpayx';
94 title2 'Round 3 Continuation Current Main Jobs Only';
95 run;

NOTE: There were 6641 observations read from the data set WORK.J13R3F.
NOTE: The PROCEDURE FREQ printed page 4.
NOTE: PROCEDURE FREQ used (Total process time):
real time 0.03 seconds
cpu time 0.01 seconds

96
97 OPTIONS LS=132 PS=79;
98
99

Return to Top

Print Sample of Continuation Round 3 Records

Obs DUPERSID PANEL RN JOBSN SUBTYPE STILLAT SICKPAY
1 20004101 17 3 1 1 1 -1
2 20004102 17 3 1 1 1 -1
3 20006101 17 3 1 1 1 -1
4 20006102 17 3 1 1 1 -1
5 20006104 17 3 1 1 1 -1
6 20009101 17 3 1 1 1 -1
7 20015101 17 3 1 1 1 -1
8 20015102 17 3 1 1 1 -1
9 20016101 17 3 1 1 1 -1
10 20016102 17 3 1 1 1 -1
11 20016103 17 3 1 1 1 -1
12 20016104 17 3 1 1 1 -1
13 20017101 17 3 1 1 1 -1
14 20017102 17 3 1 1 1 -1
15 20020101 17 3 1 1 1 -1
16 20020201 17 3 1 1 1 -1
17 20024101 17 3 1 1 1 -1
18 20024102 17 3 3 1 1 -1
19 20025101 17 3 1 1 1 -1
20 20025102 17 3 2 1 1 -1

Return to Top

Print Sample of Newly Reported Round 1 and Round 2 Records

Obs DUPERSID PANEL RN JOBSN SUBTYPE STILLAT SICKPAY
1 20004101 17 1 1 1 -1 2
2 20004102 17 1 1 1 -1 2
3 20005101 17 1 1 1 -1 2
4 20006101 17 1 1 1 -1 2
5 20006102 17 1 1 1 -1 2
6 20006104 17 2 1 1 -1 1
7 20009101 17 1 1 1 -1 -1
8 20010102 17 1 1 1 -1 1
9 20015101 17 1 1 1 -1 1
10 20015102 17 1 1 1 -1 1
11 20016101 17 1 1 1 -1 -1
12 20016102 17 1 1 1 -1 -1
13 20016103 17 1 1 1 -1 -8
14 20016104 17 1 1 1 -1 2
15 20017101 17 1 1 1 -1 2
16 20017102 17 1 1 1 -1 2
17 20019101 17 1 1 1 -1 -1
18 20020101 17 1 1 1 -1 1
19 20020201 17 1 1 1 -1 2
20 20023101 17 1 1 1 -1 1

Return to Top

Sickpay Value of FY2012 Round 1 and Round 2 Newly Reported CMJs

DOES PERSON HAVE PAID SICK LEAVE

SICKPAY Frequency Percent Cumulative Frequency Cumulative Percent
-9 16 0.17 16 0.17
-8 288 3.10 304 3.27
-7 22 0.24 326 3.51
-1 996 10.71 1322 14.22
1 4263 45.86 5585 60.08
2 3711 39.92 9296 100.00

Return to Top

Diagnostic Post-Merge - Sickpay * Sickpayx
Round 3 Continuation Current Main Jobs Only


SICKPAY SICKPAYX Frequency Percent Cumulative Frequency Cumulative Percent
-1 -9 6 0.09 6 0.09
-1 -8 183 2.76 189 2.85
-1 -7 12 0.18 201 3.03
-1 -1 781 11.76 982 14.79
-1 1 3316 49.93 4298 64.72
-1 2 2343 35.28 6641 100.00

Return to Top