Overview of New Features in Base SAS 9.3

Additional Information

For more information about new features, see the What’s New information for Base SAS in these documents:
  • Base SAS Guide to Information Maps
  • Base SAS Procedures Guide
  • Base SAS Procedures Guide: Statistical Procedures
  • Base SAS Utilities: Reference
  • Encryption in SAS
  • Moving and Accessing SAS Files
  • SAS CDISC Procedure: User's Guide
  • SAS Companion for UNIX Environments
  • SAS Companion for Windows
  • SAS Companion for z/OS
  • SAS Component Objects: Reference
  • SAS Data Set Options: Reference
  • SAS Formats and Informats: Reference
  • SAS Functions and CALL Routines: Reference
  • SAS Graph Template Language: Reference
  • SAS Graph Template Language: User's Guide
  • SAS Language Reference: Concepts
  • SAS Language Interfaces to Metadata
  • In the second maintenance release for SAS 9.3, the SAS LIBNAME Engine for DataFlux Federation Server is new.
  • SAS Logging: Configuration and Programming Reference
  • SAS Macro Language: Reference
  • SAS National Language Support (NLS): Reference Guide
  • SAS ODS Graphics Designer: User's Guide
  • SAS ODS Graphics Editor: User's Guide
  • SAS ODS Graphics: Procedures Guide
  • SAS Output Delivery System: User's Guide
  • SAS Scalable Performance Data Engine: Reference
  • SAS SQL Procedure User's Guide
  • SAS Statements: Reference
  • SAS System Options: Reference
  • SAS XML LIBNAME Engine: User's Guide

Support for Hadoop Data

In the second maintenance release for SAS 9.3, Base SAS has these language interfaces to Hadoop data:
  • The HADOOP procedure enables SAS to run Apache Hadoop code against Hadoop data. Using PROC HADOOP, you can submit HDFS (Hadoop Distributed File System) commands, MapReduce programs, and Pig language code against Hadoop data.
  • The FILENAME Statement, Hadoop Access Method enables you to access files on an HDFS.


The default destination is HTML when you run SAS in the windowing environment on Microsoft Windows and UNIX. ODS Graphics is enabled by default and the default style is a new style, HTMLBlue. The default destination is LISTING when you run SAS in batch mode or under z/OS, and ODS Graphics is not enabled by default. New system options can restore output behavior to SAS 9.2 behavior.
The HTML destination now supports the BMP image type. The PRINTER statement now supports titles and footnotes by using SAS/GRAPH options.
New event tagsets support measured tagsets. You can now specify the number of levels in a table of contents and whether to include version control information.
The DOCUMENT procedure enhancements now fully support the PRINT procedure. The WHERE option applies to output objects as well as directories, and the WHERE option now has new subsetting variables. Text files can be imported into an ODS document, which can be replayed to open ODS destinations. Table output objects can be written to active destinations.
The TEMPLATE procedure enhancements enable the use of RGBA (red, green, blue, transparency) and CMYK (cyan, magenta, yellow, black) colors. New statements for tabular output can now have default values for dynamic variables. New style elements control white space in a table and the position of the background of tables, cells, or graphs.
You can now edit existing style templates by using the EDIT statement. New style attributes control white space, borders, and background position.
In the second maintenance release for SAS 9.3, the ODS PREFERENCES statement can revert the ODS settings to the default behavior. Enhancements to the ODS TAGSETS.RTF statement enable you to add a watermark to an RTF document and to add a continue tag when a table breaks across a page.

ODS Graphics

ODS Graphics has moved to Base SAS. For information about ODS Graphics, see the following documents:
  • SAS ODS Graphics Designer: User's Guide
  • SAS ODS Graphics Editor: User's Guide
  • SAS ODS Graphics: Procedures Guide
  • SAS Graph Template Language: Reference
  • SAS Graph Template Language: User's Guide
There are several significant changes that affect ODS Graphics. Most notably, in the SAS windowing environment under Microsoft Windows or UNIX, ODS Graphics is enabled by default and output is sent to the Work folder instead of the current directory. ODS graphics are now on by default.
For a complete list of all changes and enhancements for ODS graphics, see the What’s New topics in the individual documents.


SAS now supports FIPS 140-2 encryption in SAS/SECURE and Secure Sockets Layer (SSL).
The algorithm for hashing passwords has changed from MD5 to SHA256.

SAS Engines

