/* This is the only line you have to change to run */ /* this program. Specify the location where you */ /* want to store the HTML file. The ODS parameter */ /* DRILLDOWNMODE is set to SCRIPT in order for a */ /* mouse click to drive the HTTP path. The */ /* DRILLFUNC names the javascript that is called. */ /* NO_BOTTOM_MATTER allows the function code to be */ /* written to the html file. The parameter */ /* BACKCOLOR sets the background color, in this */ /* sample it is set to white. */ filename odsout "c:\temp\drillmap.htm"; ods html file=odsout parameters=("DRILLDOWNMODE"="Script") parameters=("DRILLFUNC"="MapDrill" ) parameters=("BACKCOLOR"="FFFFFF"); /* Close the listing destination */ ods listing close; /* Assign graphics options for ODS output */ goptions reset=all dev=java xpixels=300 ypixels=200 border ; /* Create data set CRIME */ data crime; title 'Crime Rates Per 100,000 Population by State'; input statenam $ 1-15 stcode $ crime $ rate; state=stfips(stcode); cards; Alabama AL murder 14.2 Alabama AL rape 25.2 Alabama AL robbery 96.8 Alabama AL assault 278.3 Alabama AL burglary 1135.5 Alabama AL larceny 1881.9 Alabama AL auto 280.7 Alaska AK murder 10.8 Alaska AK rape 51.6 Alaska AK robbery 96.8 Alaska AK assault 284 Alaska AK burglary 1331.7 Alaska AK larceny 3369.8 Alaska AK auto 753.3 Arizona AZ murder 9.5 Arizona AZ rape 34.2 Arizona AZ robbery 138.2 Arizona AZ assault 312.3 Arizona AZ burglary 2346.1 Arizona AZ larceny 4467.4 Arizona AZ auto 439.5 Arkansas AR murder 8.8 Arkansas AR rape 27.6 Arkansas AR robbery 83.2 Arkansas AR assault 203.4 Arkansas AR burglary 972.6 Arkansas AR larceny 1862.1 Arkansas AR auto 183.4 California CA murder 11.5 California CA rape 49.4 California CA robbery 287 California CA assault 358 California CA burglary 2139.4 California CA larceny 3499.8 California CA auto 663.5 Colorado CO murder 6.3 Colorado CO rape 42 Colorado CO robbery 170.7 Colorado CO assault 292.9 Colorado CO burglary 1935.2 Colorado CO larceny 3903.2 Colorado CO auto 477.1 Connecticut CT murder 4.2 Connecticut CT rape 16.8 Connecticut CT robbery 129.5 Connecticut CT assault 131.8 Connecticut CT burglary 1346 Connecticut CT larceny 2620.7 Connecticut CT auto 593.2 Delaware DE murder 6 Delaware DE rape 24.9 Delaware DE robbery 157 Delaware DE assault 194.2 Delaware DE burglary 1682.6 Delaware DE larceny 3678.4 Delaware DE auto 467 Florida FL murder 10.2 Florida FL rape 39.6 Florida FL robbery 187.9 Florida FL assault 449.1 Florida FL burglary 1859.9 Florida FL larceny 3840.5 Florida FL auto 351.4 Georgia GA murder 11.7 Georgia GA rape 31.1 Georgia GA robbery 140.5 Georgia GA assault 256.5 Georgia GA burglary 1351.1 Georgia GA larceny 2170.2 Georgia GA auto 297.9 Hawaii HI murder 7.2 Hawaii HI rape 25.5 Hawaii HI robbery 128 Hawaii HI assault 64.1 Hawaii HI burglary 1911.5 Hawaii HI larceny 3920.4 Hawaii HI auto 489.4 Idaho ID murder 5.5 Idaho ID rape 19.4 Idaho ID robbery 39.6 Idaho ID assault 172.5 Idaho ID burglary 1050.8 Idaho ID larceny 2599.6 Idaho ID auto 237.6 Illinois IL murder 9.9 Illinois IL rape 21.8 Illinois IL robbery 211.3 Illinois IL assault 209 Illinois IL burglary 1085 Illinois IL larceny 2828.5 Illinois IL auto 528.6 Indiana IN murder 7.4 Indiana IN rape 26.5 Indiana IN robbery 123.2 Indiana IN assault 153.5 Indiana IN burglary 1086.2 Indiana IN larceny 2498.7 Indiana IN auto 377.4 Iowa IA murder 2.3 Iowa IA rape 10.6 Iowa IA robbery 41.2 Iowa IA assault 89.8 Iowa IA burglary 812.5 Iowa IA larceny 2685.1 Iowa IA auto 219.9 Kansas KS murder 6.6 Kansas KS rape 22 Kansas KS robbery 100.7 Kansas KS assault 180.5 Kansas KS burglary 1270.4 Kansas KS larceny 2739.3 Kansas KS auto 244.3 Kentucky KY murder 10.1 Kentucky KY rape 19.1 Kentucky KY robbery 81.1 Kentucky KY assault 123.3 Kentucky KY burglary 872.2 Kentucky KY larceny 1662.1 Kentucky KY auto 245.4 Louisiana LA murder 15.5 Louisiana LA rape 30.9 Louisiana LA robbery 142.9 Louisiana LA assault 335.5 Louisiana LA burglary 1165.5 Louisiana LA larceny 2469.9 Louisiana LA auto 337.7 Maine ME murder 2.4 Maine ME rape 13.5 Maine ME robbery 38.7 Maine ME assault 170 Maine ME burglary 1253.1 Maine ME larceny 2350.7 Maine ME auto 246.9 Maryland MD murder 8 Maryland MD rape 34.8 Maryland MD robbery 292.1 Maryland MD assault 358.9 Maryland MD burglary 1400 Maryland MD larceny 3177.7 Maryland MD auto 428.5 Massachusetts MA murder 3.1 Massachusetts MA rape 20.8 Massachusetts MA robbery 169.1 Massachusetts MA assault 231.6 Massachusetts MA burglary 1532.2 Massachusetts MA larceny 2311.3 Massachusetts MA auto 1140.1 Michigan MI murder 9.3 Michigan MI rape 38.9 Michigan MI robbery 261.9 Michigan MI assault 274.6 Michigan MI burglary 1522.7 Michigan MI larceny 3159 Michigan MI auto 545.5 Minnesota MN murder 2.7 Minnesota MN rape 19.5 Minnesota MN robbery 85.9 Minnesota MN assault 85.8 Minnesota MN burglary 1134.7 Minnesota MN larceny 2559.3 Minnesota MN auto 343.1 Mississippi MS murder 14.3 Mississippi MS rape 19.6 Mississippi MS robbery 65.7 Mississippi MS assault 189.1 Mississippi MS burglary 915.6 Mississippi MS larceny 1239.9 Mississippi MS auto 144.4 Missouri MO murder 9.6 Missouri MO rape 28.3 Missouri MO robbery 189 Missouri MO assault 233.5 Missouri MO burglary 1318.3 Missouri MO larceny 2424.2 Missouri MO auto 378.4 Montana MT murder 5.4 Montana MT rape 16.7 Montana MT robbery 39.2 Montana MT assault 156.8 Montana MT burglary 804.9 Montana MT larceny 2773.2 Montana MT auto 309.2 Nebraska NE murder 3.9 Nebraska NE rape 18.1 Nebraska NE robbery 64.7 Nebraska NE assault 112.7 Nebraska NE burglary 760 Nebraska NE larceny 2316.1 Nebraska NE auto 249.1 Nevada NV murder 15.8 Nevada NV rape 49.1 Nevada NV robbery 323.1 Nevada NV assault 355 Nevada NV burglary 2453.1 Nevada NV larceny 4212.6 Nevada NV auto 559.2 New Hampshire NH murder 3.2 New Hampshire NH rape 10.7 New Hampshire NH robbery 23.2 New Hampshire NH assault 76 New Hampshire NH burglary 1041.7 New Hampshire NH larceny 2343.9 New Hampshire NH auto 293.4 New Jersey NJ murder 5.6 New Jersey NJ rape 21 New Jersey NJ robbery 180.4 New Jersey NJ assault 185.1 New Jersey NJ burglary 1435.8 New Jersey NJ larceny 2774.5 New Jersey NJ auto 511.5 New Mexico NM murder 8.8 New Mexico NM rape 39.1 New Mexico NM robbery 109.6 New Mexico NM assault 343.4 New Mexico NM burglary 1418.7 New Mexico NM larceny 3008.6 New Mexico NM auto 259.5 New York NY murder 10.7 New York NY rape 29.4 New York NY robbery 472.6 New York NY assault 319.1 New York NY burglary 1728 New York NY larceny 2782 New York NY auto 745.8 North Carolina NC murder 10.6 North Carolina NC rape 17 North Carolina NC robbery 61.3 North Carolina NC assault 318.3 North Carolina NC burglary 1154.1 North Carolina NC larceny 2037.8 North Carolina NC auto 192.1 North Dakota ND murder 0.9 North Dakota ND rape 9 North Dakota ND robbery 13.3 North Dakota ND assault 43.8 North Dakota ND burglary 446.1 North Dakota ND larceny 1843 North Dakota ND auto 144.7 Ohio OH murder 7.8 Ohio OH rape 27.3 Ohio OH robbery 190.5 Ohio OH assault 181.1 Ohio OH burglary 1216 Ohio OH larceny 2696.8 Ohio OH auto 400.4 Oklahoma OK murder 8.6 Oklahoma OK rape 29.2 Oklahoma OK robbery 73.8 Oklahoma OK assault 205 Oklahoma OK burglary 1288.2 Oklahoma OK larceny 2228.1 Oklahoma OK auto 326.8 Oregon OR murder 4.9 Oregon OR rape 39.9 Oregon OR robbery 124.1 Oregon OR assault 286.9 Oregon OR burglary 1636.4 Oregon OR larceny 3506.1 Oregon OR auto 388.9 Pennsylvania PA murder 5.6 Pennsylvania PA rape 19 Pennsylvania PA robbery 130.3 Pennsylvania PA assault 128 Pennsylvania PA burglary 877.5 Pennsylvania PA larceny 1624.1 Pennsylvania PA auto 333.2 Rhode Island RI murder 3.6 Rhode Island RI rape 10.5 Rhode Island RI robbery 86.5 Rhode Island RI assault 201 Rhode Island RI burglary 1489.5 Rhode Island RI larceny 2844.1 Rhode Island RI auto 791.4 South Carolina SC murder 11.9 South Carolina SC rape 33 South Carolina SC robbery 105.9 South Carolina SC assault 485.3 South Carolina SC burglary 1613.6 South Carolina SC larceny 2342.4 South Carolina SC auto 245.1 South Dakota SD murder 2 South Dakota SD rape 13.5 South Dakota SD robbery 17.9 South Dakota SD assault 155.7 South Dakota SD burglary 570.5 South Dakota SD larceny 1704.4 South Dakota SD auto 147.5 Tennessee TN murder 10.1 Tennessee TN rape 29.7 Tennessee TN robbery 145.8 Tennessee TN assault 203.9 Tennessee TN burglary 1259.7 Tennessee TN larceny 1776.5 Tennessee TN auto 314 Texas TX murder 13.3 Texas TX rape 33.8 Texas TX robbery 152.4 Texas TX assault 208.2 Texas TX burglary 1603.1 Texas TX larceny 2988.7 Texas TX auto 397.6 Utah UT murder 3.5 Utah UT rape 20.3 Utah UT robbery 68.8 Utah UT assault 147.3 Utah UT burglary 1171.6 Utah UT larceny 3004.6 Utah UT auto 334.5 Vermont VT murder 1.4 Vermont VT rape 15.9 Vermont VT robbery 30.8 Vermont VT assault 101.2 Vermont VT burglary 1348.2 Vermont VT larceny 2201 Vermont VT auto 265.2 Virginia VA murder 9 Virginia VA rape 23.3 Virginia VA robbery 92.1 Virginia VA assault 165.7 Virginia VA burglary 986.2 Virginia VA larceny 2521.2 Virginia VA auto 226.7 Washington WA murder 4.3 Washington WA rape 39.6 Washington WA robbery 106.2 Washington WA assault 224.8 Washington WA burglary 1605.6 Washington WA larceny 3386.9 Washington WA auto 360.3 West Virginia WV murder 6 West Virginia WV rape 13.2 West Virginia WV robbery 42.2 West Virginia WV assault 90.9 West Virginia WV burglary 597.4 West Virginia WV larceny 1341.7 West Virginia WV auto 163.3 Wisconsin WI murder 2.8 Wisconsin WI rape 12.9 Wisconsin WI robbery 52.2 Wisconsin WI assault 63.7 Wisconsin WI burglary 846.9 Wisconsin WI larceny 2614.2 Wisconsin WI auto 220.7 Wyoming WY murder 5.4 Wyoming WY rape 21.9 Wyoming WY robbery 39.7 Wyoming WY assault 173.9 Wyoming WY burglary 811.6 Wyoming WY larceny 2772.2 Wyoming WY auto 282 ; /* Sort the data set CRIME by STATE */ proc sort data=crime; by state ; run ; /* Summarize the total crime for each state */ proc summary; by state; id statenam; var rate; output out=mapdata sum=rate; run; title1 "Crime Rate Per 100,000 Population"; /* Produce a map of the United States */ proc gmap map=maps.us data=mapdata; id state; choro rate / coutline=black; run; quit; /* Turn of default drilldown capabilities */ /* and create a vertical bar chart */ ods html parameters=( "IGNORESUBGROUP"="Y" "DisableDrillDown"="TRUE") ; proc gchart data=crime; vbar crime / sumvar=rate type=mean subgroup=state; run ; quit ; /* Close the HTML destination */ ods html close ; /* Below is the JavaScript that handles the drill down and ties */ /* the map to the chart. The JavaScript is written to the */ /* same html file, with the datastep below. */ data _null_ ; /* The MOD option updates the file without overwriting it */ file odsout mod ; /* Add a RESET button */ put ' ' ; put '
'; put ' ' ; /* This function is used to get the right state name for the title */ put '' ; put ' ' ; /* This function handles the map drill down and updates the chart */ put ''; put ' ' ; /* This function resets the subsets on the chart */ put '' ; put '