1 The SAS System 16:31 Wednesday, December 27, 2000 NOTE: Copyright (c) 1999 by SAS Institute Inc., Cary, NC, USA. NOTE: SAS (r) Proprietary Software Version 8 (TS M0) Licensed to UNIVERSITY OF MISSOURI-COLUMBIA, Site 0001242013. NOTE: This session is executing on the AIX 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.25 seconds cpu time 0.19 seconds NOTE: AUTOEXEC processing beginning; file is /home/kumar/autoexec.sas. ****** MSCDC autoexec rev 11-17-99 begin execution ******* NOTE: Libref LIBRARY was successfully assigned as follows: Engine: V8 Physical Name: /mscdc/sasctlgs7 NOTE: Libref STF903 was successfully assigned as follows: Engine: V6 Physical Name: /mscdc/data/stf903 NOTE: Libref STF903X was successfully assigned as follows: Engine: V6 Physical Name: /mscdc/data/stf903x Standard filerefs and librefs assigned ***** ****Finished with generic autoexec**** *** NOTE: AUTOEXEC processing completed. 1 x cd /wwwhome/uic/uicapps 1 ! ; %let pgm=xtabs3; filename pgm "&pgm..sas"; 2 *----This is /wwwhome/uic/uicapps/xtabs3.sas -----; 3 *---Use the xtabs3t.sas module for testing purposes-------------------*; 4 %let date = 12/04/99; *<-- date last revised; 5 %let tester=kumar; *--normally use value of john --; 6 /* Maintenance history: 7 7-2x-97: Initial coding. 8 8-05-97: Add plain text option (fo=text). 9 8-07-97: Add noborder option as part of format parm. 10 8-11-97: lowcase value of st parm. 11 12-04-97: Added code to process mcd/cousub geocodes. 12 Added library libname stmt. 13 11-05-98: Minor cosmetic chages. bgcolor of table set to white. Spaces 14 added after "XP1." etc in headers. 15 03-03-99: Add ability to process telex geography. Need state and telex 2 The SAS System 16:31 Wednesday, December 27, 2000 16 parms. Also changing footer to ref oseda and mscdc. 17 18 */ 19 *---This www-accessible routine will write a Basic Tables profile based on 20 1990 stf3 data directly to stdout, i.e. back to the client browser--; 21 %let version=1.2; 22 %let topdir=/wwwhome/uic/uicapps; 23 %let tmp=&topdir/tmp; 24 25 *libname library '/mscdc/ciesin/mable/mable.sdl' access=readonly; 26 libname library '/mscdc/sasctlgs7' access=readonly; NOTE: Libref LIBRARY was successfully assigned as follows: Engine: V8 Physical Name: /mscdc/sasctlgs7 27 options nonumber nodate nocenter; 28 options skip=0; 29 filename tstdin '/wwwhome/uic/uicapps/tstdin'; 30 filename tstdout '/wwwhome/uic/uicapps/tstdout.html'; 31 /* This is the old "manual" way to figure out where input/output came 32 from/went to ..... now we use a sysget function to let program 33 figure it out for itself ... 34 */ 35 %let parmsin=tstdin; *<---parsprms module references this file; 36 *let parmsin=stdin; *<---for running from html--; 37 38 %let fileout=tstdout; 39 *let fileout=stdout; 40 41 *--assign parmsin and fileout based on unix en var user--; 42 data _null_; 43 *--when this is run from http the unix env var $USER is not defined. But 44 it still works, since undefined is still not 'john' (now the value of parm, &tester)--; 45 user=sysget('USER'); put user=; 46 if user="&tester" then call symput('parmsin','tstdin'); 47 else call symput('parmsin','stdin'); 48 if user="&tester" then call symput('fileout','tstdout'); 49 else call symput('fileout','stdout'); 50 run; user=kumar NOTE: DATA statement used: real time 0.04 seconds cpu time 0.04 seconds 51 %put &parmsin; tstdin 52 53 options mprint; 54 55 options linesize=120 pagesize=120 nocenter nodate; 56 57 *--these are parms for state county zip tract blkgrp pmsa msacmsa place mcd; 58 %global st co zi tr bg ms pm pl mc te; 59 %global stfips; 60 %global fo; *--format of output: htlm or text-; 61 %global noborder; 62 63 %let parmnaml=2; *--parsprms routine checks this global parm and limits 64 length of parsed parmnames to this length. So user can specify 65 "zi" or "zip" or "zipcode" and they all come out just "zi".--; 66 67 %include '/wwwhome/uic/uicapps/parsprms.sas'; NOTE: The infile TSTDIN is: File Name=/wwwhome/uic/uicapps/tstdin, Owner Name=john,Group Name=mscdc, Access Permission=rw-rw-rw-, File Size (bytes)=37 p=xtabs3t2&st=29&co=003&fo=html&eod=y NOTE: 1 record was read from the infile TSTDIN. The minimum record length was 37. The maximum record length was 37. NOTE: DATA statement used: real time 0.05 seconds cpu time 0.06 seconds 124 %put _global_; *<---displays the parms after parsing step--; GLOBAL PM GLOBAL PGM xtabs3 GLOBAL TSO ummvsb.umsystem.edu GLOBAL MS GLOBAL MC GLOBAL DATE 12/04/99 GLOBAL CO 003 GLOBAL ZI GLOBAL _PARMSIN p st co fo GLOBAL NOBORDER GLOBAL FILEOUT tstdout GLOBAL TR GLOBAL FO html GLOBAL ST 29 GLOBAL P xtabs3t2 GLOBAL PARMNAML 2 GLOBAL PARMSIN tstdin GLOBAL TE GLOBAL STFIPS GLOBAL VERSION 1.2 GLOBAL TMP /wwwhome/uic/uicapps/tmp GLOBAL BG GLOBAL _NPARMS 4 GLOBAL TOPDIR /wwwhome/uic/uicapps GLOBAL TESTER kumar GLOBAL PL 125 126 *--Following code adapted from sascode(xtmostat)--; 127 %put ***** xtabs3 in uicapps, Revised 12-4-97 (C) -- loaded for work ****; ***** xtabs3 in uicapps, Revised 12-4-97 (C) -- loaded for work **** 128 *-----------------------****************-----------------; 129 %let title1 =Urban Information Center, U. of Missouri St. Louis; 130 %let title2 =1990 STF 3 Standard Extract Report - Basic Tables; 131 132 *--use macro to check type of st parm (alpha or numeric). convert alpha to 133 numeric (postal abbrev to fips) if necessary.--; 134 %macro ckit; 135 %if %qupcase(&st)=%quote(OR) %then %let st=41; %*--avoid problem with or for oregon-; The SAS System 136 %let st=%lowcase(&st); 137 %if ak le &st and &st le wy %then %let stfips=%stcnvt(&st); 138 %else %do; 139 %let stfips=&st; %let st=%stcnvt(&stfips); 140 %end; 141 %mend ckit; 142 %ckit 143 144 145 %put stfips=&stfips st=&st; stfips=29 st=mo 146 147 148 *--data step to analyze the parms and point to the correct observation on the 149 correct sas data set--; 150 data dum(keep=state); 151 length state stab $2; 152 length fo $5 format $4; retain fo "&fo "; 153 length _errmsg $120 where where2 $64; 154 retain state "&stfips" stab "&st"; 155 if verify(state,'0123456789') then do; 156 *--user specified a fips code instead of a postal abbrev. switch them-; 157 _save=state; state=stab; stab=_save; 158 end; 159 stab=lowcase(stab); 160 if fo="html2" then call symput('noborder','no'); *<--html2 is html table 161 but without borders--; 162 if fo =" " or upcase(fo)=:'H' then format='html'; else format='text'; 163 if length("&pl ") eq 5 then do; 164 length _arg7 $7 _cenplac $4; _arg7=state||"&pl"; 165 _cenplac=put(_arg7,$fplccnv.); 166 if _cenplac=' ' then 167 _errmsg='FIPS place code not found in convert table'; 168 place=_cenplac; 169 end; 170 *--new code for mcd processing, 12.97--; 171 if length("&mc") eq 5 then do; 172 length _mcdarg $10 _cenmcd $3; _mcdarg=state||"&co&mc"; 173 _cenmcd =put(_mcdarg,$fmcdcnv.); 174 put _cenmcd=; 175 if _cenmcd =' ' then do; 176 _errmsg='FIPS MCD code not found in convert table. '; 177 end; 178 mcd=_cenmcd; 179 end; 180 *--set flags based on which parms were specified--; 181 st="&st " ne " "; 182 co="&co " ne " "; 183 zi="&zi " ne " "; 184 tr="&tr " ne " "; 185 bg="&bg " ne " "; 186 ms="&ms " ne " "; *--msa/cmsa--; 187 pm="&pm " ne " "; *--pmsa--; 188 pl="&pl " ne " "; 189 mc="&mc " ne " "; 190 te="&te " ne " "; 191 length state $2 cnty $3 county $5 tract $7 zip $5 place $4 metro $4 blkgrp $1; 192 retain county cnty "&co" tract "&tr" zip "&zi" place "&pl" metro "&ms" blkgrp "&bg"; 193 retain mcd "&mc"; 194 length telex $7; retain telex "&te"; 195 if 0 xtabs3 error message'; 315 put '