In the second maintenance release for SAS 9.3, the FEDSVR LIBNAME engine provides a bridge from SAS data access services to the data access technology that is provided by the DataFlux Federation Server. From a Base SAS session, the engine enables a SAS application such as a SAS procedure or a SAS DATA step to process data by using DataFlux Federation Server 3.1 or later.
A new JMP engine enables you to quickly and easily read your JMP data tables into SAS.
Case-sensitive names for files and catalogs in SAS/ACCESS engine libraries are supported when you transport files by using the CPORT procedure.
The engine nickname to access the enhanced XML LIBNAME engine is XMLV2. XMLV2 functionality is preproduction under z/OS. XMLMap syntax for Version 2.1 now supports XML namespaces.
In the second maintenance release for SAS 9.3, the XMLV2 nickname can automatically generate an XMLMap file.
The new VALIDMEMNAME= system option performs differently in the SPD Engine than in the Base SAS engine.

Cross-Environment Data Access (CEDA)

CEDA processing is not invoked when you process Windows 32-bit data files in a Windows 64-bit SAS 9.3 session. Likewise, CEDA processing is not invoked when you process Windows 64-bit data files in a Windows 32-bit SAS 9.3 session. If you use Windows data sets in either 32-bit or 64-bit operating environments, you do not need to do anything to benefit from this functionality other than to use SAS 9.3.
Catalogs are an exception. Catalogs are not compatible between 32-bit and 64-bit SAS for Windows.

Running SAS in Batch

Checkpoint mode and restart mode now support labeled code sections.
When running SAS in any mode other than the windowing environment, SAS data set names, SAS view names, and SAS item store names can include some special characters and national characters.

Universal Printing

Universal Printing now supports the Enhanced Metafile Format (EMF) printer and new SVG printers for animation, SVG documents without tooltips, and transparent SVG documents. RGBA (red, green, blue, transparency) and CMYK (cyan, magenta, yellow, black) colors are now supported.
Images in an SVG document are converted to PNG files that use base64 encoding and are included as part of the SVG file.
The orientation of individual pages in a document can be set to portrait or landscape. The orientation can also be set to control the top of the page relative to how the paper is inserted into the paper insert tray for printing preprinted or punched forms.
SAS now supports Adobe Type1 fonts.
The new QDEVICE procedure writes information about universal printers to the SAS log or to an output data set.

SAS Logging Facility

Configuration files can be modified or replaced without restarting SAS, and modification of the logging configuration can be restricted.
Log events can now be written to third-party databases and Java classes.
Access to SAS libraries can be audited.
SAS now provides header and footer conversion patterns.

National Language Support

SAS supports Open Edition encodings for the katakana, Korean, Chinese, and Japanese languages.
The SETLOCALE function can be used to change the SAS session locale setting, change the locale for a single locale element, such as the format of a year, or change the locale setting for a category of locale elements, such as money.
You can create a format catalog that corresponds to the current SAS locale, and specify to search for formats in the locale-specific catalog by using the FMTSEARCH= system option.
When running in batch, the VALIDMEMNAME= system option can enable national characters to be used in SAS data set names, SAS view names, and SAS item store names.
SAS session encoding or UTF-8 encoding can be specified for use with the URLENCODE and URLDECODE functions.
The automatic macro variable SYSSIZEOFUNICODE contains the length of a Unicode character.
New functions enable you to verify transcoding compatibility between two encodings, specify a valid encoding name, specify a message from a data set, and specify the locale keys for the current SAS locale. Aliases for the LOCALE= system option have been updated.
New formats NLDATMZ, NLDATMTZ, and NLDATMWZ format datetime values with time zones.

SAS Language Interface to Metadata

In the second maintenance release for SAS 9.3, the Metadata LIBNAME Engine supports the DataFlux Federation Server by using the LIBNAME FEDSVR statement.
PROC METADATA can be used to obtain metadata server configuration information, backup information, and server statistics.
The PROC METAOPERATE commands support the new server backup facility.
The METAAUTORESOURCES system option assigns the LIBNAME engine based on a pre-assignment type setting in the library definition.


Optimized WHERE conditions with an index have been improved.

Moving and Accessing Files

UNIX File System libraries on z/OS support all CEDA data representations. SAS name literals that include embedded blanks can now be used with the CPORT and CIMPORT procedures. When the VALIDVARNAME and VALIDMEMNAME= system options are set to support enhanced names, the data set names or member names that are used in the CIMPORT and CPORT procedures can be up to 32 bytes in length. Names and member names can also be mixed case.
The CPORT procedure now supports case-sensitive names for files and catalogs in a SAS/ACCESS engine library and from the CPORT file.

