1 The SAS System 14:59 Monday, August 26, 2002 NOTE: Copyright (c) 1999-2001 by SAS Institute Inc., Cary, NC, USA. NOTE: SAS (r) Proprietary Software Release 8.2 (TS2M0) Licensed to UNIVERSITY OF MISSOURI AT COLUMBIA-CAMPUSWIDE-T/R, Site 0001242001. NOTE: This session is executing on the AIX 4.3 platform. This message is contained in the SAS news file, and is presented upon initialization. Edit the files "news" in the "misc/base" directory to display site-specific news and information in the program log. The command line option "-nonews" will prevent this display. NOTE: SAS initialization used: real time 0.16 seconds cpu time 0.03 seconds NOTE: AUTOEXEC processing beginning; file is /home/john/autoexec.sas. v8= 1 ***** ****** Standard OSEDA/MCDC autoexec (autoexec8.sas in sascode) rev. 07JUN02 - Begin execution ******* Standard filerefs and librefs assigned ***** NOTE: Libref SF12000 was successfully assigned as follows: Engine: V8 Physical Name: /pub/data/sf12000 NOTE: Libref SF1 was successfully assigned as follows: Levels: 1 Engine(1): V8 Physical Name(1): /pub/data/sf12000 NOTE: Libref SF12000X was successfully assigned as follows: Engine: V8 Physical Name: /pub/data/sf12000x NOTE: Libref SF1X was successfully assigned as follows: Levels: 1 Engine(1): V8 Physical Name(1): /pub/data/sf12000x NOTE: Libref SF3PROF was successfully assigned as follows: Engine: V8 Physical Name: /pub/data/sf3prof NOTE: Libref SF32000 was successfully assigned as follows: Engine: V8 Physical Name: /pub/data/sf32000 NOTE: Libref SF3 was successfully assigned as follows: Levels: 1 Engine(1): V8 Physical Name(1): /pub/data/sf32000 NOTE: Libref SF32000X was successfully assigned as follows: Engine: V8 Physical Name: /pub/data/sf32000x NOTE: Libref SF3X was successfully assigned as follows: Levels: 1 Engine(1): V8 Physical Name(1): /pub/data/sf32000x 2 The SAS System 14:59 Monday, August 26, 2002 NOTE: Libref INDCTRS was successfully assigned as follows: Engine: V8 Physical Name: /pub/data/indctrs NOTE: Libref POPESTS was successfully assigned as follows: Engine: V8 Physical Name: /pub/data/popests NOTE: Libref STF903X was successfully assigned as follows: Engine: V8 Physical Name: /pub/data/stf903x NOTE: Libref STF903X2 was successfully assigned as follows: Engine: V8 Physical Name: /pub/data/stf903x2 ****Finished with generic autoexec **** *** ****Excuting my private autoexec.sas file, rev. 12May2001 WARNING: Libname LIBRARY is not assigned. NOTE: Libname LIBRARY refers to the same physical library as SASCTLGS. NOTE: Libref LIBRARY was successfully assigned as follows: Engine: V8 Physical Name: /pub/sasctlgs WARNING: No logical assign for filename RLINK. ***** dmsflag= NODMS dmchk execution begins *** **Begin execution on Monday 26AUG02 at 14:59 PID=17608 NOTE: Libname SF1 refers to the same physical library as SF12000. NOTE: Libref SF1 was successfully assigned as follows: Engine: V8 Physical Name: /pub/data/sf12000 NOTE: Libname SF1X refers to the same physical library as SF12000X. NOTE: Libref SF1X was successfully assigned as follows: Engine: V8 Physical Name: /pub/data/sf12000x NOTE: Libref INDCTRS was successfully assigned as follows: Engine: V8 Physical Name: /pub/data/indctrs NOTE: Libref SF3TEMP was successfully assigned as follows: Engine: V8 Physical Name: /pub/data/sf32000/temp NOTE: Libref SF3XTEMP was successfully assigned as follows: Engine: V8 Physical Name: /pub/data/sf32000x/temp NOTE: AUTOEXEC processing completed. 1 x cd /pub/data/sf32000/Tools 1 ! ; %let pgm=invoke_sdcpro3; filename pgm "&pgm..sas"; 2 /* Setup to invoke the sdcpro3 macro to generate one or more profile reports using the sdcprofile3 code 3 by the national SDC. 4 */ 5 options mprint source2; 6 ods print close; _____ _____ _____ 1 1 1 WARNING 1-322: Assuming the symbol PRINTER was misspelled as print. 3 The SAS System 14:59 Monday, August 26, 2002 7 %let temp=%str(/temp); *<---for embargoed data. Set to null for public data-; 8 9 %include '/pub/sasmacro/sdcpro3.sas'; NOTE: %INCLUDE (level 1) file /pub/sasmacro/sdcpro3.sas is file /pub/sasmacro/sdcpro3.sas. 10 +%macro sdcpro3(setin=, /* name of input data set. If blank program will merge 3 sets based on &stab */ 11 + sumlev=,stab=,profiles=,pages=, 12 + logrecno=0, /* specify the logical rec no and program will read the single obs. */ 13 + filter=, /* name of filter macro. Ignored if logrecno specified*/ 14 + CumulPaging=1,geocomps=00, 15 + RevDate=26Aug02, 16 + debug=0); 17 + 18 +/* Adapted from MainsSF3.sas by Roy Williams, Mass. SDC (MISER). 19 + by John Blodgett, Missouri Census Data Center. 20 +------*/ 21 + %put ***sdcpro3 macro Rev. &revdate begins execution ****; 22 +OPTIONS LINESIZE=149 PAGESIZE=64 PAGENO=1 NODATE NONUMBER ORIENTATION=LANDSCAPE ; 23 +%local pages1 pages2 pagesA pagesD pagesE pagesF pagesH pagesI pagesJ pagesL 24 + pagesM pagesP pagesT ; 25 + 26 +%* credit line becomes bottom line on every page (<==customize for your state) ; 27 +%LET credline=%STR(Profile prepared by the Missouri Census Data Center (MCDC), http://mcdc.missouri.edu) ; 28 + 29 +FILENAME Codelib "/pub/data/sf32000/sdcprofiles"; *<== probably edit only once ; 30 + 31 +%global temp; 32 +LIBNAME sf3 "/pub/data/sf32000&temp" access=readonly; 33 + 34 +*--code and comments to invoke proc template and create the sf3style deleted here-; 35 +TITLE ; * Blanks out "The SAS System" title in ODS output ; 36 +ODS ps 37 +file="/pub/webrepts/sdcprofiles3/&stab/&sumlev&profiles..ps" pdfmark style=SF3style ; * <== edit psfile parm, above; 38 + 39 +%if %length(&profiles)=1 %then %let pages&profiles=&pages; 40 + 41 +%* Macro which PUTs centered title & a brief mnemonic on line 1 of every page ; 42 +%Macro PutTitle ( Title, Mnemonic) ; %* gets invoked by every page ; 43 +_Ltitle=LENGTH("&Title" ) ; 44 +%*--calculate column for centering title in 149-char line--; 45 +_TitleCol=FLOOR( (149 -_Ltitle)/2 ); 46 +%*--calculate column for right-justifying mnemonic in 149-char line--; 47 +_MnemCol = 150 -LENGTH("&Mnemonic" ) ; 48 +PUT #1 @_TitleCol "&Title" @_MnemCol "&Mnemonic" ; 49 +%mend PutTitle; 50 + 51 + %let profiles=%upcase(&profiles); 52 + %if &profiles=%str() or &profiles=ALL %then %let profiles=12ADEFHIJLMPT; 53 + 54 +DATA _null_ ; 55 + %if &setin=%str() %then %do; 56 + MERGE sf3.&stab.ph sf3.&stab.phct sf3.&stab.phctR ; 57 + BY LogRecNo ; 58 + %end; 59 + %if &logrecno ne 0 %then %do; 60 + where logrecno=&logrecno; 61 + %end; 4 The SAS System 14:59 Monday, August 26, 2002 62 + %else %if &filter=%str() %then %do; 63 + where SumLev="&sumlev"; 64 + %end; 65 + %else %&filter; 66 + 67 +%if &logrecno=0 and &geocomps ne %str() %then %do; 68 + if index("&geocomps",geocomp); 69 + %end; 70 + 71 +FILE PRINT LINESIZE=149 PAGESIZE=65 N=PAGESIZE NOTITLES; 72 +LENGTH _PAGES $11 profiles $13; 73 + 74 +RETAIN profiles "&profiles" ; 75 +AreaCount+1; 76 + 77 +*---------------------------------------------------------------------------------------- ; 78 + 79 +IF AreaCount LE 199 OR MOD(AreaCount,50)=0 THEN DO ; 80 + FILE LOG; 81 + PUT Pop100= GeoCode= AreaName= ; 82 + FILE PRINT; 83 +END ; 84 + 85 +RETAIN strtline 6 RunPage 0 ; 86 + * if cumulative page numbering is set to false, each area will start with page 1 ; 87 +IF (&CumulPaging=0) THEN RunPage=0 ; 88 +LENGTH Underline DoubleLine SingleLine $149 ; 89 +RETAIN Underline DoubleLine SingleLine VBAR '|' 90 + PLUS '+' _first 1; 91 +IF _first THEN DO; 92 + RunDate="&sysdate"; RETAIN RunDate; 93 + UnderLine= REPEAT('_',147) ; 94 + DoubleLine=REPEAT('=',147) ; 95 + SingleLine=REPEAT('-',147) ; 96 + ***profiles=SYMGET('PROFILES'); 97 + ***IF profiles=' ' or profiles='ALL' THEN profiles='12ADEFHIJLMPT'; 98 + _first=0 ; * (i.e. false) ; 99 +END; 100 +* IF (TOC>1 or (TOC=1 AND AreaCount=1)) THEN LINK PageTOC ; * no Table of Contents yet ; 101 +*Note that _pages gets a value intended (!) to be local to each routine ; 102 +%IF %INDEX(&PROFILES,1)%then %do; ProfID='Primary'; _PAGES="&pages1"; LINK PrimeProf; 103 + IF _ERROR_ THEN LINK err; %end; 104 +%IF %INDEX(&PROFILES,2)%then %do; ProfID='2ndary'; _PAGES="&pages2"; LINK secprof; 105 + IF _ERROR_ THEN LINK err; %end; 106 +%IF %INDEX(&PROFILES,A)%then %do; ProfID='Ancestry'; _PAGES="&pagesA"; LINK AncyProf; 107 + IF _ERROR_ THEN LINK err; %end; 108 +%IF %INDEX(&PROFILES,D)%then %do; ProfID='Disability'; _PAGES="&pagesD"; LINK DisProf; 109 + IF _ERROR_ THEN LINK err; %end; 110 +%IF %INDEX(&PROFILES,E)%then %do; ProfID='Educ'; _PAGES="&pagesE"; LINK EducProf; 111 + IF _ERROR_ THEN LINK err; %end; 112 +%IF %INDEX(&PROFILES,F)%then %do; ProfID='Family'; _PAGES="&pagesF"; LINK familyprof; 113 + IF _ERROR_ THEN LINK err; %end; 114 +%IF %INDEX(&PROFILES,H)%then %do; ProfID='Housing'; _PAGES="&pagesH"; LINK HousProf; 115 + IF _ERROR_ THEN LINK err; %end; 116 +%IF %INDEX(&PROFILES,I)%then %do; ProfID='Income'; _PAGES="&pagesI"; LINK IncProf; 117 + IF _ERROR_ THEN LINK err; %end; 5 The SAS System 14:59 Monday, August 26, 2002 118 +%IF %INDEX(&PROFILES,J)%then %do; ProfID='Jobs'; _PAGES="&pagesJ"; LINK JobsProf; 119 + IF _ERROR_ THEN LINK err; %end; 120 +%IF %INDEX(&PROFILES,L)%then %do; ProfID='Language'; _PAGES="&pagesL"; LINK LangProf; 121 + IF _ERROR_ THEN LINK err; %end; 122 +%IF %INDEX(&PROFILES,M)%then %do; ProfID='Migration'; _PAGES="&pagesM"; LINK migrprof; 123 + IF _ERROR_ THEN LINK err; %end; 124 +%IF %INDEX(&PROFILES,P)%then %do; ProfID='Poverty'; _PAGES="&pagesP"; LINK povprof; 125 + IF _ERROR_ THEN LINK err; %end; 126 +%IF %INDEX(&PROFILES,T)%then %do; ProfID='Transport'; _PAGES="&pagesT"; LINK tranprof; 127 + IF _ERROR_ THEN LINK err; %end; 128 + 129 +RETURN; *---end main routine. Now come the linked-to routines---; 130 +err: *---Handles errors encountered while generating profiles---; 131 + FILE LOG; 132 + _nerr+1; 133 + IF _nerr LE 20 THEN 134 + PUT '** Error detected (probably division by zero) ' 135 + 'during processing of profile ' ProfID ' for ' AREANAME; 136 + _ERROR_=0; ** turn off flag, avoid dump **; 137 + IF _nerr EQ 20 THEN DO; 138 + PUT // '** NO MORE OF THESE MESSAGES WILL BE PRINTED **'; 139 + END; 140 + FILE PRINT; 141 +RETURN; 142 + 143 +*<---main program loop ends with above return stmt. The following include 144 + statements reference the Codelib library where the links to generate the 145 + profiles reside--; 146 + **options mlogic symbolgen; 147 +%if %index(&profiles,1) %then %str(%include Codelib(PrimeProf.sas);); %*--Julie Hoang, California (with help from Jeff & 147 !+ Xan)--; 148 +%if %index(&profiles,2) %then %str(%include Codelib(secprof.sas);); %*--Xan Stevens, Kansas--; 149 +%if %index(&profiles,A) %then %str(%include Codelib(AncyProf.sas) ;); %*--Roy Williams, Massachusetts; 150 +%if %index(&profiles,D) %then %str(%include Codelib(Disprof.sas);); %*--Phyllis Smith, Amrut K., et al, Arkansas--; 150 !+%*---mcdc-Edited version!--; 151 +%if %index(&profiles,E) %then %str(%include Codelib(EducProf.sas) ;); %*--Jeff Wallace, Oklahoma--; 152 +%if %index(&profiles,F) %then %str(%include Codelib(familyprof.sas) ;); %*--Amy Chen, Maryland--; 153 +%if %index(&profiles,H) %then %str(%include Codelib(HousProf.sas) ;); %*--Julie Hoang, California (with help from 153 !+Jeff)--; 154 +%if %index(&profiles,I) %then %str(%include Codelib(IncProf.sas) ;); %*--Annette Boyer, Colorado--; 155 +%if %index(&profiles,J) %then %str(%include Codelib(JobsProf.sas) ;); %*--Roy Williams, Massachusetts--; 156 +%if %index(&profiles,L) %then %str(%include Codelib(LangProf.sas) ;); %*--Annette Boyer, Colorado--; 157 +%if %index(&profiles,M) %then %str(%include Codelib(migrprof.sas) ;); %*--Jeff Wallace, Oklahoma--; 158 +%if %index(&profiles,P) %then %str(%include Codelib(Povprof.sas) ;); %*--Phyllis Smith, Amrut K., et al, Arkansas--; 159 +%if %index(&profiles,T) %then %str(%include Codelib(tranprof.sas) ;); *--Jeff Wallace, Oklahoma--; 160 + 161 +HeadFoot: /* This routine is invoked after the body of each profile page 162 +is complete. Puts the headers, footers and the big outer box. 163 +Centered TITLE & brief mnemonic already PUT in line #1 by above routines. */ 164 +PUT #1 'Census 2000, Summary File 3' ; 165 +IF geocomp EQ '00' THEN PUT #2 'Area Name: ' AreaName ; 166 + ELSE PUT #2 'Area: ' AreaName 'Geo. Component:' geocomp $geocomp. ; 167 +LENGTH TypeString $ 60 ; 168 + 169 +TypeString='Area Type: '||TRIM(PUT(SumLev,$SumLev.))|| 170 + ' (Summary Level '||SumLev||')' ; 6 The SAS System 14:59 Monday, August 26, 2002 171 +PUT #2 @(150 - LENGTH(TypeString)) TypeString ; 172 +LENGTH GeoString $149 ; GeoString=' ' ; 173 +IF (StAb NE ' ') THEN GeoString='State: '||UPCASE(StAb) ; 174 +IF (cnty NE ' ') THEN DO ; 175 + GeoString=TRIM(GeoString)||' County: '||cnty ; 176 + IF (SumLev NE '050' ) THEN geostring= 177 + TRIM(geostring)||' ('||TRIM(PUT(county,$county.))||')'; 178 +END ; 179 +IF (CouSubFP NE ' ') THEN GeoString=TRIM(GeoString)||' CouSub: '||CouSubFP ; 180 +IF (PlaceFP NE ' ') THEN GeoString=TRIM(GeoString)||' Place: '||PlaceFP ; 181 +IF (Tract NE ' ') THEN GeoString=TRIM(GeoString)||' Tract: '||Tract ; 182 +IF (BG NE ' ') THEN GeoString=TRIM(GeoString)||' BG: '||BG ; 183 +IF (MSACMSA NOT IN (' ','####','9999')) THEN DO ; 184 + IF (CMSA2 = '99') THEN GeoString=TRIM(GeoString)||' MSA: '||MSACMSA ; 185 + ELSE DO ; GeoString=TRIM(GeoString)||' CMSA: '||MSACMSA ; 186 + IF (PMSA NE ' ') THEN GeoString=TRIM(GeoString)||' PMSA: '||PMSA ; 187 + END ; 188 +END ; 189 + IF (UA NOT IN (' ','9999')) THEN GeoString=TRIM(GeoString)||' UA: '||UA ; 190 + IF (CD106 NE ' ') THEN GeoString=TRIM(GeoString)||' CD: '||CD106 ; 191 + IF (Urbanrur NE ' ') THEN GeoString=TRIM(GeoString)||' Urban/Rural: '||UrbanRur ; 192 +* There is plenty of room to display additional geocodes as needed-- 193 + just concatenate them onto GeoString as above ; 194 +PUT #3 GeoString ; 195 + 196 +*---Draw the box around the tabular area incl left and right vertical lines--; 197 +PUT #5 @1 PLUS $1. DoubleLine $147. PLUS $1. ; 198 +DO _I_=6 TO 61; 199 + PUT #_I_ @1 VBAR $1. @149 VBAR $1. @; 200 +END ; 201 + 202 +*----Footers including bottom of box--------; 203 +RunPage + 1 ; * Cumulative paging for this run: (# of areas) x (# of profiles) ; 204 +LENGTH credline $148 ; RETAIN credline "&credline"; 205 +PUT #62 206 + @1 PLUS $1. DoubleLine $147. PLUS $1. 207 +/ @1 208 + "Source: Census 2000 Summary File 3 [machine-readable data file]/prepared" 209 + " by the U.S.Census Bureau, 2002 (www.census.gov)" 210 + @123 RunDate +(-1) ': Area ' AreaCount : 3.0 +(-1) ', Page ' RunPage 3.0-L 211 +/ @1 credline 212 +/ @15 "Report generated on &sysdate at &systime"; %*--EXTRA LINE FOR MCDC--; 213 +RETURN; *************end HeadFoot routine**************; 214 +RUN; 215 +ODS ps close ; 216 + %mend sdcpro3; 217 + NOTE: %INCLUDE (level 1) ending. 218 219 220 %sdcpro3(stab=mo,sumlev=040,profiles=t) ***sdcpro3 macro Rev. 26Aug02 begins execution **** MPRINT(SDCPRO3): OPTIONS LINESIZE=149 PAGESIZE=64 PAGENO=1 NODATE NONUMBER ORIENTATION=LANDSCAPE ; MPRINT(SDCPRO3): FILENAME Codelib "/pub/data/sf32000/sdcprofiles"; MPRINT(SDCPRO3): *<== probably edit only once ; MPRINT(SDCPRO3): LIBNAME sf3 "/pub/data/sf32000/temp" access=readonly; NOTE: Libname SF3 refers to the same physical library as SF3TEMP. NOTE: Libref SF3 was successfully assigned as follows: Engine: V8 Physical Name: /pub/data/sf32000/temp MPRINT(SDCPRO3): *--code and comments to invoke proc template and create the sf3style deleted here-; MPRINT(SDCPRO3): TITLE ; The SAS System MPRINT(SDCPRO3): * Blanks out "The SAS System" title in ODS output ; MPRINT(SDCPRO3): ODS ps file="/pub/webrepts/sdcprofiles3/mo/040t.ps" pdfmark style=SF3style ; NOTE: Writing ODS PS output to DISK destination "/pub/webrepts/sdcprofiles3/mo/040t.ps", printer "POSTSCRIPT". MPRINT(SDCPRO3): * <== edit psfile parm, above; MPRINT(SDCPRO3): DATA _null_ ; MPRINT(SDCPRO3): MERGE sf3.moph sf3.mophct sf3.mophctR ; MPRINT(SDCPRO3): BY LogRecNo ; MPRINT(SDCPRO3): where SumLev="040"; MPRINT(SDCPRO3): if index("00",geocomp); MPRINT(SDCPRO3): FILE PRINT LINESIZE=149 PAGESIZE=65 N=PAGESIZE NOTITLES; MPRINT(SDCPRO3): LENGTH _PAGES $11 profiles $13; MPRINT(SDCPRO3): RETAIN profiles "T" ; MPRINT(SDCPRO3): AreaCount+1; MPRINT(SDCPRO3): *---------------------------------------------------------------------------------------- ; MPRINT(SDCPRO3): IF AreaCount LE 199 OR MOD(AreaCount,50)=0 THEN DO ; MPRINT(SDCPRO3): FILE LOG; MPRINT(SDCPRO3): PUT Pop100= GeoCode= AreaName= ; MPRINT(SDCPRO3): FILE PRINT; MPRINT(SDCPRO3): END ; MPRINT(SDCPRO3): RETAIN strtline 6 RunPage 0 ; MPRINT(SDCPRO3): * if cumulative page numbering is set to false, each area will start with page 1 ; MPRINT(SDCPRO3): IF (1=0) THEN RunPage=0 ; MPRINT(SDCPRO3): LENGTH Underline DoubleLine SingleLine $149 ; MPRINT(SDCPRO3): RETAIN Underline DoubleLine SingleLine VBAR '|' PLUS '+' _first 1; MPRINT(SDCPRO3): IF _first THEN DO; MPRINT(SDCPRO3): RunDate="26AUG02"; MPRINT(SDCPRO3): RETAIN RunDate; MPRINT(SDCPRO3): UnderLine= REPEAT('_',147) ; MPRINT(SDCPRO3): DoubleLine=REPEAT('=',147) ; MPRINT(SDCPRO3): SingleLine=REPEAT('-',147) ; MPRINT(SDCPRO3): ***profiles=SYMGET('PROFILES'); MPRINT(SDCPRO3): ***IF profiles=' ' or profiles='ALL' THEN profiles='12ADEFHIJLMPT'; MPRINT(SDCPRO3): _first=0 ; MPRINT(SDCPRO3): * (i.e. false) ; MPRINT(SDCPRO3): END; MPRINT(SDCPRO3): * IF (TOC>1 or (TOC=1 AND AreaCount=1)) THEN LINK PageTOC ; MPRINT(SDCPRO3): * no Table of Contents yet ; MPRINT(SDCPRO3): *Note that _pages gets a value intended (!) to be local to each routine ; MPRINT(SDCPRO3): ProfID='Transport'; MPRINT(SDCPRO3): _PAGES=""; MPRINT(SDCPRO3): LINK tranprof; MPRINT(SDCPRO3): IF _ERROR_ THEN LINK err; MPRINT(SDCPRO3): RETURN; MPRINT(SDCPRO3): *---end main routine. Now come the linked-to routines---; MPRINT(SDCPRO3): err: *---Handles errors encountered while generating profiles---; MPRINT(SDCPRO3): FILE LOG; MPRINT(SDCPRO3): _nerr+1; MPRINT(SDCPRO3): IF _nerr LE 20 THEN PUT '** Error detected (probably division by zero) ' 'during processing of profile ' ProfID ' for ' AREANAME; MPRINT(SDCPRO3): _ERROR_=0; MPRINT(SDCPRO3): ** turn off flag, avoid dump **; MPRINT(SDCPRO3): IF _nerr EQ 20 THEN DO; MPRINT(SDCPRO3): PUT // '** NO MORE OF THESE MESSAGES WILL BE PRINTED **'; MPRINT(SDCPRO3): END; MPRINT(SDCPRO3): FILE PRINT; MPRINT(SDCPRO3): RETURN; MPRINT(SDCPRO3): *<---main program loop ends with above return stmt. The following include statements reference the Codelib library where the links to generate the profiles reside--; MPRINT(SDCPRO3): **options mlogic symbolgen; NOTE: %INCLUDE (level 1) file CODELIB(tranprof.sas) is file /pub/data/sf32000/sdcprofiles/tranprof.sas. 221 +tranprof: 222 +/*--generate transportation profile, two pages of transportation characteristics. 223 + Jeff Wallace, Oklahoma SDC. The SAS System 224 +-----*/ 225 + 226 +* do both pages if _pages is null, blank or ALL ; MPRINT(SDCPRO3): tranprof: * do both pages if _pages is null, blank or ALL ; 227 +IF _pages IN ('',' ','all','ALL') THEN _pages='12' ; MPRINT(SDCPRO3): IF _pages IN ('',' ','all','ALL') THEN _pages='12' ; 228 +IF INDEX(_pages,'1') THEN DO; MPRINT(SDCPRO3): IF INDEX(_pages,'1') THEN DO; 229 + 230 +%PutTitle( 231 + %STR(Transportation Profile 1: TRAVEL TIME TO WORK AND PLACE OF WORK), 232 + %STR(Trans-1) ) ; MPRINT(PUTTITLE): _Ltitle=LENGTH("Transportation Profile 1: TRAVEL TIME TO WORK AND PLACE OF WORK" ) ; MPRINT(PUTTITLE): _TitleCol=FLOOR( (149 -_Ltitle)/2 ); MPRINT(PUTTITLE): _MnemCol = 150 -LENGTH("Trans-1" ) ; MPRINT(PUTTITLE): PUT #1 @_TitleCol "Transportation Profile 1: TRAVEL TIME TO WORK AND PLACE OF WORK" @_MnemCol "Trans-1" ; MPRINT(SDCPRO3): ; 233 + 234 +**--Draw horizontal lines--**; MPRINT(SDCPRO3): **--Draw horizontal lines--**; 235 + 236 +PUT #19 @2 92*'_'; MPRINT(SDCPRO3): PUT #19 @2 92*'_'; 237 +PUT #24 @94 55*'_'; MPRINT(SDCPRO3): PUT #24 @94 55*'_'; 238 +PUT #35 @2 92*'_'; MPRINT(SDCPRO3): PUT #35 @2 92*'_'; 239 +PUT #49 @2 147*'_'; MPRINT(SDCPRO3): PUT #49 @2 147*'_'; 240 + 241 +**--Draw (internal) vertical lines--**; MPRINT(SDCPRO3): **--Draw (internal) vertical lines--**; 242 + 243 +do _i_=6 to 49; MPRINT(SDCPRO3): do _i_=6 to 49; 244 + PUT #_I_ @93 '|'; MPRINT(SDCPRO3): PUT #_I_ @93 '|'; 245 + end; MPRINT(SDCPRO3): end; 246 + 247 +do _j_=50 to 61; MPRINT(SDCPRO3): do _j_=50 to 61; 248 + PUT #_J_ @73 '|'; MPRINT(SDCPRO3): PUT #_J_ @73 '|'; 249 + end; MPRINT(SDCPRO3): end; 250 + 251 +**--Generate table P32.--**; MPRINT(SDCPRO3): **--Generate table P32.--**; 252 + 253 +tot32pub=p32i3+p32i6+p32i9+p32i12; MPRINT(SDCPRO3): tot32pub=p32i3+p32i6+p32i9+p32i12; 254 +tot32oth=p32i4+p32i7+p32i10+p32i13; MPRINT(SDCPRO3): tot32oth=p32i4+p32i7+p32i10+p32i13; 255 + 256 +if (p32i1=0) then DO ; MPRINT(SDCPRO3): if (p32i1=0) then DO ; 257 + pct2tot2=.; pct2tot3=.; pct2tot4=.; pct2tot5=.; MPRINT(SDCPRO3): pct2tot2=.; MPRINT(SDCPRO3): pct2tot3=.; MPRINT(SDCPRO3): pct2tot4=.; MPRINT(SDCPRO3): pct2tot5=.; The SAS System 258 + pct2pub1=.; pct2pub2=.; pct2pub3=.; pct2pub4=.; pct2pub5=.; MPRINT(SDCPRO3): pct2pub1=.; MPRINT(SDCPRO3): pct2pub2=.; MPRINT(SDCPRO3): pct2pub3=.; MPRINT(SDCPRO3): pct2pub4=.; MPRINT(SDCPRO3): pct2pub5=.; 259 + pct2oth1=.; pct2oth2=.; pct2oth3=.; pct2oth4=.; pct2oth5=.; MPRINT(SDCPRO3): pct2oth1=.; MPRINT(SDCPRO3): pct2oth2=.; MPRINT(SDCPRO3): pct2oth3=.; MPRINT(SDCPRO3): pct2oth4=.; MPRINT(SDCPRO3): pct2oth5=.; 260 +END ; MPRINT(SDCPRO3): END ; 261 +ELSE DO ; MPRINT(SDCPRO3): ELSE DO ; 262 + pct2tot2=p32i2/p32i1*100; pct2tot3=p32i5/p32i1*100; pct2tot4=p32i8/p32i1*100; pct2tot5=p32i11/p32i1*100; MPRINT(SDCPRO3): pct2tot2=p32i2/p32i1*100; MPRINT(SDCPRO3): pct2tot3=p32i5/p32i1*100; MPRINT(SDCPRO3): pct2tot4=p32i8/p32i1*100; MPRINT(SDCPRO3): pct2tot5=p32i11/p32i1*100; 263 + pct2pub1=tot32pub/p32i1*100; pct2pub2=p32i3/p32i1*100; pct2pub3=p32i6/p32i1*100; MPRINT(SDCPRO3): pct2pub1=tot32pub/p32i1*100; MPRINT(SDCPRO3): pct2pub2=p32i3/p32i1*100; MPRINT(SDCPRO3): pct2pub3=p32i6/p32i1*100; 264 + pct2pub4=p32i9/p32i1*100; pct2pub5=p32i12/p32i1*100; MPRINT(SDCPRO3): pct2pub4=p32i9/p32i1*100; MPRINT(SDCPRO3): pct2pub5=p32i12/p32i1*100; 265 + pct2oth1=tot32oth/p32i1*100; pct2oth2=p32i4/p32i1*100; pct2oth3=p32i7/p32i1*100; MPRINT(SDCPRO3): pct2oth1=tot32oth/p32i1*100; MPRINT(SDCPRO3): pct2oth2=p32i4/p32i1*100; MPRINT(SDCPRO3): pct2oth3=p32i7/p32i1*100; 266 + pct2oth4=p32i10/p32i1*100; pct2oth5=p32i13/p32i1*100; MPRINT(SDCPRO3): pct2oth4=p32i10/p32i1*100; MPRINT(SDCPRO3): pct2oth5=p32i13/p32i1*100; 267 +END ; MPRINT(SDCPRO3): END ; 268 + 269 +%LET f=comma11. 7.1; 270 +PUT #7 271 + @3 'P32. TRAVEL TIME TO WORK BY MEANS OF TRANSPORTATION TO WORK' 272 + / @3 'Universe: Workers 16 years old and over who did not work at home' 273 + // @56 'Public' @79 'Other' 274 + / @36 'Total' @44 'Pct.' @56 'Transp.' @65 'Pct.' @79 'Means' @87 'Pct.' 275 + // @3 'Total out-of-home workers:' @30 p32i1 comma11. @43 '100.0' @51 (tot32pub pct2pub1) (&f) @73 (tot32oth pct2oth1) (&f) 276 + / @3 ' Less than 30 min.' @30 (p32i2 pct2tot2) (&f) @51 (p32i3 pct2pub2) (&f) @73 (p32i4 pct2oth2) (&f) 277 + / @3 ' 30 to 44 min.' @30 (p32i5 pct2tot3) (&f) @51 (p32i6 pct2pub3) (&f) @73 (p32i7 pct2oth3) (&f) 278 + / @3 ' 45 to 59 min.' @30 (p32i8 pct2tot4) (&f) @51 (p32i9 pct2pub4) (&f) @73 (p32i10 pct2oth4) (&f) 279 + / @3 ' 60 or more min.' @30 (p32i11 pct2tot5) (&f) @51 (p32i12 pct2pub5) (&f) @73 (p32i13 pct2oth5) (&f); MPRINT(SDCPRO3): PUT #7 @3 'P32. TRAVEL TIME TO WORK BY MEANS OF TRANSPORTATION TO WORK' / @3 'Universe: Workers 16 years old and over who did not work at home' // @56 'Public' @79 'Other' / @36 'Total' @44 'Pct.' @56 'Transp.' @65 'Pct.' @79 'Means' @87 'Pct.' // @3 'Total out-of-home workers:' @30 p32i1 comma11. @43 '100.0' @51 (tot32pub pct2pub1) (comma11. 7.1) @73 (tot32oth pct2oth1) (comma11. 7.1) / @3 ' Less than 30 min.' @30 (p32i2 pct2tot2) (comma11. 7.1) @51 (p32i3 pct2pub2) (comma11. 7.1) @73 (p32i4 pct2oth2) (comma11. 7.1) / @3 ' 30 to 44 min.' @30 (p32i5 pct2tot3) (comma11. 7.1) @51 (p32i6 pct2pub3) (comma11. 7.1) @73 (p32i7 pct2oth3) (comma11. 7.1) / @3 ' 45 to 59 min.' @30 (p32i8 pct2tot4) (comma11. 7.1) @51 (p32i9 pct2pub4) (comma11. 7.1) @73 (p32i10 pct2oth4) (comma11. 7.1) / @3 ' 60 or more min.' @30 (p32i11 pct2tot5) (comma11. 7.1) @51 (p32i12 pct2pub5) (comma11. 7.1) @73 (p32i13 pct2oth5) (comma11. 7.1); 280 + 281 +**--Generate table P33.--**; MPRINT(SDCPRO3): **--Generate table P33.--**; 282 + 283 +tot33pub=p33i3+p33i6+p33i9+p33i12; MPRINT(SDCPRO3): tot33pub=p33i3+p33i6+p33i9+p33i12; The SAS System 284 +tot33oth=p33i4+p33i7+p33i10+p33i13; MPRINT(SDCPRO3): tot33oth=p33i4+p33i7+p33i10+p33i13; 285 + 286 +IF (p33i1=0) THEN DO ; MPRINT(SDCPRO3): IF (p33i1=0) THEN DO ; 287 + pct3tot2=.; pct3tot3=.; pct3tot4=.; pct3tot5=.; MPRINT(SDCPRO3): pct3tot2=.; MPRINT(SDCPRO3): pct3tot3=.; MPRINT(SDCPRO3): pct3tot4=.; MPRINT(SDCPRO3): pct3tot5=.; 288 + pct3pub1=.; pct3pub2=.; pct3pub3=.; pct3pub4=.; pct3pub5=.; MPRINT(SDCPRO3): pct3pub1=.; MPRINT(SDCPRO3): pct3pub2=.; MPRINT(SDCPRO3): pct3pub3=.; MPRINT(SDCPRO3): pct3pub4=.; MPRINT(SDCPRO3): pct3pub5=.; 289 + pct3oth1=.; pct3oth2=.; pct3oth3=.; pct3oth4=.; pct3oth5=.; MPRINT(SDCPRO3): pct3oth1=.; MPRINT(SDCPRO3): pct3oth2=.; MPRINT(SDCPRO3): pct3oth3=.; MPRINT(SDCPRO3): pct3oth4=.; MPRINT(SDCPRO3): pct3oth5=.; 290 +END ; MPRINT(SDCPRO3): END ; 291 +ELSE DO ; MPRINT(SDCPRO3): ELSE DO ; 292 + pct3tot2=p33i2/p33i1*100; pct3tot3=p33i5/p33i1*100; pct3tot4=p33i8/p33i1*100; pct3tot5=p33i11/p33i1*100; MPRINT(SDCPRO3): pct3tot2=p33i2/p33i1*100; MPRINT(SDCPRO3): pct3tot3=p33i5/p33i1*100; MPRINT(SDCPRO3): pct3tot4=p33i8/p33i1*100; MPRINT(SDCPRO3): pct3tot5=p33i11/p33i1*100; 293 + pct3pub1=tot33pub/p33i1*100; pct3pub2=p33i3/p33i1*100; pct3pub3=p33i6/p33i1*100; MPRINT(SDCPRO3): pct3pub1=tot33pub/p33i1*100; MPRINT(SDCPRO3): pct3pub2=p33i3/p33i1*100; MPRINT(SDCPRO3): pct3pub3=p33i6/p33i1*100; 294 + pct3pub4=p33i9/p33i1*100; pct3pub5=p33i12/p33i1*100; MPRINT(SDCPRO3): pct3pub4=p33i9/p33i1*100; MPRINT(SDCPRO3): pct3pub5=p33i12/p33i1*100; 295 + pct3oth1=tot33oth/p33i1*100; pct3oth2=p33i4/p33i1*100; pct3oth3=p33i7/p33i1*100; MPRINT(SDCPRO3): pct3oth1=tot33oth/p33i1*100; MPRINT(SDCPRO3): pct3oth2=p33i4/p33i1*100; MPRINT(SDCPRO3): pct3oth3=p33i7/p33i1*100; 296 + pct3oth4=p33i10/p33i1*100; pct3oth5=p33i13/p33i1*100; MPRINT(SDCPRO3): pct3oth4=p33i10/p33i1*100; MPRINT(SDCPRO3): pct3oth5=p33i13/p33i1*100; 297 +END ; MPRINT(SDCPRO3): END ; 298 + 299 +IF p32i1 =0 THEN travmean=. ; ELSE travmean= p33i1/p32i1; MPRINT(SDCPRO3): IF p32i1 =0 THEN travmean=. ; MPRINT(SDCPRO3): ELSE travmean= p33i1/p32i1; 300 +IF tot32pub=0 THEN pubmean=. ; ELSE pubmean =tot33pub/tot32pub; MPRINT(SDCPRO3): IF tot32pub=0 THEN pubmean=. ; MPRINT(SDCPRO3): ELSE pubmean =tot33pub/tot32pub; 301 +IF tot32oth=0 THEN othmean=. ; ELSE othmean =tot33oth/tot32oth; MPRINT(SDCPRO3): IF tot32oth=0 THEN othmean=. ; MPRINT(SDCPRO3): ELSE othmean =tot33oth/tot32oth; 302 + 303 +%LET g=comma13. 7.1; 304 +PUT #21 305 + @3 'P33. AGGREGATE AND MEAN TRAVEL TIME TO WORK BY MEANS OF TRANSPORTATION TO WORK' 306 + / @3 'Universe: Workers 16 years old and over who did not work at home' The SAS System 307 + // @56 'Public' @79 'Other' 308 + / @36 'Total' @44 'Pct.' @56 'Transp.' @65 'Pct.' @79 'Means' @87 'Pct.' 309 + // @3 'Aggregate minutes:' @28 p33i1 comma13. @43 '100.0' @49 (tot33pub pct3pub1) (&g) @71 (tot33oth pct3oth1) (&g) 310 + / @3 ' Less than 30 min.' @28 (p33i2 pct3tot2) (&g) @49 (p33i3 pct3pub2) (&g) @71 (p33i4 pct3oth2) (&g) 311 + / @3 ' 30 to 44 min.' @28 (p33i5 pct3tot3) (&g) @49 (p33i6 pct3pub3) (&g) @71 (p33i7 pct3oth3) (&g) 312 + / @3 ' 45 to 59 min.' @28 (p33i8 pct3tot4) (&g) @49 (p33i9 pct3pub4) (&g) @71 (p33i10 pct3oth4)(&g) 313 + / @3 ' 60 or more min.' @28 (p33i11 pct3tot5)(&g) @49 (p33i12 pct3pub5)(&g) @71 (p33i13 pct3oth5)(&g) 314 + // @3 'Mean travel time to work' @34 travmean 6.1 ' minutes' @55 pubmean 6.1 ' minutes' @77 othmean 6.1 ' minutes'; MPRINT(SDCPRO3): PUT #21 @3 'P33. AGGREGATE AND MEAN TRAVEL TIME TO WORK BY MEANS OF TRANSPORTATION TO WORK' / @3 'Universe: Workers 16 years old and over who did not work at home' // @56 'Public' @79 'Other' / @36 'Total' @44 'Pct.' @56 'Transp.' @65 'Pct.' @79 'Means' @87 'Pct.' // @3 'Aggregate minutes:' @28 p33i1 comma13. @43 '100.0' @49 (tot33pub pct3pub1) (comma13. 7.1) @71 (tot33oth pct3oth1) (comma13. 7.1) / @3 ' Less than 30 min.' @28 (p33i2 pct3tot2) (comma13. 7.1) @49 (p33i3 pct3pub2) (comma13. 7.1) @71 (p33i4 pct3oth2) (comma13. 7.1) / @3 ' 30 to 44 min.' @28 (p33i5 pct3tot3) (comma13. 7.1) @49 (p33i6 pct3pub3) (comma13. 7.1) @71 (p33i7 pct3oth3) (comma13. 7.1) / @3 ' 45 to 59 min.' @28 (p33i8 pct3tot4) (comma13. 7.1) @49 (p33i9 pct3pub4) (comma13. 7.1) @71 (p33i10 pct3oth4)(comma13. 7.1) / @3 ' 60 or more min.' @28 (p33i11 pct3tot5)(comma13. 7.1) @49 (p33i12 pct3pub5)(comma13. 7.1) @71 (p33i13 pct3oth5)(comma13. 7.1) // @3 'Mean travel time to work' @34 travmean 6.1 ' minutes' @55 pubmean 6.1 ' minutes' @77 othmean 6.1 ' minutes'; 315 + 316 +**--Generate table P29.--**; MPRINT(SDCPRO3): **--Generate table P29.--**; 317 + 318 +ARRAY p29{5} p29i1-p29i5; MPRINT(SDCPRO3): ARRAY p29{5} p29i1-p29i5; 319 +ARRAY per29i{5}; MPRINT(SDCPRO3): ARRAY per29i{5}; 320 + 321 +Zero=(p29i1=0); MPRINT(SDCPRO3): Zero=(p29i1=0); 322 +DO i=2 TO 5; MPRINT(SDCPRO3): DO i=2 TO 5; 323 + IF Zero THEN per29i{i}=.; ELSE per29i{i}=p29{i}/p29i1*100; MPRINT(SDCPRO3): IF Zero THEN per29i{i}=.; MPRINT(SDCPRO3): ELSE per29i{i}=p29{i}/p29i1*100; 324 +END; MPRINT(SDCPRO3): END; 325 + 326 +%LET h=comma11. 9.1; 327 +Put #37 328 + @3 'P29. PLACE OF WORK - MINOR CIVIL DIVISION (*) LEVEL' 329 + / @3 'Universe: Workers 16 years and over' 330 + / @79 'Pct.' 331 + // @3 'Total workers 16 and over:' @63 p29i1 comma11. @78 '100.0' 332 + / @3 ' Living in twelve selected states: (NJ, NY, PA,' 333 + / @3 ' CT, MA, ME, NH, RI, VT, MI, MN, WI)' @63 (p29i2 per29i2) (&h) 334 + / @3 ' Worked in minor civil division of residence' @63 (p29i3 per29i3) (&h) 335 + / @3 ' Worked outside minor civil division of residence' @63 (p29i4 per29i4) (&h) 336 + / @3 ' Not living in the twelve selected states' @63 (p29i5 per29i5) (&h) 337 + // @3 '(*) Cities, towns, etc. which are the principal subdivisions of counties in the 12 states' ; MPRINT(SDCPRO3): Put #37 @3 'P29. PLACE OF WORK - MINOR CIVIL DIVISION (*) LEVEL' / @3 'Universe: Workers 16 years and over' / @79 'Pct.' // @3 'Total workers 16 and over:' @63 p29i1 comma11. @78 '100.0' / @3 ' Living in twelve selected states: (NJ, NY, PA,' / @3 ' CT, MA, ME, NH, RI, VT, MI, MN, WI)' @63 (p29i2 per29i2) (comma11. 9.1) / @3 ' Worked in minor civil division of residence' @63 (p29i3 per29i3) (comma11. 9.1) / @3 ' Worked outside minor civil division of residence' @63 (p29i4 per29i4) (comma11. 9.1) / @3 ' Not living in the twelve selected states' @63 (p29i5 per29i5) (comma11. 9.1) // @3 '(*) Cities, towns, etc. which are the principal subdivisions of counties in the 12 states' ; 338 + 339 +**--Generate table P27.--**; MPRINT(SDCPRO3): **--Generate table P27.--**; 340 + 341 +array p27{5} p27i1-p27i5; MPRINT(SDCPRO3): array p27{5} p27i1-p27i5; 342 +array per27i{5}; MPRINT(SDCPRO3): array per27i{5}; 343 + 344 +Zero=(p27i1=0); The SAS System MPRINT(SDCPRO3): Zero=(p27i1=0); 345 +do i=2 to 5; MPRINT(SDCPRO3): do i=2 to 5; 346 + if Zero then per27i{i}=.; else per27i{i}=p27{i}/p27i1*100; MPRINT(SDCPRO3): if Zero then per27i{i}=.; MPRINT(SDCPRO3): else per27i{i}=p27{i}/p27i1*100; 347 +end; MPRINT(SDCPRO3): end; 348 + 349 +Put #51 350 + @3 'P27. PLACE OF WORK - PLACE LEVEL' 351 + / @3 'Universe: Workers 16 years and over' 352 + // @61 'Pct.' 353 + // @3 'Total workers 16 and over:' @45 p27i1 comma11. @60 '100.0' 354 + / @3 ' Living in a place:' @45 (p27i2 per27i2) (&h) 355 + / @3 ' Worked in place of residence' @45 (p27i3 per27i3) (&h) 356 + / @3 ' Worked outside place of residence' @45 (p27i4 per27i4) (&h) 357 + / @3 ' Not living in a place' @45 (p27i5 per27i5) (&h); MPRINT(SDCPRO3): Put #51 @3 'P27. PLACE OF WORK - PLACE LEVEL' / @3 'Universe: Workers 16 years and over' // @61 'Pct.' // @3 'Total workers 16 and over:' @45 p27i1 comma11. @60 '100.0' / @3 ' Living in a place:' @45 (p27i2 per27i2) (comma11. 9.1) / @3 ' Worked in place of residence' @45 (p27i3 per27i3) (comma11. 9.1) / @3 ' Worked outside place of residence' @45 (p27i4 per27i4) (comma11. 9.1) / @3 ' Not living in a place' @45 (p27i5 per27i5) (comma11. 9.1); 358 + 359 +**--generate table P35--**; MPRINT(SDCPRO3): **--generate table P35--**; 360 + 361 +array p35{10} p35i1-p35i10; MPRINT(SDCPRO3): array p35{10} p35i1-p35i10; 362 +array per35i{10}; MPRINT(SDCPRO3): array per35i{10}; 363 + 364 +Zero=(p35i1=0); MPRINT(SDCPRO3): Zero=(p35i1=0); 365 +do i=2 to 10; MPRINT(SDCPRO3): do i=2 to 10; 366 + if Zero then per35i{i}=.; else per35i{i}=p35{i}/p35i1*100; MPRINT(SDCPRO3): if Zero then per35i{i}=.; MPRINT(SDCPRO3): else per35i{i}=p35{i}/p35i1*100; 367 +end; MPRINT(SDCPRO3): end; 368 + 369 +Put #7 370 + @95 'P35. PRIVATE VEHICLE OCCUPANCY' 371 + / @95 'Universe: Workers 16 years and over' 372 + // @142 'Pct.' 373 + // @95 'Total workers 16 and over:' @128 p35i1 comma11. @141 '100.0' 374 + / @95 ' Car, truck, or van:' @128 (p35i2 per35i2) (&f) 375 + / @95 ' Drove alone' @128 (p35i3 per35i3) (&f) 376 + / @95 ' Carpooled:' @128 (p35i4 per35i4) (&f) 377 + / @95 ' 2-person carpool' @128 (p35i5 per35i5) (&f) 378 + / @95 ' 3-person carpool' @128 (p35i6 per35i6) (&f) 379 + / @95 ' 4-person carpool' @128 (p35i7 per35i7) (&f) 380 + / @95 ' 5- or 6-person carpool' @128 (p35i8 per35i8) (&f) 381 + / @95 ' 7- or more person carpool' @128 (p35i9 per35i9) (&f) 382 + / @95 ' Other means (including' 383 + / @95 ' worked at home)' @128 (p35i10 per35i10) (&f); MPRINT(SDCPRO3): Put #7 @95 'P35. PRIVATE VEHICLE OCCUPANCY' / @95 'Universe: Workers 16 years and over' // @142 'Pct.' // @95 'Total workers 16 and over:' @128 p35i1 comma11. @141 '100.0' / @95 ' Car, truck, or van:' @128 (p35i2 per35i2) (comma11. 7.1) / @95 ' Drove alone' @128 (p35i3 per35i3) (comma11. 7.1) / @95 ' Carpooled:' @128 (p35i4 per35i4) (comma11. 7.1) / @95 ' 2-person carpool' @128 (p35i5 per35i5) (comma11. 7.1) / @95 ' 3-person carpool' @128 (p35i6 per35i6) (comma11. 7.1) / @95 ' 4-person carpool' @128 (p35i7 per35i7) (comma11. 7.1) / @95 ' 5- or 6-person carpool' @128 (p35i8 per35i8) (comma11. 7.1) / @95 ' 7- or more person carpool' @128 (p35i9 per35i9) (comma11. 7.1) / @95 ' Other means (including' / @95 ' worked at home)' @128 (p35i10 per35i10) (comma11. 7.1); The SAS System 384 + 385 +**--generate table P34--**; MPRINT(SDCPRO3): **--generate table P34--**; 386 + 387 +array p34{17} p34i1-p34i17; MPRINT(SDCPRO3): array p34{17} p34i1-p34i17; 388 +array per34i{17}; MPRINT(SDCPRO3): array per34i{17}; 389 + 390 +Zero=(p34i1=0); MPRINT(SDCPRO3): Zero=(p34i1=0); 391 +do i=2 to 17; MPRINT(SDCPRO3): do i=2 to 17; 392 + if Zero then per34i{i}=.; else per34i{i}=p34{i}/p34i1*100; MPRINT(SDCPRO3): if Zero then per34i{i}=.; MPRINT(SDCPRO3): else per34i{i}=p34{i}/p34i1*100; 393 +end; MPRINT(SDCPRO3): end; 394 + 395 +Put #26 396 + @95 'P34. TIME LEAVING HOME TO GO TO WORK' 397 + / @95 'Universe: Workers 16 years and over' 398 + // @142 'Pct.' 399 + // @95 'Total workers 16 and over:' @128 p34i1 comma11. @141 '100.0' 400 + / @95 ' Did not work at home:' @128 (p34i2 per34i2) (&f) 401 + / @95 ' 12:00 a.m. to 4:59 a.m.' @128 (p34i3 per34i3) (&f) 402 + / @95 ' 5:00 a.m. to 5:29 a.m.' @128 (p34i4 per34i4) (&f) 403 + / @95 ' 5:30 a.m. to 5:59 a.m.' @128 (p34i5 per34i5) (&f) 404 + / @95 ' 6:00 a.m. to 6:29 a.m.' @128 (p34i6 per34i6) (&f) 405 + / @95 ' 6:30 a.m. to 6:59 a.m.' @128 (p34i7 per34i7) (&f) 406 + / @95 ' 7:00 a.m. to 7:29 a.m.' @128 (p34i8 per34i8) (&f) 407 + / @95 ' 7:30 a.m. to 7:59 a.m.' @128 (p34i9 per34i9) (&f) 408 + / @95 ' 8:00 a.m. to 8:29 a.m.' @128 (p34i10 per34i10) (&f) 409 + / @95 ' 8:30 a.m. to 8:59 a.m.' @128 (p34i11 per34i11) (&f) 410 + / @95 ' 9:00 a.m. to 9:59 a.m.' @128 (p34i12 per34i12) (&f) 411 + / @95 ' 10:00 a.m. to 10:59 a.m.' @128 (p34i13 per34i13) (&f) 412 + / @95 ' 11:00 a.m. to 11:59 a.m.' @128 (p34i14 per34i14) (&f) 413 + / @95 ' 12:00 p.m. to 3:59 p.m.' @128 (p34i15 per34i15) (&f) 414 + / @95 ' 4:00 p.m. to 11:59 p.m.' @128 (p34i16 per34i16) (&f) 415 + / @95 ' Worked at home' @128 (p34i17 per34i17) (&f); MPRINT(SDCPRO3): Put #26 @95 'P34. TIME LEAVING HOME TO GO TO WORK' / @95 'Universe: Workers 16 years and over' // @142 'Pct.' // @95 'Total workers 16 and over:' @128 p34i1 comma11. @141 '100.0' / @95 ' Did not work at home:' @128 (p34i2 per34i2) (comma11. 7.1) / @95 ' 12:00 a.m. to 4:59 a.m.' @128 (p34i3 per34i3) (comma11. 7.1) / @95 ' 5:00 a.m. to 5:29 a.m.' @128 (p34i4 per34i4) (comma11. 7.1) / @95 ' 5:30 a.m. to 5:59 a.m.' @128 (p34i5 per34i5) (comma11. 7.1) / @95 ' 6:00 a.m. to 6:29 a.m.' @128 (p34i6 per34i6) (comma11. 7.1) / @95 ' 6:30 a.m. to 6:59 a.m.' @128 (p34i7 per34i7) (comma11. 7.1) / @95 ' 7:00 a.m. to 7:29 a.m.' @128 (p34i8 per34i8) (comma11. 7.1) / @95 ' 7:30 a.m. to 7:59 a.m.' @128 (p34i9 per34i9) (comma11. 7.1) / @95 ' 8:00 a.m. to 8:29 a.m.' @128 (p34i10 per34i10) (comma11. 7.1) / @95 ' 8:30 a.m. to 8:59 a.m.' @128 (p34i11 per34i11) (comma11. 7.1) / @95 ' 9:00 a.m. to 9:59 a.m.' @128 (p34i12 per34i12) (comma11. 7.1) / @95 ' 10:00 a.m. to 10:59 a.m.' @128 (p34i13 per34i13) (comma11. 7.1) / @95 ' 11:00 a.m. to 11:59 a.m.' @128 (p34i14 per34i14) (comma11. 7.1) / @95 ' 12:00 p.m. to 3:59 p.m.' @128 (p34i15 per34i15) (comma11. 7.1) / @95 ' 4:00 p.m. to 11:59 p.m.' @128 (p34i16 per34i16) (comma11. 7.1) / @95 ' Worked at home' @128 (p34i17 per34i17) (comma11. 7.1); 416 + 417 +**--Generate table P26.--**; MPRINT(SDCPRO3): **--Generate table P26.--**; 418 + 419 +array p26{5} p26i1-p26i5; MPRINT(SDCPRO3): array p26{5} p26i1-p26i5; 420 +array per26i{5}; MPRINT(SDCPRO3): array per26i{5}; 421 + 422 +Zero=(p26i1=0); MPRINT(SDCPRO3): Zero=(p26i1=0); 423 +do i=2 to 5; The SAS System MPRINT(SDCPRO3): do i=2 to 5; 424 + if Zero then per26i{i}=.; else per26i{i}=p26{i}/p26i1*100; MPRINT(SDCPRO3): if Zero then per26i{i}=.; MPRINT(SDCPRO3): else per26i{i}=p26{i}/p26i1*100; 425 +end; MPRINT(SDCPRO3): end; 426 + 427 +Put #51 428 + @75 'P26. PLACE OF WORK - STATE AND COUNTY LEVEL' 429 + / @75 'Universe: Workers 16 years and over' 430 + // @136 'Pct.' 431 + // @75 'Total workers 16 and over:' @120 p26i1 comma11. @135 '100.0' 432 + / @75 ' Worked in state of residence:' @120 (p26i2 per26i2) (&h) 433 + / @75 ' Worked in county of residence' @120 (p26i3 per26i3) (&h) 434 + / @75 ' Worked outside county of residence' @120 (p26i4 per26i4) (&h) 435 + / @75 ' Worked outside state of residence' @120 (p26i5 per26i5) (&h); MPRINT(SDCPRO3): Put #51 @75 'P26. PLACE OF WORK - STATE AND COUNTY LEVEL' / @75 'Universe: Workers 16 years and over' // @136 'Pct.' // @75 'Total workers 16 and over:' @120 p26i1 comma11. @135 '100.0' / @75 ' Worked in state of residence:' @120 (p26i2 per26i2) (comma11. 9.1) / @75 ' Worked in county of residence' @120 (p26i3 per26i3) (comma11. 9.1) / @75 ' Worked outside county of residence' @120 (p26i4 per26i4) (comma11. 9.1) / @75 ' Worked outside state of residence' @120 (p26i5 per26i5) (comma11. 9.1); 436 + 437 +link HeadFoot; MPRINT(SDCPRO3): link HeadFoot; 438 +end; *<-----------of code to generate 1st page----; MPRINT(SDCPRO3): end; MPRINT(SDCPRO3): *<-----------of code to generate 1st page----; 439 + 440 +if index(_pages,'2') then do; MPRINT(SDCPRO3): if index(_pages,'2') then do; 441 + *--generate transportation profile, page 2 442 + Jeff Wallace, Oklahoma SDC.--*; MPRINT(SDCPRO3): *--generate transportation profile, page 2 Jeff Wallace, Oklahoma SDC.--*; 443 + 444 +%PutTitle( 445 + %STR(Transportation Profile 2: MEANS OF TRANSPORTATION TO WORK BY RACE AND HISPANIC/LATINO), 446 + %STR(Trans-2) ) ; MPRINT(PUTTITLE): _Ltitle=LENGTH("Transportation Profile 2: MEANS OF TRANSPORTATION TO WORK BY RACE AND HISPANIC/LATINO" ) ; MPRINT(PUTTITLE): _TitleCol=FLOOR( (149 -_Ltitle)/2 ); MPRINT(PUTTITLE): _MnemCol = 150 -LENGTH("Trans-2" ) ; MPRINT(PUTTITLE): PUT #1 @_TitleCol "Transportation Profile 2: MEANS OF TRANSPORTATION TO WORK BY RACE AND HISPANIC/LATINO" @_MnemCol "Trans-2" ; MPRINT(SDCPRO3): ; 447 + 448 +**--Generate table P30/PCT65A-I--**; MPRINT(SDCPRO3): **--Generate table P30/PCT65A-I--**; 449 + 450 +array p30{16} p30i1-p30i16; MPRINT(SDCPRO3): array p30{16} p30i1-p30i16; 451 +array p30pct{16}; MPRINT(SDCPRO3): array p30pct{16}; 452 + 453 +Zero=(p30i1=0); MPRINT(SDCPRO3): Zero=(p30i1=0); 454 +do i=2 to 16; MPRINT(SDCPRO3): do i=2 to 16; 455 + if Zero then p30pct{i}=.; else p30pct{i}=p30{i}/p30i1*100; MPRINT(SDCPRO3): if Zero then p30pct{i}=.; MPRINT(SDCPRO3): else p30pct{i}=p30{i}/p30i1*100; 456 +end; MPRINT(SDCPRO3): end; 457 + 458 +array pct65a{16} pct65ai1-pct65ai16; MPRINT(SDCPRO3): array pct65a{16} pct65ai1-pct65ai16; The SAS System 459 +array a65pct{16}; MPRINT(SDCPRO3): array a65pct{16}; 460 + 461 +Zero=(pct65ai1=0); MPRINT(SDCPRO3): Zero=(pct65ai1=0); 462 +do i=2 to 16; MPRINT(SDCPRO3): do i=2 to 16; 463 + if Zero then a65pct{i}=.; else a65pct{i}=pct65a{i}/pct65ai1*100; MPRINT(SDCPRO3): if Zero then a65pct{i}=.; MPRINT(SDCPRO3): else a65pct{i}=pct65a{i}/pct65ai1*100; 464 +end; MPRINT(SDCPRO3): end; 465 + 466 +array pct65b{16} pct65bi1-pct65bi16; MPRINT(SDCPRO3): array pct65b{16} pct65bi1-pct65bi16; 467 +array b65pct{16}; MPRINT(SDCPRO3): array b65pct{16}; 468 + 469 +Zero=(pct65bi1=0); MPRINT(SDCPRO3): Zero=(pct65bi1=0); 470 +do i=2 to 16; MPRINT(SDCPRO3): do i=2 to 16; 471 + if Zero then b65pct{i}=.; else b65pct{i}=pct65b{i}/pct65bi1*100; MPRINT(SDCPRO3): if Zero then b65pct{i}=.; MPRINT(SDCPRO3): else b65pct{i}=pct65b{i}/pct65bi1*100; 472 +end; MPRINT(SDCPRO3): end; 473 + 474 +array pct65c{16} pct65ci1-pct65ci16; MPRINT(SDCPRO3): array pct65c{16} pct65ci1-pct65ci16; 475 +array c65pct{16}; MPRINT(SDCPRO3): array c65pct{16}; 476 + 477 +Zero=(pct65ci1=0); MPRINT(SDCPRO3): Zero=(pct65ci1=0); 478 +do i=2 to 16; MPRINT(SDCPRO3): do i=2 to 16; 479 + if Zero then c65pct{i}=.; else c65pct{i}=pct65c{i}/pct65ci1*100; MPRINT(SDCPRO3): if Zero then c65pct{i}=.; MPRINT(SDCPRO3): else c65pct{i}=pct65c{i}/pct65ci1*100; 480 +end; MPRINT(SDCPRO3): end; 481 + 482 +array pct65d{16} pct65di1-pct65di16; MPRINT(SDCPRO3): array pct65d{16} pct65di1-pct65di16; 483 +array d65pct{16}; MPRINT(SDCPRO3): array d65pct{16}; 484 + 485 +do i=2 to 16; MPRINT(SDCPRO3): do i=2 to 16; 486 + Zero=(pct65di1=0); if Zero then d65pct{i}=.; else d65pct{i}=pct65d{i}/pct65di1*100; MPRINT(SDCPRO3): Zero=(pct65di1=0); MPRINT(SDCPRO3): if Zero then d65pct{i}=.; MPRINT(SDCPRO3): else d65pct{i}=pct65d{i}/pct65di1*100; 487 +end; MPRINT(SDCPRO3): end; 488 + 489 +array pct65e{16} pct65ei1-pct65ei16; MPRINT(SDCPRO3): array pct65e{16} pct65ei1-pct65ei16; 490 +array e65pct{16}; MPRINT(SDCPRO3): array e65pct{16}; 491 + The SAS System 492 +Zero=(pct65ei1=0); MPRINT(SDCPRO3): Zero=(pct65ei1=0); 493 +do i=2 to 16; MPRINT(SDCPRO3): do i=2 to 16; 494 + if Zero then e65pct{i}=.; else e65pct{i}=pct65e{i}/pct65ei1*100; MPRINT(SDCPRO3): if Zero then e65pct{i}=.; MPRINT(SDCPRO3): else e65pct{i}=pct65e{i}/pct65ei1*100; 495 +end; MPRINT(SDCPRO3): end; 496 + 497 +array pct65f{16} pct65fi1-pct65fi16; MPRINT(SDCPRO3): array pct65f{16} pct65fi1-pct65fi16; 498 +array f65pct{16}; MPRINT(SDCPRO3): array f65pct{16}; 499 + 500 +Zero=(pct65fi1=0); MPRINT(SDCPRO3): Zero=(pct65fi1=0); 501 +do i=2 to 16; MPRINT(SDCPRO3): do i=2 to 16; 502 + if Zero then f65pct{i}=.; else f65pct{i}=pct65f{i}/pct65fi1*100; MPRINT(SDCPRO3): if Zero then f65pct{i}=.; MPRINT(SDCPRO3): else f65pct{i}=pct65f{i}/pct65fi1*100; 503 +end; MPRINT(SDCPRO3): end; 504 + 505 +array pct65g{16} pct65gi1-pct65gi16; MPRINT(SDCPRO3): array pct65g{16} pct65gi1-pct65gi16; 506 +array g65pct{16}; MPRINT(SDCPRO3): array g65pct{16}; 507 + 508 +Zero=(pct65gi1=0); MPRINT(SDCPRO3): Zero=(pct65gi1=0); 509 +do i=2 to 16; MPRINT(SDCPRO3): do i=2 to 16; 510 + if Zero then g65pct{i}=.; else g65pct{i}=pct65g{i}/pct65gi1*100; MPRINT(SDCPRO3): if Zero then g65pct{i}=.; MPRINT(SDCPRO3): else g65pct{i}=pct65g{i}/pct65gi1*100; 511 +end; MPRINT(SDCPRO3): end; 512 + 513 +array pct65h{16} pct65hi1-pct65hi16; MPRINT(SDCPRO3): array pct65h{16} pct65hi1-pct65hi16; 514 +array h65pct{16}; MPRINT(SDCPRO3): array h65pct{16}; 515 + 516 +Zero=(pct65hi1=0); MPRINT(SDCPRO3): Zero=(pct65hi1=0); 517 +do i=2 to 16; MPRINT(SDCPRO3): do i=2 to 16; 518 + if Zero then h65pct{i}=.; else h65pct{i}=pct65h{i}/pct65hi1*100; MPRINT(SDCPRO3): if Zero then h65pct{i}=.; MPRINT(SDCPRO3): else h65pct{i}=pct65h{i}/pct65hi1*100; 519 +end; MPRINT(SDCPRO3): end; 520 + 521 +array pct65i{16} pct65ii1-pct65ii16; MPRINT(SDCPRO3): array pct65i{16} pct65ii1-pct65ii16; 522 +array i65pct{16}; MPRINT(SDCPRO3): array i65pct{16}; 523 + 524 +Zero=(pct65ii1=0); MPRINT(SDCPRO3): Zero=(pct65ii1=0); The SAS System 525 +do i=2 to 16; MPRINT(SDCPRO3): do i=2 to 16; 526 + if Zero then i65pct{i}=.; else i65pct{i}=pct65i{i}/pct65ii1*100; MPRINT(SDCPRO3): if Zero then i65pct{i}=.; MPRINT(SDCPRO3): else i65pct{i}=pct65i{i}/pct65ii1*100; 527 +end; MPRINT(SDCPRO3): end; 528 + 529 +%LET k=comma15. 7.1; 530 + 531 +PUT #7 532 + @3 'P30/PCT65A-I. MEANS OF TRANSPORTATION TO WORK BY RACE (1) AND HISPANIC OR LATINO (2)' 533 + / @3 'Universe: Workers 16 years and over' 534 + / @60 '---------------------------------------- Race (1) --------------------------------------' 535 + / @88 'Black or' @105 ' American' 536 + / @88 ' African' @105 ' Indian and' 537 + / @69 'White' @88 'American' @105 'Alaska Native' @135 'Asian' 538 + / @47 'Total' @55 'Pct.' @69 'Alone' @77 'Pct.' @88 ' Alone' @99 'Pct.' 539 + @105 ' Alone' @121 'Pct.' @135 'Alone' @143 'Pct.' 540 + // @3 'Total workers 16 years and over:' @37 p30i1 comma15. @54 '100.0' @59 pct65ai1 comma15. @76 '100.0' @81 pct65bi1 comma15. 541 + @98 '100.0' @103 pct65ci1 comma15. @120 '100.0' @125 pct65di1 comma15. @142 '100.0' 542 + / @3 ' Car, truck or van:' @37 (p30i2 p30pct2) (&k) (pct65ai2 a65pct2) (&k) (pct65bi2 b65pct2) (&k) 543 + (pct65ci2 c65pct2) (&k) (pct65di2 d65pct2) (&k) 544 + / @3 ' Drove alone' @37 (p30i3 p30pct3) (&k) (pct65ai3 a65pct3) (&k) (pct65bi3 b65pct3) (&k) 545 + (pct65ci3 c65pct3) (&k) (pct65di3 d65pct3) (&k) 546 + / @3 ' Carpooled' @37 (p30i4 p30pct4) (&k) (pct65ai4 a65pct4) (&k) (pct65bi4 b65pct4) (&k) 547 + (pct65ci4 c65pct4) (&k) (pct65di4 d65pct4) (&k) 548 + / @3 ' Public transportation:' @37 (p30i5 p30pct5) (&k) (pct65ai5 a65pct5) (&k) (pct65bi5 b65pct5) (&k) 549 + (pct65ci5 c65pct5) (&k) (pct65di5 d65pct5) (&k) 550 + / @3 ' Bus or trolley bus' @37 (p30i6 p30pct6) (&k) (pct65ai6 a65pct6) (&k) (pct65bi6 b65pct6) (&k) 551 + (pct65ci6 c65pct6) (&k) (pct65di6 d65pct6) (&k) 552 + / @3 ' Streetcar/trolley car' @37 (p30i7 p30pct7) (&k) (pct65ai7 a65pct7) (&k) (pct65bi7 b65pct7) (&k) 553 + (pct65ci7 c65pct7) (&k) (pct65di7 d65pct7) (&k) 554 + / @3 ' Subway or elevated' @37 (p30i8 p30pct8) (&k) (pct65ai8 a65pct8) (&k) (pct65bi8 b65pct8) (&k) 555 + (pct65ci8 c65pct8) (&k) (pct65di8 d65pct8) (&k) 556 + / @3 ' Railroad' @37 (p30i9 p30pct9) (&k) (pct65ai9 a65pct9) (&k) (pct65bi9 b65pct9) (&k) 557 + (pct65ci9 c65pct9) (&k) (pct65di9 d65pct9) (&k) 558 + / @3 ' Ferryboat' @37 (p30i10 p30pct10) (&k) (pct65ai10 a65pct10) (&k) (pct65bi10 b65pct10) (&k) 559 + (pct65ci10 c65pct10) (&k) (pct65di10 d65pct10) (&k) 560 + / @3 ' Taxicab' @37 (p30i11 p30pct11) (&k) (pct65ai11 a65pct11) (&k) (pct65bi11 b65pct11) (&k) 561 + (pct65ci11 c65pct11) (&k) (pct65di11 d65pct11) (&k) 562 + / @3 ' Motorcycle' @37 (p30i12 p30pct12) (&k) (pct65ai12 a65pct12) (&k) (pct65bi12 b65pct12) (&k) 563 + (pct65ci12 c65pct12) (&k) (pct65di12 d65pct12) (&k) 564 + / @3 ' Bicycle' @37 (p30i13 p30pct13) (&k) (pct65ai13 a65pct13) (&k) (pct65bi13 b65pct13) (&k) 565 + (pct65ci13 c65pct13) (&k) (pct65di13 d65pct13) (&k) 566 + / @3 ' Walked' @37 (p30i14 p30pct14) (&k) (pct65ai14 a65pct14) (&k) (pct65bi14 b65pct14) (&k) 567 + (pct65ci14 c65pct14) (&k) (pct65di14 d65pct14) (&k) 568 + / @3 ' Other means' @37 (p30i15 p30pct15) (&k) (pct65ai15 a65pct15) (&k) (pct65bi15 b65pct15) (&k) 569 + (pct65ci15 c65pct15) (&k) (pct65di15 d65pct15) (&k) 570 + / @3 ' Worked at home' @37 (p30i16 p30pct16) (&k) (pct65ai16 a65pct16) (&k) (pct65bi16 b65pct16) (&k) 571 + (pct65ci16 c65pct16) (&k) (pct65di16 d65pct16) (&k) 572 + // @38 '------------------------------ Race (1) ----------------------------------------- Hispanic (2) --------------' 573 + // @39 ' Native' 574 + / @39 ' Hawaiian &' 575 + / @39 'Other Pacific' @64 ' Some' @128 'White Alone,' 576 + / @39 ' Islander' @64 'Other Race' @86 ' Two or' @107 'Hispanic or' @128 'Not Hispanic' 577 + / @39 ' Alone' @55 'Pct.' @64 ' Alone' @77 'Pct.' @86 'More Races' @99 'Pct.' 578 + @107 ' Latino' @121 'Pct.' @128 ' Or Latino' @143 'Pct.' 579 + // @3 'Total workers 16 years and over:' @37 pct65ei1 comma15. @54 '100.0' @59 pct65fi1 comma15. @76 '100.0' @81 pct65gi1 comma15. 580 + @98 '100.0' @103 pct65hi1 comma15. @120 '100.0' @125 pct65ii1 comma15. @142 '100.0' 581 + / @3 ' Car, truck or van:' @37 (pct65ei2 e65pct2) (&k) (pct65fi2 f65pct2) (&k) (pct65gi2 g65pct2) (&k) 582 + (pct65hi2 h65pct2) (&k) (pct65ii2 i65pct2) (&k) The SAS System 583 + / @3 ' Drove alone' @37 (pct65ei3 e65pct3) (&k) (pct65fi3 f65pct3) (&k) (pct65gi3 g65pct3) (&k) 584 + (pct65hi3 h65pct3) (&k) (pct65ii3 i65pct3) (&k) 585 + / @3 ' Carpooled' @37 (pct65ei4 e65pct4) (&k) (pct65fi4 f65pct4) (&k) (pct65gi4 g65pct4) (&k) 586 + (pct65hi4 h65pct4) (&k) (pct65ii4 i65pct4) (&k) 587 + / @3 ' Public transportation:' @37 (pct65ei5 e65pct5) (&k) (pct65fi5 f65pct5) (&k) (pct65gi5 g65pct5) (&k) 588 + (pct65hi5 h65pct5) (&k) (pct65ii5 i65pct5) (&k) 589 + / @3 ' Bus or trolley bus' @37 (pct65ei6 e65pct6) (&k) (pct65fi6 f65pct6) (&k) (pct65gi6 g65pct6) (&k) 590 + (pct65hi6 h65pct6) (&k) (pct65ii6 i65pct6) (&k) 591 + / @3 ' Streetcar/trolley car' @37 (pct65ei7 e65pct7) (&k) (pct65fi7 f65pct7) (&k) (pct65gi7 g65pct7) (&k) 592 + (pct65hi7 h65pct7) (&k) (pct65ii7 i65pct7) (&k) 593 + / @3 ' Subway or elevated' @37 (pct65ei8 e65pct8) (&k) (pct65fi8 f65pct8) (&k) (pct65gi8 g65pct8) (&k) 594 + (pct65hi8 h65pct8) (&k) (pct65ii8 i65pct8) (&k) 595 + / @3 ' Railroad' @37 (pct65ei9 e65pct9) (&k) (pct65fi9 f65pct9) (&k) (pct65gi9 g65pct9) (&k) 596 + (pct65hi9 h65pct9) (&k) (pct65ii9 i65pct9) (&k) 597 + / @3 ' Ferryboat' @37 (pct65ei10 e65pct10) (&k) (pct65fi10 f65pct10) (&k) (pct65gi10 g65pct10) (&k) 598 + (pct65hi10 h65pct10) (&k) (pct65ii10 i65pct10) (&k) 599 + / @3 ' Taxicab' @37 (pct65ei11 e65pct11) (&k) (pct65fi11 f65pct11) (&k) (pct65gi11 g65pct11) (&k) 600 + (pct65hi11 h65pct11) (&k) (pct65ii11 i65pct11) (&k) 601 + / @3 ' Motorcycle' @37 (pct65ei12 e65pct12) (&k) (pct65fi12 f65pct12) (&k) (pct65gi12 g65pct12) (&k) 602 + (pct65hi12 h65pct12) (&k) (pct65ii12 i65pct12) (&k) 603 + / @3 ' Bicycle' @37 (pct65ei13 e65pct13) (&k) (pct65fi13 f65pct13) (&k) (pct65gi13 g65pct13) (&k) 604 + (pct65hi13 h65pct13) (&k) (pct65ii13 i65pct13) (&k) 605 + / @3 ' Walked' @37 (pct65ei14 e65pct14) (&k) (pct65fi14 f65pct14) (&k) (pct65gi14 g65pct14) (&k) 606 + (pct65hi14 h65pct14) (&k) (pct65ii14 i65pct14) (&k) 607 + / @3 ' Other means' @37 (pct65ei15 e65pct15) (&k) (pct65fi15 f65pct15) (&k) (pct65gi15 g65pct15) (&k) 608 + (pct65hi15 h65pct15) (&k) (pct65di15 i65pct15) (&k) 609 + / @3 ' Worked at home' @37 (pct65ei16 e65pct16) (&k) (pct65fi16 f65pct16) (&k) (pct65gi16 g65pct16) (&k) 610 + (pct65hi16 h65pct16) (&k) (pct65ii16 i65pct16) (&k) 611 + // @3 145*'-' 612 + / @3 '(1) For Census 2000, persons could report more than one race, but the seven racial categories shown are mutually exclusive and 612 !+include everyone.' 613 + / @3 '(2) Hispanic or Latino origin is NOT considered a race. People who reported themselves as Hispanic or Latino are also counted in 613 !+the seven racial' 614 + / @3 ' categories.' 615 +; MPRINT(SDCPRO3): PUT #7 @3 'P30/PCT65A-I. MEANS OF TRANSPORTATION TO WORK BY RACE (1) AND HISPANIC OR LATINO (2)' / @3 'Universe: Workers 16 years and over' / @60 '---------------------------------------- Race (1) --------------------------------------' / @88 'Black or' @105 ' American' / @88 ' African' @105 ' Indian and' / @69 'White' @88 'American' @105 'Alaska Native' @135 'Asian' / @47 'Total' @55 'Pct.' @69 'Alone' @77 'Pct.' @88 ' Alone' @99 'Pct.' @105 ' Alone' @121 'Pct.' @135 'Alone' @143 'Pct.' // @3 'Total workers 16 years and over:' @37 p30i1 comma15. @54 '100.0' @59 pct65ai1 comma15. @76 '100.0' @81 pct65bi1 comma15. @98 '100.0' @103 pct65ci1 comma15. @120 '100.0' @125 pct65di1 comma15. @142 '100.0' / @3 ' Car, truck or van:' @37 (p30i2 p30pct2) (comma15. 7.1) (pct65ai2 a65pct2) (comma15. 7.1) (pct65bi2 b65pct2) (comma15. 7.1) (pct65ci2 c65pct2) (comma15. 7.1) (pct65di2 d65pct2) (comma15. 7.1) / @3 ' Drove alone' @37 (p30i3 p30pct3) (comma15. 7.1) (pct65ai3 a65pct3) (comma15. 7.1) (pct65bi3 b65pct3) (comma15. 7.1) (pct65ci3 c65pct3) (comma15. 7.1) (pct65di3 d65pct3) (comma15. 7.1) / @3 ' Carpooled' @37 (p30i4 p30pct4) (comma15. 7.1) (pct65ai4 a65pct4) (comma15. 7.1) (pct65bi4 b65pct4) (comma15. 7.1) (pct65ci4 c65pct4) (comma15. 7.1) (pct65di4 d65pct4) (comma15. 7.1) / @3 ' Public transportation:' @37 (p30i5 p30pct5) (comma15. 7.1) (pct65ai5 a65pct5) (comma15. 7.1) (pct65bi5 b65pct5) (comma15. 7.1) (pct65ci5 c65pct5) (comma15. 7.1) (pct65di5 d65pct5) (comma15. 7.1) / @3 ' Bus or trolley bus' @37 (p30i6 p30pct6) (comma15. 7.1) (pct65ai6 a65pct6) (comma15. 7.1) (pct65bi6 b65pct6) (comma15. 7.1) (pct65ci6 c65pct6) (comma15. 7.1) (pct65di6 d65pct6) (comma15. 7.1) / @3 ' Streetcar/trolley car' @37 (p30i7 p30pct7) (comma15. 7.1) (pct65ai7 a65pct7) (comma15. 7.1) (pct65bi7 b65pct7) (comma15. 7.1) (pct65ci7 c65pct7) (comma15. 7.1) (pct65di7 d65pct7) (comma15. 7.1) / @3 ' Subway or elevated' @37 (p30i8 p30pct8) (comma15. 7.1) (pct65ai8 a65pct8) (comma15. 7.1) (pct65bi8 b65pct8) (comma15. 7.1) (pct65ci8 c65pct8) (comma15. 7.1) (pct65di8 d65pct8) (comma15. 7.1) / @3 ' Railroad' @37 (p30i9 p30pct9) (comma15. 7.1) (pct65ai9 a65pct9) (comma15. 7.1) (pct65bi9 b65pct9) (comma15. 7.1) (pct65ci9 c65pct9) (comma15. 7.1) (pct65di9 d65pct9) (comma15. 7.1) / @3 ' Ferryboat' @37 (p30i10 p30pct10) (comma15. 7.1) (pct65ai10 a65pct10) (comma15. 7.1) (pct65bi10 b65pct10) (comma15. 7.1) (pct65ci10 c65pct10) (comma15. 7.1) (pct65di10 d65pct10) (comma15. 7.1) / @3 ' Taxicab' @37 (p30i11 p30pct11) (comma15. 7.1) (pct65ai11 a65pct11) (comma15. 7.1) (pct65bi11 b65pct11) (comma15. 7.1) (pct65ci11 c65pct11) (comma15. 7.1) (pct65di11 d65pct11) (comma15. 7.1) / @3 ' Motorcycle' @37 (p30i12 p30pct12) (comma15. 7.1) (pct65ai12 a65pct12) (comma15. 7.1) (pct65bi12 b65pct12) (comma15. 7.1) (pct65ci12 c65pct12) (comma15. 7.1) (pct65di12 d65pct12) (comma15. 7.1) / @3 ' Bicycle' @37 (p30i13 p30pct13) (comma15. 7.1) (pct65ai13 a65pct13) (comma15. 7.1) (pct65bi13 b65pct13) (comma15. 7.1) (pct65ci13 c65pct13) (comma15. 7.1) (pct65di13 d65pct13) (comma15. 7.1) / @3 ' Walked' @37 (p30i14 p30pct14) (comma15. 7.1) (pct65ai14 a65pct14) (comma15. 7.1) (pct65bi14 b65pct14) (comma15. 7.1) (pct65ci14 c65pct14) (comma15. 7.1) (pct65di14 d65pct14) (comma15. 7.1) / @3 ' Other means' @37 (p30i15 p30pct15) (comma15. 7.1) (pct65ai15 a65pct15) (comma15. 7.1) (pct65bi15 b65pct15) (comma15. 7.1) (pct65ci15 c65pct15) (comma15. 7.1) (pct65di15 d65pct15) (comma15. 7.1) / @3 ' Worked at home' @37 (p30i16 p30pct16) (comma15. 7.1) (pct65ai16 a65pct16) (comma15. 7.1) (pct65bi16 b65pct16) (comma15. 7.1) (pct65ci16 c65pct16) (comma15. 7.1) (pct65di16 d65pct16) (comma15. 7.1) // @38 '------------------------------ Race (1) ----------------------------------------- Hispanic (2) --------------' // @39 ' Native' / @39 ' Hawaiian &' / @39 'Other Pacific' @64 ' The SAS System Some' @128 'White Alone,' / @39 ' Islander' @64 'Other Race' @86 ' Two or' @107 'Hispanic or' @128 'Not Hispanic' / @39 ' Alone' @55 'Pct.' @64 ' Alone' @77 'Pct.' @86 'More Races' @99 'Pct.' @107 ' Latino' @121 'Pct.' @128 ' Or Latino' @143 'Pct.' // @3 'Total workers 16 years and over:' @37 pct65ei1 comma15. @54 '100.0' @59 pct65fi1 comma15. @76 '100.0' @81 pct65gi1 comma15. @98 '100.0' @103 pct65hi1 comma15. @120 '100.0' @125 pct65ii1 comma15. @142 '100.0' / @3 ' Car, truck or van:' @37 (pct65ei2 e65pct2) (comma15. 7.1) (pct65fi2 f65pct2) (comma15. 7.1) (pct65gi2 g65pct2) (comma15. 7.1) (pct65hi2 h65pct2) (comma15. 7.1) (pct65ii2 i65pct2) (comma15. 7.1) / @3 ' Drove alone' @37 (pct65ei3 e65pct3) (comma15. 7.1) (pct65fi3 f65pct3) (comma15. 7.1) (pct65gi3 g65pct3) (comma15. 7.1) (pct65hi3 h65pct3) (comma15. 7.1) (pct65ii3 i65pct3) (comma15. 7.1) / @3 ' Carpooled' @37 (pct65ei4 e65pct4) (comma15. 7.1) (pct65fi4 f65pct4) (comma15. 7.1) (pct65gi4 g65pct4) (comma15. 7.1) (pct65hi4 h65pct4) (comma15. 7.1) (pct65ii4 i65pct4) (comma15. 7.1) / @3 ' Public transportation:' @37 (pct65ei5 e65pct5) (comma15. 7.1) (pct65fi5 f65pct5) (comma15. 7.1) (pct65gi5 g65pct5) (comma15. 7.1) (pct65hi5 h65pct5) (comma15. 7.1) (pct65ii5 i65pct5) (comma15. 7.1) / @3 ' Bus or trolley bus' @37 (pct65ei6 e65pct6) (comma15. 7.1) (pct65fi6 f65pct6) (comma15. 7.1) (pct65gi6 g65pct6) (comma15. 7.1) (pct65hi6 h65pct6) (comma15. 7.1) (pct65ii6 i65pct6) (comma15. 7.1) / @3 ' Streetcar/trolley car' @37 (pct65ei7 e65pct7) (comma15. 7.1) (pct65fi7 f65pct7) (comma15. 7.1) (pct65gi7 g65pct7) (comma15. 7.1) (pct65hi7 h65pct7) (comma15. 7.1) (pct65ii7 i65pct7) (comma15. 7.1) / @3 ' Subway or elevated' @37 (pct65ei8 e65pct8) (comma15. 7.1) (pct65fi8 f65pct8) (comma15. 7.1) (pct65gi8 g65pct8) (comma15. 7.1) (pct65hi8 h65pct8) (comma15. 7.1) (pct65ii8 i65pct8) (comma15. 7.1) / @3 ' Railroad' @37 (pct65ei9 e65pct9) (comma15. 7.1) (pct65fi9 f65pct9) (comma15. 7.1) (pct65gi9 g65pct9) (comma15. 7.1) (pct65hi9 h65pct9) (comma15. 7.1) (pct65ii9 i65pct9) (comma15. 7.1) / @3 ' Ferryboat' @37 (pct65ei10 e65pct10) (comma15. 7.1) (pct65fi10 f65pct10) (comma15. 7.1) (pct65gi10 g65pct10) (comma15. 7.1) (pct65hi10 h65pct10) (comma15. 7.1) (pct65ii10 i65pct10) (comma15. 7.1) / @3 ' Taxicab' @37 (pct65ei11 e65pct11) (comma15. 7.1) (pct65fi11 f65pct11) (comma15. 7.1) (pct65gi11 g65pct11) (comma15. 7.1) (pct65hi11 h65pct11) (comma15. 7.1) (pct65ii11 i65pct11) (comma15. 7.1) / @3 ' Motorcycle' @37 (pct65ei12 e65pct12) (comma15. 7.1) (pct65fi12 f65pct12) (comma15. 7.1) (pct65gi12 g65pct12) (comma15. 7.1) (pct65hi12 h65pct12) (comma15. 7.1) (pct65ii12 i65pct12) (comma15. 7.1) / @3 ' Bicycle' @37 (pct65ei13 e65pct13) (comma15. 7.1) (pct65fi13 f65pct13) (comma15. 7.1) (pct65gi13 g65pct13) (comma15. 7.1) (pct65hi13 h65pct13) (comma15. 7.1) (pct65ii13 i65pct13) (comma15. 7.1) / @3 ' Walked' @37 (pct65ei14 e65pct14) (comma15. 7.1) (pct65fi14 f65pct14) (comma15. 7.1) (pct65gi14 g65pct14) (comma15. 7.1) (pct65hi14 h65pct14) (comma15. 7.1) (pct65ii14 i65pct14) (comma15. 7.1) / @3 ' Other means' @37 (pct65ei15 e65pct15) (comma15. 7.1) (pct65fi15 f65pct15) (comma15. 7.1) (pct65gi15 g65pct15) (comma15. 7.1) (pct65hi15 h65pct15) (comma15. 7.1) (pct65di15 i65pct15) (comma15. 7.1) / @3 ' Worked at home' @37 (pct65ei16 e65pct16) (comma15. 7.1) (pct65fi16 f65pct16) (comma15. 7.1) (pct65gi16 g65pct16) (comma15. 7.1) (pct65hi16 h65pct16) (comma15. 7.1) (pct65ii16 i65pct16) (comma15. 7.1) // @3 145*'-' / @3 '(1) For Census 2000, persons could report more than one race, but the seven racial categories shown are mutually exclusive and include everyone.' / @3 '(2) Hispanic or Latino origin is NOT considered a race. People who reported themselves as Hispanic or Latino are also counted in the seven racial' / @3 ' categories.' ; 616 + 617 + **--Draw vertical lines--**; MPRINT(SDCPRO3): **--Draw vertical lines--**; 618 + 619 +do _i_=10 to 31; MPRINT(SDCPRO3): do _i_=10 to 31; 620 + PUT #_I_ @60 ':' ; MPRINT(SDCPRO3): PUT #_I_ @60 ':' ; 621 + end; MPRINT(SDCPRO3): end; 622 +do _i_=33 to 55; MPRINT(SDCPRO3): do _i_=33 to 55; 623 + PUT #_I_ @104 ':'; MPRINT(SDCPRO3): PUT #_I_ @104 ':'; 624 + end; MPRINT(SDCPRO3): end; 625 + 626 +link HeadFoot; MPRINT(SDCPRO3): link HeadFoot; 627 +end; *<-----------of code to generate 2nd page----; MPRINT(SDCPRO3): end; MPRINT(SDCPRO3): *<-----------of code to generate 2nd page----; 628 +RETURN; MPRINT(SDCPRO3): RETURN; NOTE: %INCLUDE (level 1) ending. MPRINT(SDCPRO3): *--Jeff Wallace, Oklahoma--; MPRINT(SDCPRO3): HeadFoot: PUT #1 'Census 2000, Summary File 3' ; MPRINT(SDCPRO3): IF geocomp EQ '00' THEN PUT #2 'Area Name: ' AreaName ; MPRINT(SDCPRO3): ELSE PUT #2 'Area: ' AreaName 'Geo. Component:' geocomp $geocomp. ; MPRINT(SDCPRO3): LENGTH TypeString $ 60 ; MPRINT(SDCPRO3): TypeString='Area Type: '||TRIM(PUT(SumLev,$SumLev.))|| ' (Summary Level '||SumLev||')' ; MPRINT(SDCPRO3): PUT #2 @(150 - LENGTH(TypeString)) TypeString ; MPRINT(SDCPRO3): LENGTH GeoString $149 ; MPRINT(SDCPRO3): GeoString=' ' ; MPRINT(SDCPRO3): IF (StAb NE ' ') THEN GeoString='State: '||UPCASE(StAb) ; The SAS System MPRINT(SDCPRO3): IF (cnty NE ' ') THEN DO ; MPRINT(SDCPRO3): GeoString=TRIM(GeoString)||' County: '||cnty ; MPRINT(SDCPRO3): IF (SumLev NE '050' ) THEN geostring= TRIM(geostring)||' ('||TRIM(PUT(county,$county.))||')'; MPRINT(SDCPRO3): END ; MPRINT(SDCPRO3): IF (CouSubFP NE ' ') THEN GeoString=TRIM(GeoString)||' CouSub: '||CouSubFP ; MPRINT(SDCPRO3): IF (PlaceFP NE ' ') THEN GeoString=TRIM(GeoString)||' Place: '||PlaceFP ; MPRINT(SDCPRO3): IF (Tract NE ' ') THEN GeoString=TRIM(GeoString)||' Tract: '||Tract ; MPRINT(SDCPRO3): IF (BG NE ' ') THEN GeoString=TRIM(GeoString)||' BG: '||BG ; MPRINT(SDCPRO3): IF (MSACMSA NOT IN (' ','####','9999')) THEN DO ; MPRINT(SDCPRO3): IF (CMSA2 = '99') THEN GeoString=TRIM(GeoString)||' MSA: '||MSACMSA ; MPRINT(SDCPRO3): ELSE DO ; MPRINT(SDCPRO3): GeoString=TRIM(GeoString)||' CMSA: '||MSACMSA ; MPRINT(SDCPRO3): IF (PMSA NE ' ') THEN GeoString=TRIM(GeoString)||' PMSA: '||PMSA ; MPRINT(SDCPRO3): END ; MPRINT(SDCPRO3): END ; MPRINT(SDCPRO3): IF (UA NOT IN (' ','9999')) THEN GeoString=TRIM(GeoString)||' UA: '||UA ; MPRINT(SDCPRO3): IF (CD106 NE ' ') THEN GeoString=TRIM(GeoString)||' CD: '||CD106 ; MPRINT(SDCPRO3): IF (Urbanrur NE ' ') THEN GeoString=TRIM(GeoString)||' Urban/Rural: '||UrbanRur ; MPRINT(SDCPRO3): * There is plenty of room to display additional geocodes as needed-- just concatenate them onto GeoString as above ; MPRINT(SDCPRO3): PUT #3 GeoString ; MPRINT(SDCPRO3): *---Draw the box around the tabular area incl left and right vertical lines--; MPRINT(SDCPRO3): PUT #5 @1 PLUS $1. DoubleLine $147. PLUS $1. ; MPRINT(SDCPRO3): DO _I_=6 TO 61; MPRINT(SDCPRO3): PUT #_I_ @1 VBAR $1. @149 VBAR $1. @; MPRINT(SDCPRO3): END ; MPRINT(SDCPRO3): *----Footers including bottom of box--------; MPRINT(SDCPRO3): RunPage + 1 ; MPRINT(SDCPRO3): * Cumulative paging for this run: (# of areas) x (# of profiles) ; MPRINT(SDCPRO3): LENGTH credline $148 ; MPRINT(SDCPRO3): RETAIN credline "Profile prepared by the Missouri Census Data Center (MCDC), http://mcdc.missouri.edu"; MPRINT(SDCPRO3): PUT #62 @1 PLUS $1. DoubleLine $147. PLUS $1. / @1 "Source: Census 2000 Summary File 3 [machine-readable data file]/prepared" " by the U.S.Census Bureau, 2002 (www.census.gov)" @123 RunDate +(-1) ': Area ' AreaCount : 3.0 +(-1) ', Page ' RunPage 3.0-L / @1 credline / @15 "Report generated on 26AUG02 at 14:59"; MPRINT(SDCPRO3): RETURN; MPRINT(SDCPRO3): *************end HeadFoot routine**************; MPRINT(SDCPRO3): RUN; Pop100=5595211 GeoCode=29 AreaName=Missouri NOTE: 128 lines were written to file PRINT. NOTE: There were 94 observations read from the data set SF3.MOPH. WHERE SumLev='040'; NOTE: There were 94 observations read from the data set SF3.MOPHCT. WHERE SumLev='040'; NOTE: There were 94 observations read from the data set SF3.MOPHCTR. WHERE SumLev='040'; NOTE: The DATASTEP printed pages 1-2. NOTE: DATA statement used: real time 1:07.64 cpu time 46.69 seconds MPRINT(SDCPRO3): ODS ps close ; NOTE: ODS PS printed 2 pages to /pub/webrepts/sdcprofiles3/mo/040t.ps. 629 630 631 %include sascode(notify); NOTE: %INCLUDE (level 1) file SASCODE(notify) is file /pub/sascode/notify.sas. 632 + run; 633 + options nonotes nosource; *--put "notify" msg on stderr file--; 634 + options obs=max; *--in case of error obs=0 will be set; 635 + *--adding sysjobid info 6-18-97--; 636 + options no$syntaxcheck; The SAS System 637 +%let se=&syserr; 638 +data _null_; 639 + call sound(523,12); 640 + call sound(523,12); 641 + call sound(523,12); 642 + call sound(523,12); 643 + file log; 644 + %let _pgm2=&pgm %str((&sysjobid)); 645 + put "**** &_pgm2 has completed &sysday &sysdate &systime syserr=&se *****"; 646 + file stderr; 647 + put "**** &_pgm2 has completed &sysday &sysdate &systime syserr=&se *****"; 648 + run; **** invoke_sdcpro3 (17608) has completed Monday 26AUG02 14:59 syserr=0 ***** 649 + options source notes; NOTE: %INCLUDE (level 1) ending. NOTE: SAS Institute Inc., SAS Campus Drive, Cary, NC USA 27513-2414 NOTE: The SAS System used: real time 1:08.77 cpu time 46.96 seconds