Invalid parms passed to xtabs3 Application

'; 316 put 'Sorry, we are unable to process your request for a Basic Tables report'; 317 put "
&errmsg "; 318 319 put '

Please check your parameter specifications and try again.'; 320 put ''; 321 run; 322 options no$syntaxcheck; 323 data _null_; abort; run; *--stop the whole thing--; 324 %end; 325 %mend ckforerr; The SAS System 326 %ckforerr 327 328 options nomprint nosymbolgen; 329 330 331 libname stf903x "&dir" access=readonly; NOTE: Libref STF903X was successfully assigned as follows: Engine: V6 Physical Name: /mscdc/data/stf903x 332 *-------------------generate the report------------------------------*; 333 data dum; 334 file &fileout; **stdout; 335 retain format "&format"; 336 if format='html' then do; 337 put 'Content-type: text/html'///; 338 put 'Basic Tables report from Missouri State Census Data 339 Center'; 340 end; 341 342 length areaname $64; *<--allow for longer enhanced versions--; 343 %macro genset; 344 %if &sasdset=&st.telex %then %do; 345 libname stf93xwc '/mscdc/data/stf903x/wcs.bystate' access=readonly; 346 *--we need both these data libraries to resolve the view--; 347 libname stf903wc '/mscdc/data/stf903/wcs.bystate' access=readonly; 348 set stf93xwc.&sasdset ( 349 %end; 350 %else %do; 351 set stf903x.&sasdset ( 352 %end; 353 %mend genset; 354 %genset 355 356 where=( &where )) dum(in=dummy); 357 if _n_=1 and dummy and format='html' then do; 358 put '

Sorry!

'; 359 put 'Unable to find the geographic code(s) specified. Please review ' 360 'your parameter specifications and try again. '; 361 goto genfoot; 362 end; 363 364 *--Read the rankings data used to read the univariate-ranking stats set, used to 365 determine values in extreme ranges and color-code them--*; 366 367 368 *-----some last minute edits of the areaname field-------; 369 if 0 then msacmsa=' '; *--establish length to avoid syntax error-; 370 if 0 then county=' '; 371 if slvl='800' or slvl='050' then areaname=trim(areaname)||','||stab; 372 else if slvl='310' then areaname=trim(put(msacmsa,$metro.))||' ('||stab|| 373 ' pt.)'; 374 else if slvl='311' then do; 375 length _arg $5; _arg=pmsa||'P'; 376 areaname=trim(put(_arg,$metro.))||' ('||stab|| 377 ' pt.)'; 378 end; 379 else if slvl in ('140','150') then areaname=trim(put(county,$county.))|| 380 ' County, '||areaname; 381 382 %if &statset ne " " %then %do; ERROR: The %IF statement is not valid in open code. ERROR: The %IF statement is not valid in open code. ERROR: The %IF statement is not valid in open code. 383 libname stats v8 "/mscdc/data7/stf903x"; NOTE: Libref STATS was successfully assigned as follows: Engine: V8 Physical Name: /mscdc/data7/stf903x 384 set stats.&statset 385 %if &statset ne stats040 and &statset ne stats050 %then %do; ERROR: The %IF statement is not valid in open code. ERROR: The %IF statement is not valid in open code. ERROR: The %IF statement is not valid in open code. 386 (where=(state="&st")); ERROR: File STATS.STATS050.DATA does not exist. ERROR: File STATS.STATS050.DATA does not exist. ERROR: File STATS.STATS050.DATA does not exist. 387 %end; ERROR: The %END statement is not valid in open code. ERROR: The %END statement is not valid in open code. ERROR: The %END statement is not valid in open code. 388 %end; ERROR: The %END statement is not valid in open code. ERROR: The %END statement is not valid in open code. ERROR: The %END statement is not valid in open code. 389 390 *--define cum pcts for age table--*; 391 pct0_9=pct0_4+pct5_9; 392 pct0_13=pct0_9+pct10_13; 393 pct0_17=pct0_13+pct14_17; 394 pct0_24=pct0_17+pct18_24; 395 pct0_34=pct0_24+pct25_34; 396 pct0_44=pct0_34+pct35_44; 397 pct0_54=pct0_44+pct45_54; 398 pct0_59=pct0_54+pct55_59; 399 pct0_64=pct0_59+pct60_64; 400 pct0_74=pct0_64+pct65_74; 401 pct0_84=pct0_74+pct75_84; 402 403 asstbach=college2+college3; pctasstb=pctcoll2+pctcoll3; 404 405 %macro td(v,f,pct=0); 406 %*--generate code to be included in PUT stmt to generate one spec for variable v, using format f, 406 ! and appending 407 '%' iff pct=1); 408 td=' ' ||bold||" &v &f"; 420 if pct then td=trim(td)||'%'; 421 td=trim(td)||' '; 422 put td; 423 %mend td; 424 425 %macro dorept; 426 *--unable to have a data step do 1 or the other - have to use macro--; 427 %if &format=html %then %do; 428 429 PUT '' ; 431 PUT ''; The SAS System 432 PUT ''; 433 PUT ''; 434 **PUT "

&title1

" ; 435 put "

&title2

" ; 436 put / '

Geocode: ' GEOCODE '  Areaname: ' areaname ', Tract 12