E-mail Using the FILENAME Statement

Recipient e-mail addresses can now be separated by commas. You can set an expiration date for an e-mail, specify to receive a delivery notification, and specify that a UTC offset is used in the e-mail Date header field.


Procedures that are enabled for processing inside the database generate more sophisticated queries that enable the aggregations and analytics to be run inside the database. The following Base SAS procedures have been enhanced for in-database processing inside the Aster nCluster, DB2 under UNIX and PC Hosts, Greenplum, Netezza, and Teradata databases:
  • FREQ
  • RANK
  • SORT
The CIMPORT procedure supports case-sensitive names from the CPORT file and SAS name literals with embedded blanks. When used in batch mode, data set names and member names that are used with the CPORT procedure can be up to 32 bytes in length.
In the CORR procedure, you can specify one or more tip variables to identify observations in scatter plots and scatter plot matrices.
The CPORT procedure supports case-sensitive names for file and catalogs in a SAS/ACCESS engine library and SAS name literals with embedded blanks. When used in batch mode, data set names and member names that are used with the CPORT procedure can be up to 32 bytes in length.
In the second maintenance release for SAS 9.3, the PROC COPY statement and the COPY statement from the DATASETS procedure enable you to override output data set options that are copied from the input data set.
The FCMP procedure has new functions to compute the quantile and limited moment of any distributions for which a cumulative distribution function has been defined.
The FORMAT procedure supports creating a format catalog that corresponds to the current SAS locale, has several new directives, and can create a format that performs a function on a value. You can use SAS Explorer to view format and informat definitions.
The FREQ procedure now produces several types of plots by using ODS Graphics. New tests and limits are available for the binomial proportion, the proportional difference, and equal odds ratios.
The new GROOVY procedure can run GROOVY statements in your SAS code.
The OPTIONS procedure has two new options that list system options. The LISTINSERTAPPEND option lists the system options whose value can be modified by the INSERT and APPEND system options. The LISTRESTRICT option lists system options that can be restricted by your site administrator. You can now list information about one or more options. Valid values for an option now display in procedure output as well as the name of the configuration file that set an option.
The OPTLOAD, OPTSAVE, and OPTIONS procedures are also documented with system options in SAS System Options: Reference.
The PRINT procedure is fully integrated with the Output Delivery System. Each BY group is a separate table. Bylines can be up to 512 characters. In all destinations but the LISTING destination, the size of the column label does not have to be restricted.
If you use the PRINTTO procedure to write to a file or to a catalog entry, you must open the LISTING destination. In objectserver run mode, log messages are not routed to the log that is specified by the ALTLOG= system option.
The PWENCODE procedure uses the _PWENCODE macro variable, which can be set by the OUT= fileref.
The new QDEVICE procedure creates reports about SAS devices and universal printers.
The REGISTRY procedure can follow links that are found when processing the LIST command and can display only keys.
The REPORT procedure supports multilabel formats for all ODS destinations, data sets, and the REPORT window.
In the second maintenance release for SAS 9.3, the SOAP procedure can call a SAS secured service without providing credentials.
The SCAPROC procedure can expand macro invocations into separate tasks and enhancements for grid-enabled jobs.
The SORT procedure can eliminate observations from an output data set and write these observations to another data set if the observations have a unique sort key or if the observations are adjacently unique.
New options for the PROC SQL statement help control the execution and the resulting output. The LIBNAME statement can be reused by the CONNECT statement when a connection has already been established. New macro variable specifications are available for the INTO clause of the SELECT statement. The new VIEW_SOURCES dictionary table contains a list of tables that are referenced by SQL. The SQL procedure documentation and the system options that pertain to SQL have been moved to the SAS SQL Procedure User's Guide, placing all SQL information in one document.
The TABULATE procedure has an option to not merge data cells with other data cells in a table.
The UNIVARIATE procedure now produces graphs that conform to ODS styles and can create graphs by using ODS Graphics. New statements plot the observed cumulative distribution function of a variable and create a probability-probability plot.
In the second maintenance release for SAS 9.3, the XSL procedure uses the Saxon-EE 9.3 software application from Saxonica to transform the XML document. PROC XSL functionality is now production.

Language Elements

