%let gpath='C:\'; proc sort data=sashelp.cars out=cars; by type; run; /*--Add URL link column to data--*/ data cars; keep type mpg_city mpg_min mpg_max url; length URL $25; retain min max; set cars; by type; if type eq 'Sedan' then URL='http://www.sas.com'; else URL='https://support.sas.com'; if first.type then do; min=1e10; max=-1e10; end; min=min(min, mpg_city); max=max(max, mpg_city); if last.type then do; mpg_min=min; mpg_max=max; end; run; /*--Define GTL Template for Drill Down action only--*/ proc template; define statgraph BoxURL_1; begingraph; layout overlay / yaxisopts=(label='Mileage'); boxplot x=type y=mpg_city / tip=(none); highlowplot x=type low=mpg_min high=mpg_max / type=bar display=(fill) url=url datatransparency=0.9 rolename=(url=url) tip=(url); endlayout; endgraph; end; run; /*--Render graph to HTML file with drill down only--*/ ods listing close; ods html file='BoxURL_1.htm' path=&gpath gpath=&gpath; ods graphics / reset imagemap=on width=5in height=3in imagename='BoxURL_1'; proc sgrender data=cars template=BoxURL_1; run; ods html close; /*--Define GTL Template to show tips and drill down--*/ proc template; define statgraph BoxURL_2; begingraph; layout overlay / yaxisopts=(label='Mileage'); highlowplot x=type low=mpg_min high=mpg_max / type=bar display=(fill) url=url datatransparency=0.9 rolename=(url=url) tip=(url); boxplot x=type y=mpg_city; endlayout; endgraph; end; run; /*--Render graph to HTML file to show tips and drill down--*/ ods listing close; ods html file='BoxURL_2.htm' path=&gpath gpath=&gpath; ods graphics / reset imagemap=on width=5in height=3in imagename='BoxURL_2'; proc sgrender data=cars template=BoxURL_2; run; ods html close;