' ; 437 PUT '
'; 438 options nosource; *<================================================; 439 put "" 440 put "" 441 / '' 442 /' ' 444 / ''; 445 PUT '' 446 /' ' 447 /' ' 448 /' ' 449 /' ' / ''; 450 ; if slvl ne '800' then 451 PUT '' 452 /' ' 453 /' ' 454 /' ' 455 /' ' / ''; 456 PUT '' 457 /' ' 458 /' ' 459 /' ' 460 /' ' / ''; 461 PUT '' 462 /' ' 463 /' ' 464 /' ' 465 /' ' / ''; 466 PUT '' 467 /' ' 468 /' ' 469 /' ' 470 /' ' / ''; 471 PUT '' 472 /' ' 473 /' ' 474 /' ' 475 /' ' / ''; 476 PUT '' 477 /' ' / '' ; 478 PUT '' 479 /' ' 481 / ''; 482 PUT '' 483 /' ' 484 /' ' 485 /' ' 486 /' ' / ''; 487 PUT '' 488 /' ' 489 /' ' 490 /' ' 491 /' ' / ''; 492 PUT '' 493 /' ' 494 /' ' 495 /' ' 496 /' ' / ''; 497 PUT '' 498 /' ' 499 /' ' 500 /' ' 501 /' ' / ''; 502 PUT '' 503 /' ' 504 /' ' 505 /' ' 506 /' ' / ''; 507 PUT '' / ' ' / '' ; 508 PUT '' 509 /' ' 511 / ''; 512 PUT '' 513 /' ' 514 /' ' 515 /' ' 516 /' ' / ''; 517 PUT '' 518 /' ' 519 /' ' 520 /' ' 521 /' ' / ''; 522 PUT '' 523 /' ' 524 /' ' 525 /' ' 526 /' ' / ''; 527 PUT '' 528 /' ' 529 /' ' 530 /' ' 531 /' ' / ''; 532 PUT '' 533 /' ' 534 /' ' 535 /' ' 536 /' ' / ''; 537 PUT '' 538 /' ' 539 /' ' 540 /' ' 541 /' ' / ''; 542 PUT '' 543 /' ' 544 /' ' 545 /' ' 546 /' ' / ''; 547 PUT '' 548 /' ' 549 /' ' The SAS System 550 /' ' 551 /' ' / ''; 552 PUT '' 553 /' ' 554 /' ' 555 /' ' 556 /' ' / ''; 557 PUT '' 558 /' ' 559 /' ' 560 /' ' 561 /' ' / ''; 562 PUT '' 563 /' ' 564 /' ' 565 /' ' 566 /' ' / ''; 567 PUT '' 568 /' ' 569 /' ' 570 /' ' 571 /' ' / ''; 572 PUT '' 573 /' ' 574 /' ' 575 /' ' 576 /' ' / ''; 577 PUT '' 578 /' ' 579 /' ' 580 /' ' 581 /' ' / ''; 582 PUT '' 583 /' ' 584 /' ' 585 /' ' 586 /' ' / ''; 587 PUT '' 588 /' ' 589 /' ' 590 /' ' 591 /' ' / ''; 592 PUT '' 593 /' ' 594 /' ' 595 /' ' 596 /' ' / ''; 597 PUT '' 598 /' ' 599 /' ' 600 /' ' 601 /' ' / ''; 602 PUT '' 603 /' ' / '' ; 604 PUT '' 605 /' ' 607 / ''; 608 PUT '' 609 /' ' 610 /' ' 611 /' ' 612 /' ' / ''; 613 PUT '' 614 /' ' 615 /' ' 616 /' ' 617 /' ' / ''; 618 PUT '' 619 /' ' 620 /' ' 621 /' ' 622 /' ' / ''; 623 PUT '' 624 /' ' / '' ; 625 PUT '' 626 / ' ' 628 / ''; 629 PUT '' 630 /' ' 631 /' ' 632 /' ' 633 /' ' / ''; 634 PUT '' 635 /' ' 636 /' ' 637 /' ' 638 /' ' / ''; 639 PUT '' 640 /' ' 641 /' ' 642 /' ' 643 /' ' / ''; 644 PUT '' 645 /' ' 646 /' ' 647 /' ' 648 /' ' / ''; 649 PUT '' 650 /' ' 651 /' ' 652 /' ' 653 /' ' / ''; 654 PUT '' 655 /' ' 656 /' ' 657 /' ' 658 /' ' / ''; 659 PUT ' ' 660 /' ' / '' ; 661 PUT ' ' 662 /' ' 664 / ''; 665 PUT '' 666 /' ' 667 /' ' The SAS System 668 /' ' 669 /' ' / ''; 670 PUT '' 671 /' ' 672 /' ' 673 /' ' 674 /' ' / ''; 675 PUT '' 676 /' ' 677 /' ' 678 /' ' 679 /' ' / ''; 680 PUT '' 681 /' ' 682 /' ' 683 /' ' 684 /' ' / ''; 685 PUT '' 686 /' ' 687 /' ' 688 /' ' 689 /' ' / ''; 690 PUT '' 691 /' ' 692 /' ' 693 /' ' 694 /' ' / ''; 695 PUT '' 696 /' ' 697 /' ' 698 /' ' 699 /' ' / ''; 700 PUT '' 701 /' ' 702 /' ' 703 /' ' 704 /' ' / ''; 705 PUT '' 706 /' ' 707 /' ' 708 /' ' 709 /' ' / ''; 710 PUT ''/' ' / '' ; 711 PUT ' ' 712 /' ' 714 / ''; 715 PUT '' 716 /' ' 717 / ''; 718 PUT '' 719 /' ' 720 /' ' 721 /' ' 722 /' ' / ''; 723 PUT '' 724 /' ' 725 /' ' 726 /' ' 727 /' ' / ''; 728 PUT '' 729 /' ' 730 /' ' 731 /' ' 732 /' ' / ''; 733 PUT '' 734 /' ' 735 /' ' 736 /' ' 737 /' ' / ''; 738 PUT '' / '' / '' ; 739 PUT '' 740 /' ' 742 / ''; 743 PUT '' 744 /' ' 745 /' ' 746 /' ' 747 /' ' / ''; 748 PUT '' 749 /' ' 750 /' ' 751 /' ' 752 /' ' / ''; 753 PUT '' 754 /' ' 755 /' ' 756 /' ' 757 /' ' / ''; 758 PUT '' 759 /' ' 760 /' ' 761 /' ' 762 /' ' / ''; 763 PUT '' / '' / '' ; 764 PUT '' 765 /' ' 767 / ''; 768 PUT '' 769 /' ' 770 /' ' 771 /' ' 772 /' ' / ''; 773 PUT '' 774 /' ' 775 /' ' 776 /' ' 777 /' ' / ''; 778 PUT '' 779 /' ' 780 /' ' 781 /' ' 782 /' ' / ''; 783 PUT '' 784 /' ' 785 /' ' The SAS System 786 /' ' 787 /' ' / ''; 788 789 PUT '' 790 /' ' 791 /' ' 792 /' ' 793 /' ' / ''; 794 *--combine items for associates and bachelors degrees--; 795 PUT '' 796 / "" 797 /' ' 796 / "" _ _ _ 32 32 32 WARNING 32-169: The quoted string currently being processed has become more than 262 characters long. You may have unbalanced quotation marks. 798 /' ' 799 /' ' / ''; 800 PUT '' 801 /' ' 802 /' ' 803 /' ' 804 /' ' / ''; 805 PUT '' / '' / '' ; 806 PUT '' 807 /' ' 809 / ''; 807 /' ' 811 /' ' 812 /' ' 813 /' ' 814 /' ' / ''; 815 PUT '' 816 /' ' 817 /' ' 818 /' ' 819 /' ' / ''; 820 PUT '' / '' / '' ; 821 PUT '' 822 /' ' 824 / ''; 822 /' ' 826 /' ' 827 /' ' 828 /' ' 829 /' ' / ''; 830 PUT '' 831 /' ' 832 /' ' 833 /' ' 834 /' ' / ''; 835 PUT '' 836 /' ' 837 /' ' 838 /' ' 839 /' ' / ''; 840 PUT '' 841 /' ' 842 /' ' 843 /' ' 844 /' ' / ''; 845 PUT '' 846 /' ' 847 /' ' 848 /' ' 849 /' ' / ''; 850 PUT '' 851 /' ' 852 /' ' 853 /' ' 854 /' ' / ''; 855 PUT '' / '' / '' ; 856 PUT ' ' 857 /' ' 859 /''; 857 /' ' 861 /' ' 862 /' ' 863 /' ' 864 /' ' / ''; 865 PUT '' 866 /' ' 867 /' ' 868 /' ' 869 /' ' / ''; 870 PUT '' 871 /' ' 872 /' ' 873 /' ' 874 /' ' / ''; 875 PUT '' 876 /' ' 877 /' ' 878 /' ' 879 /' ' / ''; 880 PUT '' 881 /' ' 882 /' ' 883 /' ' The SAS System 884 /' ' / ''; 885 PUT '' / '' / '' ; 886 PUT '' 887 /' ' 889 /''; 887 /' ' 891 /' ' 892 /' ' 893 /' ' 894 /' ' / ''; 895 PUT '' 896 /' ' 897 /' ' 898 /' ' 899 /' ' / ''; 900 PUT '' 901 /' ' 902 /' ' 903 /' ' 904 /' ' / ''; 905 PUT '' 906 /' ' 907 /' ' 908 /' ' 909 /' ' / ''; 910 PUT '' / '' / '' ; 911 PUT '' 912 /' ' 914 / ''; 912 /' ' 916 /' ' 917 /' ' 918 /' ' 919 /' ' / ''; 920 PUT '' 921 /' ' 922 /' ' 923 /' ' 924 /' ' / ''; 925 PUT '' 926 /' ' 927 /' ' 928 /' ' 929 /' ' / ''; 930 PUT '
' 443 /' XP1. GENERAL POPULATION
TOTAL PERSONS/PERCENT SAMPLED ' TOTPOP COMMA10. '' PCTSMPLD 9.1 '%' '  
PER SQUARE MILE / LAND AREA ' POPPSQMI 10.2 '' LANDSQMI 10.2 '  
FEMALES ' FEMALE COMMA10. '' PCTFEMAL 9.1 '%' '  
LIVING IN RURAL AREAS/ON FARMS' RURAL COMMA10. '' ONFARMS COMMA10. '  
LIVING N FAMILIES/ALONE ' INFAMILY COMMA10. '' ALONE COMMA10. '  
LIVING IN GROUP QUARTERS ' GROUPQTR COMMA10. '' PCTGQ 9.1 '%' '  
 
