What's New |
Overview |
New and enhanced features in the Output Delivery System (ODS) provide an almost limitless number of choices for reporting and displaying analytical results with a greater variety of formatting selections and output destinations.
With ODS statements, you can use new ODS packages, measured RTF output, and enhanced inline formatting, among other new features.
Using the DOCUMENT procedure, you can perform four new tasks.
Several new features and enhancements have been added to the TEMPLATE procedure, including a new crosstabulation table template and enhanced style inheritance.
Improved ODS statistical graphics enable you to use ODS and SAS/GRAPH to create and modify statistical graphics.
SAS/GRAPH uses ODS styles by default for graphical output.
You can use the PDFSECURITY system option to encrypt and password-protect your PDF files.
SVG (Scalable Vector Graphics) and new TrueType fonts can be added to ODS output.
You can use PROC SQL to query open ODS destinations.
You can control the way you view your PDF document by specifying system options PDFPAGELAYOUT and the PDFPAGEVIEW.
New Features and Enhancements for ODS Statements |
The following ODS statements are new:
creates measured RTF output that enables you to specify how and where page breaks occur and when to place titles and footnotes in the body of a page.
opens, adds to, publishes, or closes one SAS ODS package object. ODS packages enable ODS destinations to use the SAS Publishing Framework, which is a feature of SAS Integration Technologies. An ODS package tracks the output from any active destinations that connect with it. After the destinations close, the package can be published to any of the publish destinations. You can use ODS packages with the ODS PACKAGE statement.
inserts text into ODS output.
The following new functionality works with the ODS PRINTER and PDF destinations:
Style attribute TEXTDECORATION= can now be specified with the PDF destination.
In addition to supporting HTTP, the URL= style attribute now supports HTTPS, FTP, NEWS, and MAILTO.
New options have been added to the following ODS statements:
Inline formatting has new syntax for SAS 9.2 and inline styles can now be nested. The ODS ESCAPECHAR Statement now supports functions that can be used with various destinations. In addition, you can now use the UNICODE inline formatting function to select any available Unicode character in the current Unicode font.
The ODS EXCLUDE statement now supports the following options:
suppresses the warning that an output object was requested but not created.
excludes output objects that meet a particular condition.
The ODS GRAPHICS statement now supports the following options:
specifies whether anti-aliasing is applied to the rendering of the line and markers in the graph. Anti-aliasing smooths the appearance of diagonal lines and some markers.
specifies the maximum number of markers or lines to be anti-aliased before anti-aliasing is disabled. The default is 600.
specifies whether to draw the graph with a border on the outermost layout.
specifies the maximum number of discrete values to be shown in a plot.
specifies the maximum number of group values to be shown in a plot.
specifies the height of the graph.
specifies the image format to display graphics in ODS output. If the image format is not valid for the active output destination, the device is automatically remapped to the default image format.
specifies whether data tips are generated.
specifies the base image filename. By default, the name of the output object is used. You can determine the name of the output object by using the ODS TRACE statement.
specifies the maximum number of labeled areas before labeling is disabled.
specifies an integer that is interpreted as the maximum percentage of the overall graph's area that a legend can occupy.
specifies the maximum number of cells in a graph panel where the number of cells is determined dynamically by classification variables.
resets one or more ODS GRAPHICS options to its default.
specifies whether the content of the graph is scaled proportionally.
specifies the maximum number of distinct data tip boxes that are allowed before the boxes are disabled.
specifies the width of the graph.
The ODS HTML statement now supports the following options:
specifies the name of a device driver. ODS automatically selects an optimal default device for each open output destination.
specifies tagset-specific suboptions and a named value. The DOC= suboption allows you to produce a list of other suboptions that can be specified for OPTIONS=
The ODS LISTING statement now supports the following option:
specifies the name of a device driver. ODS automatically selects an optimal default device for each open output destination.
specifies the location for all graphics output that is generated while the destination is open.
specifies that the output from the destination be added to a package.
The ODS MARKUP statement now supports the following options:
specifies a cascading style sheet to apply to your output.
specifies the name of a device driver. ODS automatically selects an optimal default device for each open output destination.
specifies the image resolution in dots per inch for output images.
specifies an event and the value for event variables that are associated with the event.
specifies tagset-specific suboptions and a named value. The DOC= suboption allows you to produce a list of other suboptions that can be specified for OPTIONS=
specifies that the output from the destination be added to a package. The PACKAGE option is valid for all markup family statements.
inserts text into your document by triggering the paragraph event and specifying a text string to be assigned to the VALUE event variable.
The ODS OUTPUT statement now supports the following option:
suppresses the warning that an output object was requested but not created.
The ODS PRINTER, ODS PDF, and ODS PCL statements now support the following options:
specifies a cascading style sheet to apply to your output.
specifies the image resolution in dots per inch for output images.
creates a new file at the specified starting-point.
specifies that the output from the destination be added to an ODS package.
The ODS PDF and ODS PRINTER statements now support the following options.
controls the level of the expansion of the table of contents in PDF documents.
The ODS RTF statement now supports the following options:
specifies that SAS titles and footnotes are placed in the body of the RTF document rather than the headers and footers section of the document.
specifies that SAS titles and footnotes are placed in the body of the RTF document rather than the headers and footers section of the document. The titles and footnotes are placed in cells, which allows the titles and footnotes to be centered, right-justified and left-justified.
produces a table of contents page that is inserted into the RTF document when the TOC_DATA option is specified.
specifies a cascading style sheet to apply to your output.
specifies the name of a device driver. ODS automatically selects an optimal default device for each open output destination.
specifies the location of an aggregate storage location or a SAS catalog for all RTF files.
specifies whether contents data is inserted into the RTF document.
The ODS SELECT statement now supports the following options:
suppresses the warning that an output object was requested but not created.
selects output objects that meet a particular condition.
The ODS TRACE statement now supports the following option:
includes, in the trace record, information about excluded output objects.
New Features and Enhancements for the DOCUMENT Procedure |
The DOCUMENT procedure now enables you to do the following:
Use all PROC DOCUMENT features with the REPORT procedure.
Create columns for BY variables in the contents list with the new BYGROUPS option in the LIST statement.
Conditionally select a subset of entries in an ODS document for copying, listing, deleting, moving, or replaying by using WHERE expressions with these statements:
COPY TO
DELETE
LIST
MOVE TO
REPLAY
Specify the level of the path that you want to delete with the new LEVELS= option in the DELETE statement.
Write, to any open ODS destination, the source code of the ODS template that is associated with the specified output object, with the new OBTEMPL statement.
New Features and Enhancements for the TEMPLATE Procedure |
The LIST Statement now supports WHERE expressions, which enables you to select items for listing that meet a particular condition.
The SOURCE Statement now supports WHERE expressions, which enables you to select items that meet a particular condition.
The TEMPLATE procedure now enables you to customize the appearance of crosstabulation tables that are created with the FREQ procedure. The new CrossTabFreqs table template describes how to display PROC FREQ's crosstabulation table. You can create a customized CrossTabFreqs table template to do the following:
use custom formats for cellvalues
specify a style for each value in a cell
change the stacking order of values in a cell
change and style headers and footers
use variable labels in headers and footers
style table regions independently
change or remove the legend
You can now create the master table templates that are globally applied to all of your tabular output:
Base.Template.Column | |
Base.Template.Footer | |
Base.Template.Header | |
Base.Template.Table |
You can now use subsetting variables with the CELLSTYLE AS Statement to find common values in table templates and column templates.
You can use the TableHeaderContainer and TableFooterContainer style elements along with the border control style attributes to change the borders of the regions that surround the table header and footer.
creates a style element from a like-named style element.
imports Cascading Style Sheet (CSS) code from an external file and converts the code to style elements and style attributes that are then included in the style definition.
You can now create the master template, Base.Template.Style, that is globally applied to all of your style definitions. Base.Template.Style is created with the DEFINE STYLE Statement.
Style element inheritance has been enhanced. In addition, the functionality of the REPLACE statement has been replaced by the STYLE statement, and the REPLACE statement is no longer supported. For more information, see Understanding Inheritance.
You can now use the following style attributes with inline formatting or the TableHeaderContainer and TableFooterContainer style elements to make individual border style changes to RTF output:
BORDERBOTTOMCOLOR=
BORDERBOTTOMSTYLE=
BORDERBOTTOMWIDTH=
BORDERCOLOR=
BORDERLEFTSTYLE=
BORDERLEFTCOLOR=
BORDERLEFTWIDTH=
BORDERRIGHTCOLOR=
BORDERRIGHTSTYLE=
BORDERRIGHTWIDTH=
BORDERTOPCOLOR=
BORDERTOPSTYLE=
BORDERTOPWIDTH=
The new style HighContrast enables you to produce reports with HTML output in high contrast to meet accessibility requirements.
specifies to use the preceding style element or style elements of the same name for the parent of the new style.
specifies that the execution of the DO loop returns to the corresponding DO statement.
begins a statement block that executes if the required condition is true.
ends a statement block.
begins a statement block that executes if the corresponding DO statement is false.
creates or updates a user-defined variable and its value.
specifies a dictionary variable or list variable to loop through, and for each iteration, assigns the variable's values to the _NAME_ and _VALUE_ event variables.
increments a dictionary or list variable to the next value.
moves execution to the end of the current statement block.
Stream commands in tagset templates are able to specify variables.
You can now use the master template Base.Template.Tagset that is globally applied to all of your tagsets. Base.Template.Tagset is created with the DEFINE TAGSET statement.
Improved ODS Statistical Graphics |
The ODS graphics capability, which was experimental for SAS 9.1, is now production for SAS 9.2 as ODS graphics.
There are over 50 procedures in SAS/STAT, SAS/ETS, SAS/QC, and Base SAS that have been modified to use ODS graphics. Many new plots are now produced by these procedures, either by default or with the specification of procedure options.
The functionality of ODS graphics has been extended with the addition of new graph types, ODS styles designed for statistical work, and a point-and-click editor for enhancing titles, labels, and other graph features.
You can also modify graphs by changing their underlying templates, which are supplied by SAS and are written with PROC TEMPLATE and the Graph Template Language (GTL).
The LISTING destination is now supported by ODS graphics.
A new family of SAS/GRAPH procedures uses ODS graphics to create stand-alone plots, such as scatterplots overlaid with smoothers, which are particularly useful for exploratory data analysis.
The new SGRENDER procedure provides a way to create customized displays by writing your own templates with the GTL and PROC TEMPLATE.
For complete documentation about ODS graphics, see the SAS/GRAPH: Statistical Graphics Procedures Guide, SAS/GRAPH: Graph Template Language Reference, and the SAS/GRAPH: Graph Template Language User's Guide.
Note: A SAS/GRAPH license is now required to use ODS graphics.
New ODS Support for SAS/GRAPH |
All SAS/GRAPH procedures and devices now support ODS styles. By default, all colors, fonts, symbols, and graph sizes are derived from the current style. Procedure statement options and SAS/GRAPH GOPTIONS can still be used to override individual elements of the graph, providing you the flexibility to customize the appearance of any graph.
Additionally, the colors used by the styles have been updated to enhance the appearance of your graphics output.
If you have multiple ODS destinations open, SAS/GRAPH automatically selects the appropriate device for each destination. In addition, each graph uses the ODS style that is associated with each destination. You do not need to specify a device or style to get optimal results. For example, if you do not specify a device, then SAS/GRAPH automatically selects the PNG device for the HTML destination and the SASEMF device for the RTF destination.
Also, if you have multiple ODS destinations open and you are using a device other than the Java or ActiveX devices (ACTIVEX, JAVA, ACTXIMG, or JAVAIMG), a different GRSEG is created for each open destination. The GRSEG for the first destination is stored in WORK.GSEG. The GRSEGs for any other open destinations are named according to the destination (for example, WORK.HTML).
New PDF Security |
You can now encrypt and password-protect your PDF files easily in SAS with the PDFSECURITY system option. See the PDFSECURITY system option in SAS Language Reference: Dictionary.
New Scalable Vector Graphics and Fonts |
ODS styles can now use new TrueType fonts. All Universal Printers and many SAS/GRAPH devices use the FreeType library to render TrueType fonts for output in all of the operating environments that SAS software supports. In addition, by default, many SAS/GRAPH device drivers and all Universal Printers generate output using ODS styles, and these ODS styles use TrueType fonts. In addition to SAS Monospace and SAS Monospace Bold, 21 new TrueType fonts are made available when you install SAS:
five Latin fonts compatible with Microsoft
eight multilingual Unicode fonts
eight monolingual Asian fonts
ODS now supports Scalable Vector Graphics, which is a language for describing two-dimensional graphics and graphical applications in XML. For more information about Scalable Vector Graphics and the TrueType fonts, see the section "Printing with SAS" in SAS Language Reference: Concepts.
Query Open ODS Destinations |
You can now programmatically query SAS for open ODS destinations with the new SQL dictionary table DESTINATIONS and its associated view. See the section "Using the DICTIONARY Tables" in the SQL Procedure in the Base SAS Procedures Guide.
Copyright © 2008 by SAS Institute Inc., Cary, NC, USA. All rights reserved.