Prior to SAS 9.3, SAS data set options, formats, functions, informats, statements, system options, component objects, the DATA step debugger, and the %DS2CSV macro were documented in SAS Language Reference: Dictionary. Starting with SAS 9.3, SAS Language Reference: Dictionary has been divided into seven documents:
  • SAS Data Set Options: Reference
  • SAS Formats and Informats: Reference
  • SAS Functions and CALL Routines: Reference
  • SAS Statements: Reference
  • SAS System Options: Reference
  • SAS Component Objects: Reference
  • Base SAS Utilities: Reference
Data Set Options
The EXTENDOBSCOUNTER= data set option extends the maximum observation count in an output SAS data file.
SAS Formats and Informats
New informats read time that is in the form hhmmss:ss, IBM date and times that include a century marker, and Java date and time values.
Functions and CALL Routines
New functions call a Web service that use authentication, obtain interest rate data, validate character strings for use as a SAS member name, and verify the existence of an operating environment variable.
Existing functions have been enhanced to include the GENPOISSON and TWEEDIE distributions, to provide flexibility in working with dates and times, and to provide more information about SAS system options.
Several functions that previously were documented in the SAS/ETS User’s Guide are now documented with the Base SAS functions in SAS Functions and CALL Routines: Reference.
A new LIBNAME engine associates a libref with a JMP table and the RESETLINE statement resets the program line numbering in the SAS log to 1. A new LIBNAME option extends the maximum observation count in all output SAS data files in a SAS library.
The FILENAME statement for e-mail access can now accept commas to separate e-mail addresses, enable you to set an expiration date for an e-mail, and send a notification when the e-mail has been delivered. The FILENAME statement for FTP access can now attempt a passive mode FTP. The FILENAME statement for WebDAV access enables a login password prompt.
System Options
New system options enable checkpoint mode and restart mode for labeled code sections.
System options can be reset to their start-up or default values. If a directory that is named in a LIBNAME statement does not exist, SAS can create the directory. Rules for naming SAS data sets, SAS data views, and SAS item store names have been expanded. In e-mail, the UTC offset can now be specified. The encoding can be set for the URLENCODE and URLDECODE functions. The orientation of individual pages in a document can be set to portrait or landscape.
The new system options documentation, SAS System Options: Reference, contains the functions and the procedures that are related to system options, as well as links to all documents that have system options in them.
In the second maintenance release for SAS 9.3, the default value for the SQLGENERATION= system option includes Aster nCluster and Greenplum.
Macro Processing
New automatic macro variables contain sizes of a pointer, the length of a Unicode character, the length of a long integer, the number of observations read from the last data set that was closed by the previous step, and the number of bits of an address.
New macro functions indicate whether a macro is currently executing, whether a macro definition exists, the depth of nesting from the point of call, and the name of a macro that is executing at a nesting level.
New macro statements close stored compiled macros and delete a macro definition for the catalog.
New macro system options enable the display of the source location of autocall macros in the SAS log, enable adding the autocall source file pathname to the description field of a catalog entry, enable the generation of coverage analysis data, and specify the location of the coverage analysis data file.

SAS under UNIX

The PATHENCODING environment variable provides an alternative encoding for external file and directory references.
Tape drives are no longer supported.
System options have been enhanced to support multiple AUTOEXEC files and to report additional statistical and option information in the SAS log.

SAS under Windows

HTML is now the default for program output results.
SAS now supports Windows Server 2008 and Server 2008R2. Windows 2008 EPIC (Itanium) is no longer supported.
The !SASHOME environment variable specifies where SAS is installed.
User profile paths now include Server 2008 R2.
SAS now supports the INT64 return value type for the SASCBTBL Attribute Table ROUTINE statement.
Instructions to start the SAS Service Configuration Utility have changed.
The SAS Companion for Windows contains an appendix with information about troubleshooting the Java run-time environment.

SAS under z/OS

A 64-bit SAS Metadata Server can now be run under z/OS.
SAS now supports symbolic references in SAS configuration files and SASRX configuration files.
SAS Data Location Assist for z/OS gathers attribute information for data sets that reside throughout your operating environment.
You can use the UNIX logger command to write error messages and trace output to the system console.
The USS Home Directory and z/OS data set nodes are new for the Explorer window. New commands open windows that display lists of native z/OS data set and UTS files.
z/OS Extended Addressability Volumes enables SAS to access extended address space to use for SAS libraries and files.
VSAM processing now supports RLS-eligible data sets.