' 480 /' XP2. PERSONS BY RACE/HISPANIC
WHITE ' WHITE COMMA10. '' PCTWHITE 9.1 '%' '  
BLACK ' BLACK COMMA10. '' PCTBLACK 9.1 '%' '  
ASIAN & PACIFIC ISLANDER ' ASIANPI COMMA10. '' PCTASIAN 9.1 '%' '  
AMERICAN INDIAN, ESK., ALEUT ' AMINDIAN COMMA10. '' PCTAMIND 9.1 '%' '  
HISPANIC (ANY RACE) ' HISPANIC COMMA10. '' PCTHISP 9.1 '%' '  
 
' 510 /' XP3. PERSONS BY AGE
0-4 / PCT / CUM PCT ' AGE0_4 COMMA9. '' PCT0_4 5.1 '' PCT0_4 6.1 '
5-9 ' AGE5_9 COMMA9. '' PCT5_9 5.1 '' PCT0_9 6.1 '
10-13 ' AGE10_13 COMMA9. '' PCT10_13 5.1 '' PCT0_13 6.1 '
14-17 ' AGE14_17 COMMA9. '' PCT14_17 5.1 '' PCT0_17 6.1 '
18-24 ' AGE18_24 COMMA9. '' PCT18_24 5.1 '' PCT0_24 6.1 '
25-34 ' AGE25_34 COMMA9. '' PCT25_34 5.1 '' PCT0_34 6.1 '
35-44 ' AGE35_44 COMMA9. '' PCT35_44 5.1 '' PCT0_44 6.1 '
45-54 ' AGE45_54 COMMA9. '' PCT45_54 5.1 '' PCT0_54 6.1 '
55-59 ' AGE55_59 COMMA9. '' PCT55_59 5.1 '' PCT0_59 6.1 '
60-64 ' AGE60_64 COMMA9. '' PCT60_64 5.1 '' PCT0_64 6.1 '
65-74 ' AGE65_74 COMMA9. '' PCT65_74 5.1 '' PCT0_74 6.1 '
75-84 ' AGE75_84 COMMA9. '' PCT75_84 5.1 '' PCT0_84 6.1 '
85 AND OVER ' AGE85_UP COMMA9. '' PCT85_UP 5.1 ' 100.0
UNDER 20 ' AGE0_19 COMMA9. '' PCT0_19 5.1 '  
20-39 ' AGE20_39 COMMA9. '' PCT20_39 5.1 '  
40-64 ' AGE40_64 COMMA9. '' PCT40_64 5.1 '  
65 AND OVER ' AGE65_UP COMMA9. '' PCT65_UP 5.1 '  
MEDIAN AGE ' MEDAGE 9.1 '    
 
' 606 /' XP4. HOUSEHOLDS BY SIZE
TOTAL HOUSEHOLDS/AVERAGE SIZE ' TOTHHS COMMA10. '' AVGHHSZ 10.2 '  
1 PERSON/1 PERSON OVER 65 ' HHS1 COMMA10. '' HHS1OV65 COMMA10. '  
PCTHHS: 2 PERSONS / 3-4 / 5+ ' PCTHHS2 5.1 '%' '' PCTHHS3_ 6.1 '%' '' PCTHHS5_ 6.1 '%' '
 
' 627 /' XP5. HOUSEHOLDS BY TYPE
FAMILIES/PCT OF ALL HOUSEHOLDS ' FAMILIES COMMA10. '' PCTFAMHH 7.1 '%' '  
MARRIED COUPLES/PCT OF FAMILIES' MCFAMS COMMA10. '' PCTMCFAM 9.1 '%' '  
WITH OWN CHILDREN ' MCWCHILD COMMA10. '' PCTMCWCH 9.1 '%' '  
FEMALE HOUSEHOLDER (NO HUSB) ' FEMHEAD COMMA10. '' PCTFEMHE 9.1 '%' '  
WITH OWN CHILDREN ' FEMHEADC COMMA10. '' PCTFEMHC 9.1 '%' '  
NON-FAMILY HOUSEHOLDS ' NONFHHS COMMA10. '' PCTNFHHS 9.1 '%' '  
 
' 663 /' XP6.HOUSEHOLD INCOME 1989
LESS THAN $10,000/PCT/CUM PCT ' HHI0_10 COMMA9. '' PHI0_10 5.1 '' PHI0_10 6.1 '
$10,000 - $14,999 ' HHI10_15 COMMA9. '' PHI10_15 5.1 '' PHI0_15 6.1 '
$15,000 - $24,999 ' HHI15_25 COMMA9. '' PHI15_25 5.1 '' PHI0_25 6.1 '
$25,000 - $34,999 ' HHI25_35 COMMA9. '' PHI25_35 5.1 '' PHI0_35 6.1 '
$35,000 - $49,999 ' HHI35_50 COMMA9. '' PHI35_50 5.1 '' PHI0_50 6.1 '
$50,000 - $74,999 ' HHI50_75 COMMA9. '' PHI50_75 5.1 '' PHI0_75 6.1 '
$75,000 - $99,999 ' HHI75_99 COMMA9. '' PHI75_99 5.1 '' PHI0_99 6.1 '
$100,000 AND OVER ' HHI100UP COMMA9. '' PHI100UP 5.1 ' 100.0
MEDIAN/AVERAGE ' MEDHHINC DOLLAR10. '' AVGHHINC DOLLAR10. '  
 
