Previous Page | Next Page

The GPLOT Procedure

Example 10: Creating Plots with Drill-down Functionality for the Web


Procedure features:

PLOT statement options:

HTML=

HTML_LEGEND=

ODS features:

ODS HTML statement:

BODY=

NOGTITLE

PATH=

Other features:

GOPTIONS statement option:

BORDER

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:

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.

[Drill-Down Plot]

The following figure shows the report that appears when you select any plot point or legend symbol that corresponds to the data for Raleigh.

[Drill-Down Report]

 Note about code
ods listing close;
 Note about code
filename odsout  "c:\";
 Note about code
goptions reset=all border device=gif;
 Note about code
ods html path=odsout gpath=odsout
         body="city_plots.html"
         nogtitle;
 Note about code
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
;
 Note about code
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'";
 Note about code
title1 "Average Monthly Temperature";
footnote1 j=l " Click a data point or legend symbol"
                   j=r "GPLDRIL1 ";

symbol1 interpol=join
        value=dot;
 Note about code
proc gplot data=newtemp;
   plot fahrenheit*month=city / hminor=0
        html=citydrill
        html_legend=citydrill;
run;
quit;
 Note about code
ods html close;
ods html path=odsout
body="city_reports.html";
 Note about code
proc sort data=newtemp;
   by city month;
run;
quit;
 Note about code
goptions reset=footnote;
option nobyline;
 Note about code
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;
 Note about code
ods html close;
ods listing;

Previous Page | Next Page | Top of Page