*********************************************************** * Project on 'PROC TABULATE' by Jia Li * * Tong Wang * ***********************************************************; TITLE; OPTIONS NODATE NONUMBER MPRINT SYMBOLGEN; DATA SAMPLE; INPUT YEAR AGE GENDER OCCUP INCOME; CARDS; 1996 48 2 0 11461 1988 65 2 1 39337 1988 25 2 5 27300 1996 36 1 3 40008 1985 33 2 1 21006 1993 90 2 0 10569 1996 57 2 5 25202 1996 54 1 11 40033 1996 52 2 11 34 1988 26 1 11 10033 1996 70 1 0 9096 1988 69 2 0 21181 1996 27 1 8 18594 1985 42 2 5 32050 1988 47 1 2 28364 1988 46 2 4 7500 1985 40 2 2 10150 1985 41 1 2 58150 1988 40 1 11 100899 1988 38 2 0 900 1996 71 1 0 14656 1996 69 2 0 7262 1985 58 1 1 70084 1985 54 2 2 21000 1992 42 2 2 80100 1988 49 1 5 22000 1985 47 2 5 12000 1988 84 2 0 6662 1996 81 1 0 18353 1996 76 2 0 9291 1996 81 1 0 4326 1996 78 2 0 9495 1990 49 2 1 37000 1996 26 2 8 11424 1996 82 1 0 19001 1988 46 1 4 31870 1985 44 2 0 320 1986 39 2 3 18016 1996 39 1 1 67616 1985 90 1 0 7466 1985 84 2 0 0 1988 33 1 1 35450 1988 31 2 1 45500 1995 49 1 13 35900 1986 46 2 9 26628 1985 29 1 3 35100 1986 34 2 5 30105 1986 28 1 3 24963 1986 28 2 5 28426 1990 48 1 4 50105 1990 49 2 2 43676 1986 41 1 9 40300 1985 36 2 2 22300 1996 51 1 0 120759 1985 46 2 1 39509 1985 40 2 8 1415 1985 32 1 5 15794 1996 46 1 11 27999 1996 40 2 5 20845 1988 29 1 5 43700 1988 27 1 1 36270 1996 27 1 1 24000 1992 77 1 0 4200 1988 71 2 0 4021 1996 42 1 0 8465 1985 72 1 0 15873 1996 72 2 0 4449 1988 41 2 3 30024 1986 45 1 2 35041 1996 52 1 4 8001 1993 42 2 0 1 1990 40 2 2 13600 1990 40 1 1 101999 1992 30 2 2 51100 1988 30 1 2 24900 1990 63 1 1 72581 1985 56 2 8 14421 1985 68 1 0 73361 1996 63 2 4 10963 1986 70 2 8 16206 1996 47 1 11 31000 1990 48 1 1 81361 1988 48 2 2 26211 1996 76 1 0 14144 1996 74 2 0 6251 1996 35 1 10 28500 1996 34 2 4 15000 1996 63 2 0 5024 1996 63 1 8 22361 1988 35 1 2 38470 1988 31 2 2 31678 1985 64 2 5 16958 1985 43 1 4 49400 1995 86 1 0 17081 1988 29 2 2 30650 1985 30 1 9 57628 1996 76 1 0 13654 1992 81 2 0 5206 1986 72 2 0 9858 1996 72 1 0 9443 1988 31 1 2 26004 1988 28 2 2 8004 1995 42 2 10 8003 1996 29 2 1 16555 1985 31 1 10 35055 1985 73 2 0 25990 1996 32 2 0 3600 1985 49 2 1 20013 1985 32 1 1 30000 1996 34 1 4 8044 1985 30 1 4 13430 1988 63 1 0 10880 1985 25 1 5 27000 1988 27 1 1 10000 1986 36 1 8 21565 1996 56 1 9 38433 1990 50 2 2 56589 1992 45 2 2 30150 1992 82 1 0 28871 1990 78 2 0 25034 1996 46 1 9 18050 1985 37 2 1 15950 1988 38 1 13 16911 1996 70 1 0 23493 1996 28 1 4 49000 1992 60 1 12 900 1996 61 2 5 24800 1996 28 1 8 13720 1986 45 1 5 23500 1985 41 1 12 29937 1988 39 2 2 22537 1985 47 2 3 21200 1996 38 1 5 26020 1986 36 2 1 35965 1996 46 1 1 21000 1985 45 2 1 86000 1996 51 1 0 11158 1996 54 2 0 2523 1988 45 1 2 49098 1996 46 2 1 22898 1996 55 2 0 4344 1985 53 1 5 33991 1996 52 2 8 15531 1996 29 1 1 25407 1996 54 1 0 58700 1996 52 2 1 23200 1996 32 1 9 56015 1996 29 2 0 15 1985 30 1 4 21349 1986 34 2 4 5529 1996 30 1 11 41003 1986 27 2 8 3803 1996 41 1 1 30629 1996 40 2 5 17568 1985 44 1 11 38627 1986 35 2 0 4516 1985 35 1 11 51025 1996 35 2 0 25 1996 44 1 5 40000 1996 38 2 0 0 1986 34 1 1 85576 1986 43 1 9 23500 1996 60 1 9 31154 1996 60 2 4 5112 1996 83 2 0 14303 1992 79 2 0 9650 1988 30 2 2 41380 1985 43 1 2 28061 1996 43 1 11 24014 1985 42 2 5 10014 1996 50 1 0 1201 1996 56 1 4 6200 1986 36 2 8 10889 1985 41 2 9 23388 1985 43 1 7 32258 1985 40 2 5 17258 1985 30 2 1 35200 1988 47 2 1 31652 1996 79 2 0 10257 1986 27 2 1 17200 1988 29 1 2 23050 1985 51 1 3 51350 1986 47 2 5 23690 1990 44 1 2 47229 1990 47 2 2 26499 1996 56 1 1 72925 1996 46 2 5 32925 1986 29 1 8 39026 1996 72 1 0 8896 1986 67 2 0 4621 1996 33 1 13 45025 1996 33 2 4 2580 1994 39 1 0 17920 1985 35 2 0 4242 1996 36 1 9 8359 1996 28 2 10 5559 1996 39 1 8 12316 1996 36 2 10 14000 1988 31 2 4 0 1990 45 1 1 55050 1990 43 2 1 20050 1988 66 1 2 34550 1996 61 2 4 4050 1996 70 2 5 20622 1985 47 2 4 13162 1990 51 1 1 80121 1990 42 2 1 53581 1996 55 2 8 21200 1986 72 1 0 24054 1996 68 2 0 11481 1996 34 1 10 6167 1996 72 1 0 8509 1986 72 2 0 4199 1996 49 1 0 7693 1988 71 1 1 41393 1990 60 2 0 28373 1996 40 1 11 34010 1988 38 2 0 10 1985 55 2 5 24100 1996 51 1 1 14050 1996 50 2 10 11450 1996 53 1 13 31988 1988 53 2 5 4988 1988 50 1 2 59650 1996 50 2 8 6350 1985 25 1 9 27790 1996 65 1 0 55516 1988 58 2 4 39257 1996 32 2 0 1587 1996 57 1 12 27599 1993 56 2 8 6122 1996 33 1 9 28000 1994 30 2 0 5512 1985 54 1 0 29887 1996 55 2 0 547 1996 32 1 10 11001 1996 31 2 10 10209 1988 26 1 2 24010 1988 38 1 3 42000 1996 37 2 0 0 1988 53 1 1 4130 1990 48 2 5 15376 1988 27 2 2 35575 1988 34 1 9 30300 1988 25 1 5 21025 1985 25 2 3 21200 1985 40 1 9 17970 1990 54 1 1 48000 1988 53 2 0 102420 1988 43 1 1 65808 1988 43 2 0 5000 1996 69 2 5 8121 1996 77 1 0 8893 1996 78 2 0 3600 1992 70 1 0 26101 1986 65 2 0 14027 1988 82 1 1 40468 1988 79 2 0 27862 1992 54 1 4 8400 1992 46 2 2 100302 1994 25 1 0 17238 1996 44 1 11 16111 1986 34 1 9 50050 1996 28 2 8 10255 1996 35 1 11 29025 1996 32 2 8 1025 1992 74 2 0 12412 1996 36 1 11 41354 1993 38 2 0 19 1992 60 1 10 42796 1995 48 2 8 13596 1996 35 1 13 45302 1996 33 2 8 4300 1992 51 1 0 7693 1996 66 1 8 16639 1996 65 2 0 5208 1986 46 1 2 33300 1985 38 1 0 18330 1985 46 2 3 22330 1996 68 2 0 22979 1990 66 2 0 9557 1992 67 1 0 13635 1996 57 1 0 12000 1996 50 2 8 21000 1996 27 2 10 26300 1985 34 1 0 27300 1996 61 1 0 20279 1985 60 2 0 823 1988 43 1 0 3600 1996 37 2 8 9275 1996 70 2 0 15525 1993 70 2 0 10015 1996 42 2 4 10 1996 78 1 0 18614 1986 77 2 0 5785 1996 38 2 5 12100 1996 35 2 5 32475 1992 40 1 9 12340 1985 25 2 13 1 1996 33 2 8 2255 1985 62 1 4 46400 1996 59 2 0 0 1994 70 1 0 6493 1996 70 2 0 2893 1996 75 2 0 7793 1988 32 2 2 35360 1988 78 2 0 10350 1996 73 2 0 11804 1985 52 2 2 23500 1996 58 1 12 24000 1985 46 2 0 3000 1996 36 1 9 30200 1988 47 1 0 1 1996 33 2 5 35003 1996 45 1 9 14680 1988 46 2 8 9000 1985 84 2 0 11113 1994 84 2 0 6493 1996 46 1 10 48000 1996 41 2 4 5000 1992 45 1 0 8437 1996 51 2 0 1000 1994 44 2 0 5316 1996 66 2 0 6193 1996 72 2 0 9399 1996 35 1 12 17000 1985 30 2 0 2000 1988 31 1 12 14970 1986 30 2 3 25050 1994 46 1 9 16000 1996 44 2 5 300 1996 58 1 9 7200 1996 58 2 1 41000 1996 33 1 12 5424 1996 48 2 8 8400 1996 52 1 12 16205 1996 52 2 5 17190 1996 36 2 12 9360 1996 71 1 0 7105 1988 38 2 2 37040 1986 61 2 0 3693 1985 58 1 3 30200 1985 57 2 5 21421 1988 40 1 2 53650 1990 38 2 2 35650 1996 58 2 1 18000 1996 64 1 9 28933 1992 48 2 8 11000 1990 68 2 0 12453 1996 52 2 8 19136 1990 45 2 2 39900 1986 40 2 4 30005 1986 34 1 9 43500 1990 36 1 1 78430 1988 34 2 0 3430 1996 49 1 8 21042 1996 46 2 8 4042 1988 42 1 4 99999 1985 31 2 1 29913 1986 72 2 0 5227 1996 42 1 9 0 1996 45 2 8 15384 1996 79 2 0 10180 1992 80 1 0 6191 1994 74 2 0 3527 1992 76 1 0 9816 1996 64 2 0 9775 1996 35 1 13 26008 1996 41 2 10 9064 1996 28 1 9 12000 1996 27 2 4 1200 1996 73 1 0 6287 1996 81 2 0 6779 1994 47 1 11 7630 1988 40 2 1 47808 1996 42 1 4 35808 1985 28 2 8 5000 1996 29 1 9 18105 1990 52 1 1 25200 1988 46 2 2 30201 1988 81 1 0 5247 1996 77 2 0 2120 1986 78 1 0 5055 1994 77 1 0 16813 1994 67 2 0 1957 1988 31 1 9 56060 1988 28 2 1 28085 1994 61 1 0 9181 1996 59 2 5 19000 1986 47 1 4 39425 1988 43 2 2 38425 1996 28 1 10 16213 1992 28 2 10 1360 1985 37 2 1 42289 1986 40 1 1 40025 1992 86 1 0 21429 1988 85 1 0 20476 1985 81 2 0 6556 1996 43 1 2 19182 1996 41 2 10 7182 1986 38 1 4 34633 1986 35 2 2 4023 1996 41 2 5 30981 1985 28 1 8 15843 1996 59 2 0 400 1990 73 2 0 8043 1990 75 2 0 25251 1992 84 1 0 11066 1990 84 2 0 23753 1992 88 1 0 7704 1992 85 2 0 5400 1992 71 2 0 8017 1985 37 1 12 35023 1986 34 2 5 19023 1996 30 1 9 30000 1996 29 2 3 13180 1986 45 1 2 37714 1985 39 2 4 0 1986 26 1 10 4618 1996 41 1 10 23017 1996 38 2 10 13290 1996 34 1 9 24000 1996 33 2 2 9377 1996 63 2 0 11000 1992 73 1 0 15089 1992 66 2 0 6533 1996 44 1 9 49881 1996 44 2 0 55 1988 49 1 4 74847 1985 30 2 0 3600 1990 37 2 4 60160 1986 67 2 8 19502 1986 31 1 1 6312 1988 31 1 13 33550 1986 27 2 0 26452 1988 31 1 3 30399 1985 25 2 5 16100 1996 66 2 0 10696 1996 35 2 5 16366 1993 73 2 0 8870 1993 48 1 0 13934 1996 41 1 1 60125 1988 39 2 1 24125 1996 30 1 9 15200 1988 27 2 2 21500 1985 56 1 0 10141 1985 60 2 4 17363 1996 56 2 0 22776 1996 59 1 4 0 1996 58 2 4 0 1988 90 1 0 48740 1996 90 2 0 14292 1986 26 2 4 10913 1996 58 2 0 14821 1985 44 2 5 32025 1985 47 1 1 0 1988 25 2 2 17625 1996 64 1 0 16300 1996 60 2 0 2040 1985 68 1 0 21643 1986 62 2 5 19054 1996 38 2 0 1023 1996 48 1 9 5714 1985 45 2 0 710 1988 45 1 1 48636 1992 64 1 1 124675 1990 62 2 0 676 1996 51 1 9 36000 1996 49 2 0 0 1996 79 2 0 56489 1993 73 1 0 7563 1992 67 2 0 6349 1996 51 2 8 399 1988 32 2 4 13000 1996 54 1 0 6349 1986 30 2 8 9070 1985 89 2 0 13293 1988 48 1 4 42040 1985 47 2 5 18993 1996 31 1 12 51680 1990 76 2 0 7936 1996 42 2 0 1300 1993 38 2 0 13259 1996 30 2 0 6829 1990 52 1 0 66918 1988 53 2 2 9331 1996 29 1 13 30000 1994 28 2 0 1740 1994 42 1 13 2000 1990 45 2 2 31900 1990 37 1 4 34500 1988 68 2 0 15479 1996 46 2 4 1 1988 51 1 1 90000 1985 63 1 12 27096 1985 58 2 4 32440 1986 56 1 0 0 1988 54 2 2 12000 1985 49 1 2 15000 1988 38 2 5 28000 1985 47 1 9 52140 ; PROC FORMAT; VALUE YEARFT 1980-1989="1980's" 1990-1999="1990's" ; VALUE AGEFT LOW-<40='20-39' 40-<60='40-59' 60-HIGH='60+' ; VALUE GENDFT 1='Male' 2='Female' ; VALUE OCCFT 0='Retired' 1-3='Technical' 4-8='Services' 9-12='Manufacturing' 13-14='Farming' ; DATA TEMP; SET SAMPLE; FORMAT YEAR YEARFT. AGE AGEFT. GENDER GENDFT. OCCUP OCCFT. ; ******************************************************* * 1. repeating a table for a series of class variable * *******************************************************; %MACRO MYTABLE(ROW , ROWFT); PROC TABULATE DATA=TEMP ORDER=FORMATTED; CLASS &ROW YEAR; VAR INCOME; TABLE &ROW=' '*F=&ROWFT, YEAR='DECADE'*F=YEARFT.*INCOME=' '*MEAN=' '*F=DOLLAR15. / RTS=20 BOX=' AVERAGE INCOME' ; TITLE "Comparison of average income among different &ROW groups"; RUN; %MEND MYTABLE; %MYTABLE(AGE , AGEFT.); %MYTABLE(GENDER, GENDFT.); %MYTABLE(OCCUP , OCCFT.); *************************************************** * 2. repeating a table for a series of statistics * ***************************************************; %MACRO MYTABLE(STAT , FMT , LABEL); PROC TABULATE DATA=TEMP ORDER=FORMATTED ; CLASS OCCUP GENDER; VAR INCOME; TABLE OCCUP=' '*F=OCCFT., GENDER*F=GENDFT.*INCOME=' '*(&STAT)*F=&FMT / RTS=20 BOX=" &LABEL" ; TITLE 'Report of income survey'; RUN; %MEND MYTABLE; %MYTABLE(N , 15. , NUMBER); %MYTABLE(MEAN , DOLLAR15. , AVERAGE INCOME); %MYTABLE(MIN MAX , DOLLAR10. , MINIMUN AND MAXIMUN INCOME); ********************************************************************** * 3. repeating a table for different intervals of a certain variable * **********************************************************************; %MACRO MYTABLE(SELECT , LABEL1 , LABEL2); PROC TABULATE DATA=TEMP ORDER=FORMATTED; WHERE &SELECT; CLASS AGE GENDER; VAR INCOME; TABLE AGE=' '*F=AGEFT. , GENDER*F=GENDFT.*INCOME=' '*MEAN=' '*F=DOLLAR15. / RTS=20 BOX=' AGE' ; TITLE "Average income of people from &LABEL1 to &LABEL2"; RUN; %MEND MYTABLE; %MYTABLE(1980<=YEAR<=1989 , 1980 , 1989); %MYTABLE(1990<=YEAR<=1999 , 1990 , 1999); ************************************************************ * 4. Repeating several tables for a series of time periods * ************************************************************; %MACRO MYTABLE(VAR1, VAR2); %DO Y=1993 %TO 1996; %DO V=1 %TO 2; PROC TABULATE DATA=TEMP; WHERE YEAR=&Y; CLASS &&VAR&V GENDER; VAR INCOME; TABLE &&VAR&V=' ', GENDER*INCOME=' '*MEAN=' '*F=DOLLAR15. / RTS=20 BOX="&&VAR&V" MISSTEXT='$0'; TITLE "Average Income by &&VAR&V and GENDER for &Y"; RUN; %END; %END; %MEND MYTABLE; %MYTABLE(AGE, OCCUP);