' 713 /' XP7.FAMILIES BY # WORKERS
COUNT/ AVG FAMILY INCOME 1989
0 WORKERS ' FAMWORK0 COMMA10. '' AVGFAMI0 DOLLAR10. '  
1 WORKER ' FAMWORK1 COMMA10. '' AVGFAMI1 DOLLAR10. '  
2 WORKERS ' FAMWORK2 COMMA10. '' AVGFAMI2 DOLLAR10. '  
3+ WORKERS ' FAMWORK3 COMMA10. '' AVGFAMI3 DOLLAR10. '  
 
' 741 /' XP8.OTHER INCOME MEASURES
MEDIAN/AVG FAMILY INCOME ' MEDFAMIN DOLLAR10. '' AVGFAMIN DOLLAR10. '  
PER CAPITA INCOME/NON-GRP QTRS ' PCI DOLLAR10. '' PCIHHS DOLLAR10. '  
PERSONS BELOW POVERTY LEVEL ' POOR COMMA10. '' PCTPOOR 9.1 '%' '  
PERSONS BELOW 50% OF POVERTY ' VERYPOOR COMMA10. '' PCTVERYP 9.1 '%' '  
 
' 766 /' XP9.LEVEL OF EDUCATION
TOTAL PERSONS AGE 25+ ' AGE25_UP COMMA10. '' '100.0%' '  
LESS THAN 9TH GRADE ' ELEMEDUC COMMA10. '' PCTELEM 9.1 '%' '  
9TH TO 12TH GRADE, NO DIPLOMA ' HIGHSCH1 COMMA10. '' PCTHSCH1 9.1 '%' '  
HIGH SCHOOL GRAD. (OR EQUIV) ' HIGHSCH2 COMMA10. '' PCTHSCH2 9.1 '%' '  
SOME COLLEGE, NO DEGREE ' COLLEGE1 COMMA10. '' PCTCOLL1 9.1 '%' '  
ASSOCIATE/BACHELOR'S DEGREE ' ASSTBACH COMMA10. 'ASSOCIATE/BACHELOR'S DEGREE ' PCTASSTB 9.1 '%' '  
GRADUATE OR PROFESSIONAL DEGREE ' COLLEGE4 COMMA10. '' PCTCOLL4 9.1 '%' '  
 
' 808 /' XP10.UNEMPLOYMENT: CIV LAB FORCE
' ___ ___ ___ 32 32 32 WARNING 32-169: The quoted string currently being processed has become more than 262 characters long. You may have unbalanced quotation marks. 810 PUT '
TOTAL CLF: UNEMPLOYED/RATE ' UNEMPLYD COMMA10. '' PCTUNEMP 9.1 '%' '  
FEMALE: UNEMPLOYED/RATE ' UNEMPFEM COMMA10. '' PCTUNEMF 9.1 '%' '  
 
' 823 /' XP11.OCCUPATION
' ___ ___ ___ 32 32 32 WARNING 32-169: The quoted string currently being processed has become more than 262 characters long. You may have unbalanced quotation marks. 825 PUT '
TOTAL EMPLOYED PERSONS AGE 16+ ' EMPOVR16 COMMA10. '' '100.0%' '  
MANAGER. & PROF. SPECIALTY OCCS ' MGRPROF COMMA10. '' PCTMGPR 9.1 '%' '  
TECH, SALES, ADMIN. SUPPORT ' TECHSADM COMMA10. '' PCTTECHS 9.1 '%' '  
SERVICE OCCUPATIONS ' SERVOCCS COMMA10. '' PCTSERV 9.1 '%' '  
FARM, FORESTRY, FISHING ' FARMETC COMMA10. '' PCTFARME 9.1 '%' '  
ALL OTHERS ' OTHEROCC COMMA10. '' PCTOTHOC 9.1 '%' '  
 
' 858 'XH1. GENERAL HOUSING UNITS
' ___ ___ ___ 32 32 32 WARNING 32-169: The quoted string currently being processed has become more than 262 characters long. You may have unbalanced quotation marks. 860 PUT '
TOTAL UNITS/ OCCUPIED UNITS ' TOTUNITS COMMA10. '' OCCUNITS COMMA10. '  
% UNITS: OWNER OCC/RENTED/VACANT ' PCTOWNER 5.1 '%' '' PCTRENTR 6.1 '%' '' PCTVACNT 6.1 '%' '
SINGLE-FAMILY UNITS ' UNITS1 COMMA10. '' PCTUNIT1 9.1 '%' '  
IN BUIDINGS WITH 5+ UNITS ' UNITS5UP COMMA10. '' PCTUNIT5 9.1 '%' '  
CONDOMINIUMS/MOBILE HOMES ' CONDOS COMMA10. '' MOBILHMS COMMA10. '  
 
' 888 'XH2. YEAR STRUCTURE BUILT
' ___ ___ ___ 32 32 32 WARNING 32-169: The quoted string currently being processed has become more than 262 characters long. You may have unbalanced quotation marks. 890 PUT '
MEDIAN YR BUILT/DECADE MOST BUILT' MEDYRBLT 8. '' BUILDDEC $9. '  
BUILT IN BUSIEST DECADE' NBUILTMD COMMA10. '' PCTBLTMD 9.1 '%' '  
BUILT 1985-MARCH 1990 ' BUILTA85 COMMA10. '' PCTBLT85 9.1 '%' '  
BUILT 1939 OR EARLIER ' BUILTP40 COMMA10. '' PCTBLT40 9.1 '%' '  
 
' 913 /' XH3.HOUSING VALUES AND RENTS
' ___ ___ ___ 32 32 32 WARNING 32-169: The quoted string currently being processed has become more than 262 characters long. You may have unbalanced quotation marks. 915 PUT '
SPEC. OWNER-OCC UNITS/AVG VALUE' SPOWNUNT COMMA10. '' AVGHVAL COMMA10. '  
UNITS PAYING CASH RENT/AVG RENT' UNTSCRNT COMMA10. '' AVGRENT DOLLAR10. '  
MEDIAN HOME VALUE/MEDIAN RENT ' MEDHVAL DOLLAR10. '' MEDRENT DOLLAR10. '  
'; 931 genfoot: 932 PUT '
' /'
' 933 / '

' 934 / ' ' 935 /' Report by the ' 936 /' Office of Social and Economic Data Analysis, U. of Missouri Outreach & Extension 936 !
' 937 / 938 'Under a contract with the Missouri Census Data Center 938 !
'; 939 PUT 'SOURCE: U.S. Bureau of the Census - 1990 Summary Tape File 3 ' / '

'; 940 938 'Under a contract with the Missouri Census Data Center __________________________________ __________________________________ __________________________________ 32 32 32 938 !
'; WARNING 32-169: The quoted string currently being processed has become more than 262 characters long. You may have unbalanced quotation marks. 941 PUT '

'; 942 PUT '
' / '

