Procedure features: |
|
ODS features: |
|
Other features: |
GOPTIONS statement option:
|
BY statement |
GOPTIONS
statement |
|
Sample library member: |
GPLDRIL1
|
This example shows how to create a plot with simple
drill-down functionality for the Web. If you display the plot in a Web browser,
you can select any plot point or legend symbol to display a report on monthly
temperatures for the selected city.
The example explains how to use an ODS statement such
as ODS HTML to generate a graph with drill-down links. It shows how to do
the following actions:
-
explicitly name the HTML files and direct the
different types of output to different files
-
use BY-group processing with ODS, and determine
the anchor names for the different pieces of output
-
use the PATH= option to specify the destination
for the HTML and GIF files created by the ODS statement
-
add an HTML HREF string to a data set to define
a link target
-
assign link targets with the HTML= and HTML_LEGEND=
procedure options
-
suppress the titles in the GIF files and display
them in the HTML file
For more information on drill-down graphs, see
Adding Links with the HTML= and HTML_LEGEND= Options.
This program modifies the code from sample GPLVRBL2,
which shows how to generate separate plots for the formatted values of a classification
variable. In this example, the code implements drill-down capability for the
plot, enabling you to select any plot point or legend symbol to drill down
to a report on the yearly temperatures for the corresponding city. The following
figure shows the drill-down plot as it is viewed in a
browser.
The following figure shows the report
that appears when
you select any plot point or legend symbol that corresponds to the data for
Raleigh.
|
ods listing close; |
|
filename odsout "c:\"; |
|
goptions reset=all border device=gif; |
|
ods html path=odsout gpath=odsout
body="city_plots.html"
nogtitle; |
|
data citytemp;
input Month Fahrenheit City $ @@;
datalines;
1 40.5 Raleigh 1 12.2 Minn
1 52.1 Phoenix 2 42.2 Raleigh
2 16.5 Minn 2 55.1 Phoenix
3 49.2 Raleigh 3 28.3 Minn
3 59.7 Phoenix 4 59.5 Raleigh
4 45.1 Minn 4 67.7 Phoenix
5 67.4 Raleigh 5 57.1 Minn
5 76.3 Phoenix 6 74.4 Raleigh
6 66.9 Minn 6 84.6 Phoenix
7 77.5 Raleigh 7 71.9 Minn
7 91.2 Phoenix 8 76.5 Raleigh
8 70.2 Minn 8 89.1 Phoenix
9 70.6 Raleigh 9 60.0 Minn
9 83.8 Phoenix 10 60.2 Raleigh
10 50.0 Minn 10 72.2 Phoenix
11 50.0 Raleigh 11 32.4 Minn
11 59.8 Phoenix 12 41.2 Raleigh
12 18.6 Minn 12 52.5 Phoenix
; |
|
data newtemp;
set citytemp;
length citydrill $ 40;
if city="Minn" then
citydrill="HREF='citciy_reports.html#IDX1'";
else if city="Phoenix" then
citydrill="HREF='city_reports.html#IDX2'";
else if city="Raleigh" then
citydrill="HREF='city_reports.html#IDX3'"; |
|
title1 "Average Monthly Temperature";
footnote1 j=l " Click a data point or legend symbol"
j=r "GPLDRIL1 ";
symbol1 interpol=join
value=dot; |
|
proc gplot data=newtemp;
plot fahrenheit*month=city / hminor=0
html=citydrill
html_legend=citydrill;
run;
quit; |
|
ods html close;
ods html path=odsout
body="city_reports.html"; |
|
proc sort data=newtemp;
by city month;
run;
quit; |
|
goptions reset=footnote;
option nobyline; |
|
title1 "Monthly Temperatures in #byval(city)";
proc report data=newtemp nowindows;
by city;
column city month fahrenheit;
define city / noprint group;
define month / display group;
define Fahrenheit / display group;
run; |
|
ods html close;
ods listing; |
Copyright © 2010 by SAS Institute Inc., Cary, NC, USA. All rights reserved.