Previous Page | Next Page

TEMPLATE Procedure: Creating a Style Template (Definition)

Example 2: Using User-Defined Attributes


PROC TEMPLATE features:

DEFINE STYLE statement:

STYLE statement with user-defined attributes:

DEFINE TABLE statement:

CLASSLEVELS= table attribute

DYNAMIC statement

MVAR statement

DEFINE COLUMN statement:

BLANK_DUPS=

GENERIC=

HEADER=

STYLE=

DEFINE COLUMN statement:

BLANK_DUPS= attribute

CELLSTYLE-AS statement

GENERIC= attribute

DEFINE FOOTER statement:

TEXT statement

Other ODS features:

ODS HTML statement

ODS LISTING statement

FILE statement with ODS= option

PUT statement with _ODS_ argument

Data set: Grain_Production.
Format: $CNTRY..


Program 1: Description

This example creates a style that is equivalent to the style that Creating a Stand-Alone Style creates. However, this style uses user-defined attributes to specify colors and fonts. This technique makes it possible to easily make changes in multiple places in the output.


Program 1: Creating the Style

 Note about code
proc template;
   define style newstyle2;
      style fonts /
         "cellfont"=("arial, helvetica", 4, medium roman)
         "headingfont"=("arial, helvetica", 5, bold roman)
         "titlefont"=("arial, helvetica", 6, bold italic);
 Note about code
      style colors /
         "light"=white
         "medium"=cxaaaaff
         "dark"=cx0000ff
         "bright"=red;
 Note about code
      style cellcontents /
         backgroundcolor=colors("dark")
         color=colors("light")
         font=fonts("cellfont");
      style header /
         backgroundcolor=colors("medium")
         color=colors("dark")
         font=fonts("headingfont");
      style systemtitle /
         backgroundcolor=colors("light")
         color=colors("bright")
         font=fonts("titlefont");
      style footer from systemtitle /
         fontsize=3;
      style table /  
         cellspacing=5 
         borderwidth=10;
 Note about code
   end;
run;
 Note about code
proc template;
   define table table1;
 Note about code
   mvar sysdate9;
 Note about code
   dynamic colhd;
 Note about code
   classlevels=on;
 Note about code
   define column char_var;
      generic=on;
      blank_dups=on;
      header=colhd;
      style=cellcontents;
   end;
 Note about code
   define column num_var;
      generic=on;
      header=colhd;
      style=cellcontents;
   end;
 Note about code
   define footer table_footer;
      text "Prepared on " sysdate9;
   end;
 Note about code
   end;
run;
 Note about code
ods LISTING close;
 Note about code
ods html body="newstyle2-body.htm"
         style=newstyle2;
 Note about code
   title "Leading Grain Producers";
   title2 "in 1996";
 Note about code
data _null_;
   set grain_production;
   where type  in ("Rice", "Corn") and year=1996;
 Note about code
   file print ods=(
        template="table1"
 Note about code
        columns=(
           char_var=country(generic=on format=$cntry.
                    dynamic=(colhd="Country"))
           char_var=type(generic dynamic=(colhd="Year"))
           num_var=kilotons(generic=on format=comma12.
                   dynamic=(colhd="Kilotons"))
           )
        );
 Note about code
   put _ods_;
run;
 Note about code
ods html close;
ods listing;

Original HTML Output

HTML Output

 Note about figure

[HTML Output]


Program 2: Description

In the program Creating a Stand-Alone Style, to change the color scheme so that the blues are replaced by pink and red, change each occurrence of "blue" and "very light blue." In this program, because colors are defined as user-defined attributes, make the change only once.


Program 2: Changing User-Defined Attributes

To make the color scheme change, change only this section of code:

      style colors / 
         "light"=white   
         "medium"=cxaaaaff 
         "dark"=cx0000ff  
         "bright"=red;

Change the attributes as follows:

      style colors / 
         "light"=white   
         "medium"=pink  
         "dark"=red  
         "bright"=red;

Similarly, to change the font in any style element that uses cellfont, change this section of code:

         "cellfont"=("arial, helvetica", 4, medium roman) 

Here is one example of how to change the code:

         "cellfont"=("courier, arial, helvetica", 4, medium roman) 

This HTML output shows the results of running the same program with these changes.


HTML Output: Changing Colors and Fonts of User-Defined Attributes

HTML Output with Changed Colors and Fonts

 Note about figure

[HTML Output with Changed Colors and Fonts]

Previous Page | Next Page | Top of Page