'; 943 944 PUT '
' / '' / ''; 945 stop; *************************ONLY ONE!!!!!!!!!!!!!!!!!***********; 946 %end; 947 948 949 950 951 952 %else %do; 953 *--alternate routine to display a text format report--; 954 *=== TEXT Version of Table -- code adapted from sascode(xtmostat); 955 %let ls=99; %let lmar=15; %let lmar2=25; 956 file &fileout header=hdr n=ps column=cpt ps=124 ls=&ls noprint ; 957 958 LENGTH DEFAULT=4; 959 RETAIN _LP1-_LP11 _LH1-_LH3; 960 RETAIN C_ -1; IF C_=-1 THEN C_=&LMAR + 33; 961 LENGTH _DLMLINE $82; RETAIN _DLMLINE ' '; 962 IF _DLMLINE=' ' THEN _DLMLINE=REPEAT(" ",80); 963 964 *** WRITE THE GEOGRAPHICAL IDENTIFIERS ***********; 965 CP1=C_; *--MOVING CP1 AND CP2 1 POS TO RIGHT 6-1-92-; 966 CP2=C_+28; 962 IF _DLMLINE=' ' THEN _DLMLINE=REPEAT(" ",80); ______ ______ ______ 32 32 32 WARNING 32-169: The quoted string currently being processed has become more than 262 characters long. You may have unbalanced quotation marks. 967 CP3=C_-4; 968 LENGTH _T1 - _T3 $30; 969 LENGTH _TEMPC $30; 970 *deftempc *<==jgb mod, 1-97--; 971 if county ne ' ' and slvl gt '050' then _tempc=put(county,$county.); else _tempc=' '; 972 973 _L=LENGTH(_TEMPC); IF _L GE 30 THEN _L=30; 974 _I=(30-_L)/2; IF _I LT 1 THEN _I=1; 975 SUBSTR(_T1,_I)=_TEMPC; *--CENTERING VALUE OF &COUNTY--; 976 GEOCODE=LEFT(GEOCODE); 977 _L=LENGTH(GEOCODE); IF _L GE 30 THEN _L=30; 978 _I=(30-_L)/2; IF _I=0 THEN _I=1; The SAS System 979 SUBSTR(_T2,_I)=GEOCODE; *--CENTERING VALUE OF &GEOCODE-; 980 AREANAME=LEFT(AREANAME); 981 _L=LENGTH(AREANAME); IF _L GE 30 THEN _L=30; 982 _I=(30-_L)/2; IF _I LT 1 THEN _I=1; 983 SUBSTR(_T3,_I)=AREANAME; *--CENTERING AREANAME; 984 put #4 @17 "&title2"; 985 ***replace old format with simpler linear header line--; 984 put #4 @17 "&title2"; __ __ __ 32 32 32 WARNING 32-169: The quoted string currently being processed has become more than 262 characters long. You may have unbalanced quotation marks. 986 * PUT #4 @CP3 '--------------------------------+' 987 / @CP1 _T1 $CHAR30. @CP2 '|' 988 / @CP1 _T2 $CHAR30. @CP2 '|' 989 / @CP1 _T3 $CHAR30. @CP2 '|' 990 / @CP3 '--------------------------------+' 991 ; 992 993 PUT #6 @12 'Summary level: ' slvl $slvl. / 994 @12 'Geocode: ' geocode +4 'Area Summarized: ' areaname; 995 996 ************ TABLE XP1 *************************; 997 ***PCTFEMAL=100*FEMALE/TOTPOP; 998 PUT # _LP1/ @C_ TOTPOP COMMA10. PCTSMPLD 9.1 '%' 999 / @C_ POPPSQMI 10.2 LANDSQMI 10.2 1000 / @C_ FEMALE COMMA10. PCTFEMAL 9.1 '%' 1001 / @C_ RURAL COMMA10. ONFARMS COMMA10. 1002 / @C_ INFAMILY COMMA10. ALONE COMMA10. 1003 / @C_ GROUPQTR COMMA10. PCTGQ 9.1 '%' 1004 ; 1005 1006 ************ TABLE XP2 ************************; 1007 PUT # _LP2/ @C_ WHITE COMMA10. PCTWHITE 9.1 '%' 1008 / @C_ BLACK COMMA10. PCTBLACK 9.1 '%' 1009 / @C_ ASIANPI COMMA10. PCTASIAN 9.1 '%' 1010 / @C_ AMINDIAN COMMA10. PCTAMIND 9.1 '%' 1011 / @C_ HISPANIC COMMA10. PCTHISP 9.1 '%' 1012 ; 1013 ************ TABLE XP3 ************************; 1014 PUT # _LP3/ @C_ AGE0_4 COMMA9. PCT0_4 5.1 PCT0_4 6.1 1015 / @C_ AGE5_9 COMMA9. PCT5_9 5.1 PCT0_9 6.1 1016 / @C_ AGE10_13 COMMA9. PCT10_13 5.1 PCT0_13 6.1 1017 / @C_ AGE14_17 COMMA9. PCT14_17 5.1 PCT0_17 6.1 1018 / @C_ AGE18_24 COMMA9. PCT18_24 5.1 PCT0_24 6.1 1019 / @C_ AGE25_34 COMMA9. PCT25_34 5.1 PCT0_34 6.1 1020 / @C_ AGE35_44 COMMA9. PCT35_44 5.1 PCT0_44 6.1 1021 / @C_ AGE45_54 COMMA9. PCT45_54 5.1 PCT0_54 6.1 1022 / @C_ AGE55_59 COMMA9. PCT55_59 5.1 PCT0_59 6.1 1023 / @C_ AGE60_64 COMMA9. PCT60_64 5.1 PCT0_64 6.1 1024 / @C_ AGE65_74 COMMA9. PCT65_74 5.1 PCT0_74 6.1 1025 / @C_ AGE75_84 COMMA9. PCT75_84 5.1 PCT0_84 6.1 1026 / @C_ AGE85_UP COMMA9. PCT85_UP 5.1 +1 '100.0' 1027 / @C_ AGE0_19 COMMA9. PCT0_19 5.1 1028 / @C_ AGE20_39 COMMA9. PCT20_39 5.1 1029 / @C_ AGE40_64 COMMA9. PCT40_64 5.1 1030 / @C_ AGE65_UP COMMA9. PCT65_UP 5.1 1031 / @C_ MEDAGE 9.1 1032 ; 1033 ************ TABLE XP4 ************************; 1034 PUT # _LP4/ @C_ TOTHHS COMMA10. AVGHHSZ 10.2 1035 / @C_ HHS1 COMMA10. HHS1OV65 COMMA10. 1036 / @C_ PCTHHS2 5.1 '%' PCTHHS3_ 6.1 '%' PCTHHS5_ 6.1 '%' 1037 ; 1038 1039 ************ TABLE XP5 ************************; 1040 PUT # _LP5/ @C_ FAMILIES COMMA10. PCTFAMHH 7.1 '%' 1041 / @C_ MCFAMS COMMA10. PCTMCFAM 9.1 '%' 1042 / @C_ MCWCHILD COMMA10. PCTMCWCH 9.1 '%' 1043 / @C_ FEMHEAD COMMA10. PCTFEMHE 9.1 '%' 1044 / @C_ FEMHEADC COMMA10. PCTFEMHC 9.1 '%' 1045 / @C_ NONFHHS COMMA10. PCTNFHHS 7.1 '%' 1046 ; 1047 1048 ************ TABLE XP6 ************************; 1049 PUT # _LP6/ @C_ HHI0_10 COMMA9. PHI0_10 5.1 PHI0_10 6.1 1050 / @C_ HHI10_15 COMMA9. PHI10_15 5.1 PHI0_15 6.1 1051 / @C_ HHI15_25 COMMA9. PHI15_25 5.1 PHI0_25 6.1 1052 / @C_ HHI25_35 COMMA9. PHI25_35 5.1 PHI0_35 6.1 1053 / @C_ HHI35_50 COMMA9. PHI35_50 5.1 PHI0_50 6.1 1054 / @C_ HHI50_75 COMMA9. PHI50_75 5.1 PHI0_75 6.1 1055 / @C_ HHI75_99 COMMA9. PHI75_99 5.1 PHI0_99 6.1 1056 / @C_ HHI100UP COMMA9. PHI100UP 5.1 1057 / @C_ MEDHHINC DOLLAR10. AVGHHINC DOLLAR10. 1058 ; 1059 1060 ************ TABLE XP7 ************************; 1061 PUT # _LP7// @C_ FAMWORK0 COMMA10. AVGFAMI0 DOLLAR10. 1062 / @C_ FAMWORK1 COMMA10. AVGFAMI1 DOLLAR10. 1063 / @C_ FAMWORK2 COMMA10. AVGFAMI2 DOLLAR10. 1064 / @C_ FAMWORK3 COMMA10. AVGFAMI3 DOLLAR10. 1065 ; 1066 1067 ************ TABLE XP8 ************************; 1068 PUT #_LP8/ @C_ MEDFAMIN DOLLAR10. AVGFAMIN DOLLAR10. 1069 / @C_ PCI DOLLAR10. PCIHHS DOLLAR10. 1070 / @C_ POOR COMMA10. PCTPOOR 9.1 '%' 1071 / @C_ VERYPOOR COMMA10. PCTVERYP 9.1 '%' 1072 ; 1073 1074 ************ TABLE XP9 ************************; 1075 ASSTBACH = COLLEGE2+COLLEGE3; 1076 PCTASSTB = PCTCOLL2+PCTCOLL3; 1077 PUT #_LP9/ @C_ AGE25_UP COMMA10. +6 '100%' 1078 / @C_ ELEMEDUC COMMA10. PCTELEM 9.1 '%' 1079 / @C_ HIGHSCH1 COMMA10. PCTHSCH1 9.1 '%' 1080 / @C_ HIGHSCH2 COMMA10. PCTHSCH2 9.1 '%' 1081 / @C_ COLLEGE1 COMMA10. PCTCOLL1 9.1 '%' 1082 / @C_ ASSTBACH COMMA10. PCTASSTB 9.1 '%' 1083 / @C_ COLLEGE4 COMMA10. PCTCOLL4 9.1 '%' 1084 ; 1085 ************ TABLE XP10 ************************; 1086 PUT #_LP10/ @C_ UNEMPLYD COMMA10. PCTUNEMP 9.1 '%' 1087 / @C_ UNEMPFEM COMMA10. PCTUNEMF 9.1 '%' 1088 ; 1089 ************ TABLE XP11 ************************; 1090 PUT #_LP11/ @C_ EMPOVR16 COMMA10. +6 '100%' 1091 / @C_ MGRPROF COMMA10. PCTMGPR 9.1 '%' The SAS System 1092 / @C_ TECHSADM COMMA10. PCTTECHS 9.1 '%' 1093 / @C_ SERVOCCS COMMA10. PCTSERV 9.1 '%' 1094 / @C_ FARMETC COMMA10. PCTFARME 9.1 '%' 1095 / @C_ OTHEROCC COMMA10. PCTOTHOC 9.1 '%' 1096 ; 1097 ************ TABLE XH1 ************************; 1098 PUT #_LH1/ @C_ TOTUNITS COMMA10. OCCUNITS COMMA10. 1099 / @C_ PCTOWNER 5.1 '%' PCTRENTR 6.1 '%' PCTVACNT 6.1 '%' 1100 / @C_ UNITS1 COMMA10. PCTUNIT1 9.1 '%' 1101 / @C_ UNITS5UP COMMA10. PCTUNIT5 9.1 '%' 1102 / @C_ CONDOS COMMA10. MOBILHMS COMMA10. 1103 ; 1104 ************ TABLE XH2 ************************; 1105 PUT #_LH2/ @C_ MEDYRBLT 8. +3 BUILDDEC $9. 1106 / @C_ NBUILTMD COMMA10. PCTBLTMD 9.1 '%' 1107 / @C_ BUILTA85 COMMA10. PCTBLT85 9.1 '%' 1108 / @C_ BUILTP40 COMMA10. PCTBLT40 9.1 '%' 1109 ; 1110 ************ TABLE XH3 ************************; 1111 PUT #_LH3/ @C_ SPOWNUNT COMMA10. AVGHVAL COMMA10. 1112 / @C_ UNTSCRNT COMMA10. AVGRENT DOLLAR10. 1113 / @C_ MEDHVAL DOLLAR10. MEDRENT DOLLAR10. 1114 ; 1115 1116 stop; 1117 1118 HDR: 1119 ***** DESCRIPTIVE (CONSTANT) TEXT: COLS 1-32 *****; 1120 * PUT #4 @ &LMAR '+-------------------------------+' 1121 / @ &LMAR '|' +1 "&COUNTY" @ &LMAR2 '--------------------> |' 1122 / @ &LMAR '| GEOCODE --------------------> |' 1123 / @ &LMAR '| AREANAME--------------------> |' 1121 / @ &LMAR '|' +1 "&COUNTY" @ &LMAR2 '--------------------> |' ____________________________________ ____________________________________ ____________________________________ 32 32 32 WARNING 32-169: The quoted string currently being processed has become more than 262 characters long. You may have unbalanced quotation marks. 1124 / @ &LMAR '+-------------------------------+' 1125 ; 1126 if _n_=1 and dummy then do; 1127 put 'Sorry!'//; 1128 put 'Unable to find the geographic code(s) specified. Please review ' 1129 'your parameter specifications and try again. '; 1130 stop; 1131 end; 1132 *----PRINT VARIABLE LABELS DOWN LEFT SIDE--; 1133 _LP1=9; 1134 PUT # _LP1 @ &LMAR 'XP1. GENERAL POPULATION ' 1135 / @&LMAR ' TOTAL PERSONS/PERCENT SAMPLED..' 1136 / @&LMAR ' PER SQUARE MILE / LAND AREA...' 1137 / @&LMAR ' FEMALES.......................' 1138 / @&LMAR ' LIVING IN RURAL AREAS/ON FARMS' 1139 / @&LMAR ' LIVING IN FAMILIES/ALONE......' 1140 / @&LMAR ' LIVING IN GROUP QUARTERS......' 1141 / @1 _DLMLINE $CHAR&LS.. 1142 ; 1143 _LP2=17; 1144 PUT # _LP2 @&LMAR 'XP2. PERSONS BY RACE/HISPANIC' 1145 / @&LMAR ' WHITE..........................' 1146 / @&LMAR ' BLACK..........................' 1147 / @&LMAR ' ASIAN & PACIFIC ISLANDER.......' 1148 / @&LMAR ' AMERICAN INDIAN, ESK., ALEUT...' 1149 / @&LMAR ' HISPANIC (ANY RACE)............' 1150 / @1 _DLMLINE $CHAR&LS.. 1151 ; 1152 _LP3=24; 1153 PUT # _LP3 @&LMAR 'XP3. PERSONS BY AGE ' 1154 / @&LMAR ' 0-4 / PCT / CUM PCT..........' 1155 / @&LMAR ' 5-9..........................' 1156 / @&LMAR ' 10-13........................' 1157 / @&LMAR ' 14-17........................' 1158 / @&LMAR ' 18-24........................' 1159 / @&LMAR ' 25-34........................' 1160 / @&LMAR ' 35-44........................' 1161 / @&LMAR ' 45-54........................' 1162 / @&LMAR ' 55-59........................' 1163 / @&LMAR ' 60-64........................' 1164 / @&LMAR ' 65-74........................' 1165 / @&LMAR ' 75-84........................' 1166 / @&LMAR ' 85 AND OVER..................' 1167 / @&LMAR ' UNDER 20.....................' 1168 / @&LMAR ' 20-39........................' 1169 / @&LMAR ' 40-64........................' 1170 / @&LMAR ' 65 AND OVER..................' 1171 / @&LMAR ' MEDIAN AGE...................' 1172 / @1 _DLMLINE $CHAR&LS.. 1173 ; 1174 _LP4=44; 1175 PUT # _LP4 @&LMAR 'XP4. HOUSEHOLDS BY SIZE ' 1176 / @&LMAR ' TOTAL HOUSEHOLDS/AVERAGE SIZE..' 1177 / @&LMAR ' 1 PERSON/1 PERSON OVER 65......' 1178 / @&LMAR ' PCT HHS: 2 PERSONS / 3-4 / 5+..' 1179 / @1 _DLMLINE $CHAR&LS.. 1180 ; 1181 _LP5=49; 1182 PUT # _LP5 @&LMAR 'XP5. HOUSEHOLDS BY TYPE ' 1183 / @&LMAR ' FAMILIES/PCT OF ALL HOUSEHOLDS.' 1184 / @&LMAR ' MARRIED COUPLES/PCT OF FAMLIES' 1185 / @&LMAR ' WITH OWN CHILDREN < 18.......' 1186 / @&LMAR ' FEMALE HOUSEHOLDER (NO HUSB)..' 1187 / @&LMAR ' WITH OWN CHILDREN............' 1188 / @&LMAR ' NON-FAMILY HOUSEHOLDS..........' 1189 / @1 _DLMLINE $CHAR&LS.. 1190 ; 1191 _LP6=57; 1192 PUT # _LP6 @&LMAR 'XP6. HOUSEHOLD INCOME 1989' 1193 / @&LMAR ' LESS THAN $10,000/PCT/CUM PCT..' 1194 / @&LMAR ' $10,000 - $14,999..............' 1195 / @&LMAR ' $15,000 - $24,999..............' 1196 / @&LMAR ' $25,000 - $34,999..............' 1197 / @&LMAR ' $35,000 - $49,999..............' 1198 / @&LMAR ' $50,000 - $74,999..............' 1199 / @&LMAR ' $75,000 - $99,999..............' 1200 / @&LMAR ' $100,000 AND OVER..............' 1201 / @&LMAR ' MEDIAN/AVERAGE.................' 1202 / @1 _DLMLINE $CHAR&LS.. 1203 ; 1204 _LP7=68; The SAS System 1205 PUT # _LP7 @&LMAR 'XP7. FAMILIES BY # WORKERS' 1206 / @&LMAR ' COUNT/ AVG FAMILY INCOME 1989 ' 1207 / @&LMAR ' 0 WORKERS......................' 1208 / @&LMAR ' 1 WORKER.......................' 1209 / @&LMAR ' 2 WORKERS......................' 1210 / @&LMAR ' 3+ WORKERS.....................' 1211 / @1 _DLMLINE $CHAR&LS.. 1212 ; 1213 _LP8=75; 1214 PUT # _LP8 @&LMAR 'XP8. OTHER INCOME MEASURES' 1215 / @&LMAR ' MEDIAN/AVG FAMILY INCOME.......' 1216 / @&LMAR ' PER CAPITA INCOME/NON-GRP QTRS.' 1217 / @&LMAR ' PERSONS BELOW POVERTY LEVEL....' 1218 / @&LMAR ' PERSONS BELOW 50% OF POVERTY...' 1219 / @1 _DLMLINE $CHAR&LS.. 1220 ; 1221 _LP9=81; 1222 PUT # _LP9 @&LMAR 'XP9. LEVEL OF EDUCATION' 1223 / @&LMAR ' TOTAL PERSONS AGE 25+..........' 1224 / @&LMAR ' LESS THAN 9TH GRADE...........' 1225 / @&LMAR ' 9TH TO 12TH GRADE, NO DIPLOMA.' 1226 / @&LMAR ' HIGH SCHOOL GRAD. (OR EQUIV)..' 1227 / @&LMAR ' SOME COLLEGE, NO DEGREE.......' 1228 / @&LMAR " ASSOCIATE/BACHELOR'S DEGREE..." 1229 / @&LMAR ' GRADUATE OR PROFSSIONAL DEGREE' 1230 / @1 _DLMLINE $CHAR&LS.. 1231 ; 1232 _LP10=90; 1233 PUT # _LP10 @&LMAR 'XP10. UNEMPLOYMNT: CIV LAB FORCE' 1234 / @&LMAR ' TOTAL CLF: UNEMPLOYED/RATE.....' 1235 / @&LMAR ' FEMALE: UNEMPLOYED/RATE........' 1236 / @1 _DLMLINE $CHAR&LS.. 1237 ; 1238 _LP11=94; 1239 PUT # _LP11 @&LMAR 'XP11. OCCUPATION' 1240 / @&LMAR ' TOTAL EMPLOYED PERSONS AGE 16+.' 1241 / @&LMAR ' MANAGER. & PROF. SPECIALTY OCCS' 1242 / @&LMAR ' TECH, SALES, ADMIN. SUPPORT....' 1243 / @&LMAR ' SERVICE OCCUPATIONS............' 1244 / @&LMAR ' FARM, FORESTRY, FISHING........' 1245 / @&LMAR ' ALL OTHERS.....................' 1246 / @1 _DLMLINE $CHAR&LS.. 1247 ; 1248 _LH1=102; 1249 PUT # _LH1 @&LMAR 'XH1. GENERAL HOUSING UNITS' 1250 / @&LMAR ' TOTAL UNITS / OCCUPIED UNITS...' 1251 / @&LMAR ' % UNITS:OWNER OCC/RENTED/VACANT' 1252 / @&LMAR ' SINGLE-FAMILY UNITS............' 1253 / @&LMAR ' IN BUILDINGS WITH 5+ UNITS.....' 1254 / @&LMAR ' CONDOMINIUMS/MOBILE HOMES......' 1255 / @1 _DLMLINE $CHAR&LS.. 1256 ; 1257 _LH2=109; 1258 PUT # _LH2 @&LMAR 'XH2. YEAR STRUCTURE BUILT' 1259 / @&LMAR ' MEDIAN YR BUILT/DECADE MOST BLT' 1260 / @&LMAR ' BUILT IN BUSIEST DECADE........' 1261 / @&LMAR ' BUILT 1985-MARCH 1990..........' 1262 / @&LMAR ' BUILT 1939 OR EARLIER..........' 1263 / @1 _DLMLINE $CHAR&LS.. 1264 ; 1265 _LH3=115; 1266 PUT # _LH3 @&LMAR 'XH3. HOUSING VALUES AND RENTS' 1267 / @&LMAR ' SPEC. OWNER-OCC UNITS/AVG VALUE' 1268 / @&LMAR ' UNITS PAYING CASH RENT/AVG RENT' 1269 / @&LMAR ' MEDIAN HOME VALUE/MEDIAN RENT..' 1270 ; 1271 put #121 @25 'Report Produced by the Urban Information Center' 1272 / @31 'University of Missouri St. Louis'; 1273 PUT #1 ; 1274 C_=&LMAR + 37; 1275 genfoot: 1276 PUT #123 @20 'SOURCE: U.S. Bureau of the Census - 1990 Summary Tape File 3 '; 1277 return; 1278 %end; 1279 1280 1281 1282 1283 %mend dorept; 1284 %dorept 1285 1286 options source; 1287 run; 1288 1289 %let pgm=xtabs3; options nosymbolgen; 1290 %include sascode(notify); ***************not for prod runs***; NOTE: The SAS System stopped processing this step because of errors. WARNING: The data set WORK.DUM may be incomplete. When this step was stopped there were 0 observations and 229 variables. WARNING: Data set WORK.DUM was not replaced because this step was stopped. NOTE: DATA statement used: real time 0.84 seconds cpu time 0.55 seconds WARNING: Missing %MEND statement. ERROR: Errors printed on page 5. ERROR: Errors printed on page 5. ERROR: Errors printed on page 5. NOTE: SAS Institute Inc., SAS Campus Drive, Cary, NC USA 27513-2414 NOTE: The SAS System used: real time 3.43 seconds cpu time 2.68 seconds