When creating templates
(especially with dynamics that generalize the usefulness of the template),
you typically want to enable several people to create graphs from
the template. To enable access to templates, you must store the "public"
templates in a directory that is accessible to others. PROC TEMPLATE
can store templates in specified SAS libraries and within specific
item stores. By default, templates are stored in SASUSER.TEMPLAT ,
but another
library.itemstore can be specified with the STORE= option in the DEFINE statement.
libname p "\\public\templates";
proc template;
define statgraph graphs.distribution / store=p.templat ;
...
end;
define statgraph graphs.regression / store=p.templat ;
...
end;
run;
When this template code
is submitted, you see the following notes in the SAS log:
NOTE: STATGRAPH 'Graphs.Distribution' has been saved to:
PUBLIC.TEMPLAT
NOTE: STATGRAPH 'Graphs.Regression' has been saved to:
PUBLIC.TEMPLAT
After shared templates
are compiled and stored, others can access them to produce graphs.
libname p "\\public\templates" access=readonly;
ods path reset;
ods path (prepend) p.templat(read) ;
proc sgrender data= ... template=graphs.distribution;
dynamic var="height";
run;
Manipulating the ODS
search path is the best way to make the templates publicly available.
Note that this code
did not replace the path but rather added an item store at the beginning
of the path. This is done to allow access to all SAS supplied production
templates, which are stored in SASHELP.TMPLMST.
Current ODS PATH list is:
1. P.TEMPLAT(READ)
2. SASUSER.TEMPLAT(UPDATE)
3. SASHELP.TMPLMST(READ)