What's New |
Overview |
The following Base SAS procedures are new:
The following Base SAS procedures have been enhanced:
New Base SAS Procedures |
The CALLRFC procedure enables you to invoke Remote Function Call (RFC) or RFC-compatible functions on an SAP System from a SAS program. You must license and configure SAS/ACCESS Interface to R/3 to use the CALLRFC procedure.
The FCMP procedure is new for 9.2. The SAS Function Compiler Procedure (FCMP) enables you to create, test, and store SAS functions and subroutines before you use them in other SAS procedures. PROC FCMP accepts slight variations of DATA step statements, and most features of the SAS programming language can be used in functions and subroutines that are processed by PROC FCMP.
The JAVAINFO procedure conveys diagnostic information to the user about the Java environment that SAS is using. The diagnostic information can be used to confirm that the SAS Java environment has been configured correctly, and can be helpful when reporting problems to SAS technical support. Also, PROC JAVAINFO is often used to verify that the SAS Java environment is working correctly because PROC JAVAINFO uses Java to report its diagnostics.
The PROTO procedure enables you to register, in batch mode, external functions that are written in the C or C++ programming languages. You can use these functions in SAS as well as in C-language structures and types. After the C-language functions are registered in PROC PROTO, they can be called from any SAS function or subroutine that is declared in the FCMP procedure. They can also be called from any SAS function, subroutine, or method block that is declared in the COMPILE procedure.
The SCAPROC procedure enables you to specify a filename or fileref that will contain the output of the SAS Code Analyzer and to write the output to the file. The SAS Code Analyzer captures information about the job step, input and output information such as file dependencies, and information about macro symbol usage from a running SAS job. The SCAPROC procedure also can generate a grid-enabled job that can simultaneously run independent pieces of a SAS job.
The CONCATMEM comment has been added to the SCAPROC procedure output for the third maintenance release for SAS 9.2. The CONCATMEM comment specifies the name of a concatenated library that contains a specified libref.
The SOAP procedure reads XML input from a file that has a fileref and writes XML output to another file that has a fileref. The envelope and headings are part of the content of the fileref.
The HTTP procedure invokes a Web service that issues requests.
The XSL procedure is new for the third maintenance release for SAS 9.2. The XSL procedure transforms an XML document into another format, such as HTML, text, or another XML document type. The procedure reads an input XML document, transforms it by using an XSL style sheet, and then writes an output file.
Enhanced Base SAS Procedures |
The NOWARN option has been added to the APPEND procedure. The NOWARN option suppresses the warning message when it is used with the FORCE option to concatenate two data sets with different variables.
The following enhancement has been made to the CIMPORT procedure:
ISFILEUTF8= is a new option that specifies whether the encoding of the transport file is UTF-8. This feature is useful when you import a transport file whose UTF-8 encoding identity is known to you but is not stored in the transport file. SAS releases before SAS 9.2 do not store any encodings in the transport file.
New warning and error messages are available to alert you to transport problems and recovery actions.
The WHERE option of the CONTENTS procedure has been restricted. You cannot use the WHERE option to affect the output because PROC CONTENTS does not process any observations.
The PROC COPY option of the COPY procedure ignores concatenations with catalogs. Use PROC CATALOG COPY to copy concatenated catalogs.
The documentation about the READ= data set option (used in the DATA statement of PROC CPORT) was enhanced to explain when a read-only password might be required. You can create a transport file for a read-only data set only when you also specify the data set's password using the READ= option in PROC CPORT. Clear-text and encoded passwords are supported.
The new ID statement for the CORR procedure specifies one or more additional tip variables to identify observations in scatter plots and scatter plot matrices.
The following options are new or enhanced in the DATASETS procedure:
The new REBUILD option specifies whether to correct or delete disabled indexes and integrity constraints. When a data set is damaged in some way and the DLDMGACTION=NOINDEX data set or system option is used, the data set is repaired, the indexes and integrity constraint are disabled, and the index file is deleted. The data set is then limited to INPUT mode only until the REBUILD option is executed. This option enables you to continue with production without waiting for the indexes to be repaired, which can take a long time on large data sets.
Here is a list of enhancements for the COPY statement:
The COPY statement with the NOCLONE option specified supports the OUTREP= and ENCODING= LIBNAME options for SQL views, DATA step views, and some SAS/ACCESS views (Oracle and Sybase).
You can use the COPY statement, along with the XPORT engine or a REMOTE engine, to transport SAS data sets between hosts.
Here is a list of enhancements for the CONTENTS statement:
When using the OUT2 option, indexes and integrity constraints are labeled if disabled.
In the third maintenance release for SAS 9.2, the following statements have been added to the FCMP procedure:
LISTFUNC | LISTSUBR |
causes the source code for a function to be written to the SAS listing. |
DELETEFUNC | DELETESUBR |
causes a specified function to be deleted from the library that is specified in the OUTLIB option. |
In the third maintenance release for SAS 9.2, the following option has been added:
LISTFUNCS |
enables you to list the prototypes for all visible FCMP procedure functions in the SAS listing. |
The FREQ procedure can now produce frequency plots, cumulative frequency plots, deviation plots, odds ratio plots, and kappa plots by using ODS Graphics. The crosstabulation table now has an ODS template that you can customize using the TEMPLATE procedure. Equivalence and noninferiority tests are now available for the binomial proportion and the proportion difference. New confidence limits for the binomial proportion include Agresti-Coull, Jeffreys, and Wilson (score) confidence limits. The RISKDIFF option in the EXACT statement provides unconditional exact confidence limits for the proportion (risk) difference. The EQOR option in the EXACT statement provides Zelen's exact test for equal odds ratios.
In the third maintenance release for SAS 9.2, the FREQ procedure has been enhanced to run inside the Teradata Enterprise Data Warehouse (EDW), DB2 under UNIX, and Oracle. Using conventional processing, a SAS procedure, by means of the SAS/ACCESS engine, receives all the rows of the table from the database. All processing is done by the procedure. Large tables mean that a significant amount of data must be transferred. Using the new in-database technology, the procedures that are enabled for processing inside the database generate more sophisticated queries that allow the aggregations and analytics to be run inside the database. For most in-database procedures, a much smaller result set is returned for the remaining analysis that is required to produce the final output. As a result of using the in-database procedures, more work is done inside the database and less data movement can occur. Using in-database procedures can result in significant performance improvements.
The following enhancements have been made to the MEANS procedure:
The PRT statistic is now an alias for the PROBT statistic.
The MODE statistic can now be used with PROC MEANS.
In the third maintenance release for SAS 9.2, the MEANS procedure has been enhanced to run inside the Teradata Enterprise Data Warehouse (EDW), DB2 under UNIX, and Oracle. Using conventional processing, a SAS procedure, by means of the SAS/ACCESS engine, receives all the rows of the table from the database. All processing is done by the procedure. Large tables mean that a significant amount of data must be transferred. Using the new in-database technology, the procedures that are enabled for processing inside the database generate more sophisticated queries that allow the aggregations and analytics to be run inside the database. For most in-database procedures, a much smaller result set is returned for the remaining analysis that is required to produce the final output. As a result of using the in-database procedures, more work is done inside the database and less data movement can occur. Using in-database procedures can result in significant performance improvements.
The MIGRATE procedure now supports more cross-environment migrations. You can migrate a SAS 8.2 data library from almost every SAS 8.2 operating environment to any SAS 9.2 operating environment. Most SAS 6 operating environments are also supported, but not for cross-environment migration.
The following enhancements have been made to the OPTIONS procedure:
Restricted options are now supported in all operating environments.
The value of environment variables can be displayed by using the EXPAND option.
System options that have a character value can be displayed as a hexadecimal value by using the HEXVALUE option.
You can display a list of SAS system option groups by using the LISTGROUPS option.
To display the options in multiple groups, you can list more than one group in the GROUP= option.
The following system option groups are new and can be specified on the GROUP= option: CODEGEN, LOGCONTROL, LISTCONTROL, SMF, SQL, and SVG.
The following new options have been added to the PRINT procedure:
enables you to display the label of the BY variable on the summary line.
enables you to insert a blank line after every n observations.
The following enhancements have been made to the PWENCODE procedure :
Encoded passwords are now supported for SAS data sets.
The sas003 encoding method, which uses a 256-bit key to generate encoded passwords, is now supported. The sas003 encoding method supports the AES (Advanced Encryption Standard), which is a new security algorithm for SAS/SECURE.
The TIES= option of the RANK procedure has a new value, DENSE, which computes scores and ranks by treating tied values as a single-order statistic.
In the third maintenance release for SAS 9.2, the RANK procedure has been enhanced to run inside the Teradata Enterprise Data Warehouse (EDW), DB2 under UNIX, and Oracle. Using conventional processing, a SAS procedure, by means of the SAS/ACCESS engine, receives all the rows of the table from the database. All processing is done by the procedure. Large tables mean that a significant amount of data must be transferred. Using the new in-database technology, the procedures that are enabled for processing inside the database generate more sophisticated queries that allow the aggregations and analytics to be run inside the database. For most in-database procedures, a much smaller result set is returned for the remaining analysis that is required to produce the final output. As a result of using the in-database procedures, more work is done inside the database and less data movement can occur. Using in-database procedures can result in significant performance improvements.
The following enhancements have been made to the REPORT procedure:
The PROBT statistic is now an alias for the PRT statistic.
The MODE statistic can now be used with PROC REPORT.
The STYLE/MERGE attribute name option has been added so that styles can be concatenated. Currently, there is no way to concatenate styles using a CALL DEFINE statement. Each time the CALL DEFINE statement is executed, it replaces any previous style information.
The BY statement is now available when requesting an output data set with the OUT= option in the PROC REPORT statement.
The new Table of Contents (TOC) now supports the CONTENTS= option in the BREAK, RBREAK, and DEFINE statements.
The BYPAGENO=n option has been added to reset the page number between BY groups.
The SPANROWS option has been added for the PROC REPORT statement. This option permits the GROUP and ORDER variables to be contained in a box rather than in blank cells appearing underneath the GROUP or ORDER variable values.
The SPANROWS option also permits GROUP and ORDER variable values to repeat when the values break across pages in PDF, PS, and RTF destinations.
PROC REPORT now supports the ODS DOCUMENT and ODS OUTPUT destinations.
PROC REPORT now supports style attributes BORDERBOTTOMSTYLE, BORDERBOTTOMWIDTH, BORDERBOTTOMCOLOR, BORDERTOPSTYLE, BORDERTOPWIDTH, and BORDERTOPCOLOR.
In the third maintenance release for SAS 9.2, the REPORT procedure has been enhanced to run inside the Teradata Enterprise Data Warehouse (EDW), DB2 under UNIX, and Oracle. Using conventional processing, a SAS procedure, by means of the SAS/ACCESS engine, receives all the rows of the table from the database. All processing is done by the procedure. Large tables mean that a significant amount of data must be transferred. Using the new in-database technology, the procedures that are enabled for processing inside the database generate more sophisticated queries that allow the aggregations and analytics to be run inside the database. For most in-database procedures, a much smaller result set is returned for the remaining analysis that is required to produce the final output. As a result of using the in-database procedures, more work is done inside the database and less data movement can occur. Using in-database procedures can result in significant performance improvements.
In the third maintenance release for SAS 9.2, the following options have been added to the SOAP procedure:
specifies the location of the SAS environments file.
specifies to use the environment that is defined in the SAS environments file.
specifies the SAS Web service to use.
In the third maintenance release for SAS 9.2, you can call SAS Web services by using one of two methods. The first method requires that you know the URL of the Service Registry Service and the URL of the endpoint of the service you are calling. You must set the URL of the Service Registry Service on the SRSURL option. The URL option indicates the endpoint of the service that you are calling.
The second method that is used to call SAS Web services uses the SAS environments file to specify the endpoint of the service you are calling. Using this method, you can indicate the location of the SAS environments file in one of two ways:
use the ENVFILE option in PROC SOAP
define the Java property env.definition.location in JREOPTIONS on the SAS command line or in the SAS configuration file
The following options and statements are new or enhanced in the SORT procedure:
The new PRESORTED option causes PROC SORT to check within the input data set to determine whether the observations are in order before sorting. Use the PRESORTED option when you know or strongly suspect that a data set is already in order according to the key variables specified in the BY statement. By specifying this option, you avoid the cost of sorting the data set.
The SORTSEQ= option is enhanced. New suboptions have been added as follows:
The LINGUISTIC suboption specifies linguistic collation, which sorts characters according to rules of language. The rules and default collating sequence options are based on the language specified in the current locale setting. You can modify the default collating rules of linguistic collation. The following are the collating rules that can be used to modify the LINGUISTIC collation suboption:
ALTERNATE_HANDLING=
CASE_FIRST=
COLLATION=
LOCALE=
NUMERIC_COLLATION=
STRENGTH=
You can now specify all possible encoding values. The result is the same as a binary collation of the character data represented in the specified encoding. The encoding values available are found in the SAS National Language Support (NLS): Reference Guide.
The KEY statement has been added to PROC SORT. You can specify multiple KEY statements and multiple variables per KEY statement. You can specify the DESCENDING option to change the default collating direction from ascending to descending.
In the third maintenance release for SAS 9.2, the SORT procedure has been enhanced to run inside the Teradata Enterprise Data Warehouse (EDW), DB2 under UNIX, and Oracle. Using conventional processing, a SAS procedure, by means of the SAS/ACCESS engine, receives all the rows of the table from the database. All processing is done by the procedure. Large tables mean that a significant amount of data must be transferred. Using the new in-database technology, the procedures that are enabled for processing inside the database generate more sophisticated queries that allow the aggregations and analytics to be run inside the database. For most in-database procedures, a much smaller result set is returned for the remaining analysis that is required to produce the final output. As a result of using the in-database procedures, more work is done inside the database and less data movement can occur. Using in-database procedures can result in significant performance improvements.
The following enhancements have been made to the SUMMARY procedure:
In the third maintenance release after SAS 9.2, the SUMMARY procedure has been enhanced to run inside the Teradata Enterprise Data Warehouse (EDW), DB2 under UNIX, and Oracle. Using conventional processing, a SAS procedure, by means of the SAS/ACCESS engine, receives all the rows of the table from the database. All processing is done by the procedure. Large tables mean that a significant amount of data must be transferred. Using the new in-database technology, the procedures that are enabled for processing inside the database generate more sophisticated queries that allow the aggregations and analytics to be run inside the database. For most in-database procedures, a much smaller result set is returned for the remaining analysis that is required to produce the final output. As a result of using the in-database procedures, more work is done inside the database and less data movement can occur. Using in-database procedures can result in significant performance improvements.
The following enhancements have been made to the SQL procedure:
A number of features have been added which enable you to optimize queries.
Depending on which engine type the query uses, you can replace the PUT function with a logically equivalent expression.
You can replace references to the DATE, TIME, DATETIME, and TODAY functions in a query to their equivalent constant values before the query executes.
You can specify the minimum number of rows that must be in a table or the maximum number of SAS format values that can exist in a PUT function in order for PROC SQL to consider optimizing the PUT function.
You can bypass the remerging process when a summary function is used in a SELECT clause or a HAVING clause.
If indexing is present, PROC SQL now uses the index files when processing SELECT DISTINCT statements.
Semicolons can now be used in explicit queries for pass-through.
You can use custom functions that are created with PROC FCMP in PROC SQL.
The DICTIONARY.EXTFILES table will now include the access method and device type information.
Three new DICTIONARY tables have been added. The FUNCTIONS table contains information about currently accessible functions. The INFOMAPS table returns information on all known information maps. The DESTINATIONS table contains information about all known ODS destinations.
The DESCRIBE TABLE CONSTRAINTS statement will not display the names of password-protected foreign key data set variables that reference the primary key constraint.
The TRANSCODE=NO argument is not supported by some SAS Workspace Server clients. In SAS 9.2, if the argument is not supported, column values with TRANSCODE=NO are replaced (masked) with asterisks (*). Before SAS 9.2, column values with TRANSCODE=NO were transcoded.
The SAS/ACCESS CONNECT statement has a new AUTHDOMAIN option that supports lookup of security credentials (user ID and password) without your having to explicitly specify the credentials.
The following new options have been added to the PROC SQL statement:
specifies whether the SQL procedure replaces references to the DATE, TIME, DATETIME, and TODAY functions in a query with their equivalent constant values before the query executes.
Note: The CONSTDATETIME option provides the same functionality as the new SQLCONSTDATETIME system option.
specifies whether PROC SQL clears an error code for any SQL statement.
specifies whether implicit pass-through is enabled or disabled.
specifies the engine type that a query uses for which optimization is performed by replacing a PUT function in a query with a logically equivalent expression.
Note: The REDUCEPUT option provides the same functionality as the new SQLREDUCEPUT system option.
specifies that the SQL procedure does not process queries that use remerging of data.
Note: The REMERGE option provides the same functionality as the new SQLREMERGE system option.
The following new global system options affect SQL processing and performance:
controls SQL optimization for SAS/ACCESS engines.
specifies whether the SQL procedure replaces references to the DATE, TIME, DATETIME, and TODAY functions in a query with their equivalent constant values before the query executes.
for SAS 9.2 Phase 2 and later, specifies whether the PUT function in the SQL procedure is processed by SAS or by the SAS_PUT() function inside the Teradata database.
for the SQL procedure, specifies the engine type that a query uses for which optimization is performed by replacing a PUT function in a query with a logically equivalent expression.
for the SQL procedure when the SQLREDUCEPUT= system option is set to NONE, specifies the minimum number of observations that must be in a table in order for PROC SQL to consider optimizing the PUT function in a query.
for the SQL procedure when the SQLREDUCEPUT= system option is set to NONE, specifies the maximum number of SAS format values that can exist in a PUT function expression in order for PROC SQL to consider optimizing the PUT function in a query.
specifies whether the SQL procedure can process queries that use remerging of data.
specifies whether the SQL procedure keeps or discards updated data if errors occur while the data is being updated.
The following enhancements have been made to the TABULATE procedure:
The PROBT statistic is now an alias for the PRT statistic.
The MODE statistic can now be used with PROC TABULATE.
You can specify variable name list shortcuts within the TABLE statement.
PROC TABULATE now supports style attributes BORDERBOTTOMSTYLE, BORDERBOTTOMWIDTH, BORDERBOTTOMCOLOR, BORDERTOPSTYLE, BORDERTOPWIDTH, and BORDERTOPCOLOR.
In the third maintenance release for SAS 9.2, the TABULATE procedure has been enhanced to run inside the Teradata Enterprise Data Warehouse (EDW), DB2 under UNIX, and Oracle. Using conventional processing, a SAS procedure, by means of the SAS/ACCESS engine, receives all the rows of the table from the database. All processing is done by the procedure. Large tables mean that a significant amount of data must be transferred. Using the new in-database technology, the procedures that are enabled for processing inside the database generate more sophisticated queries that allow the aggregations and analytics to be run inside the database. For most in-database procedures, a much smaller result set is returned for the remaining analysis that is required to produce the final output. As a result of using the in-database procedures, more work is done inside the database and less data movement can occur. Using in-database procedures can result in significant performance improvements.
The UNIVARIATE procedure now produces graphs that conform to ODS styles, so that creating consistent output is easier. Also, you now have two methods for producing graphs. With traditional graphics, you can control every detail of a graph through familiar procedure syntax and the GOPTION and SYMBOL statements. With ODS Graphics (experimental for the UNIVARIATE procedure in SAS 9.2), you can obtain the highest quality output with minimal syntax. You also now have full compatibility with graphics that are produced by the SAS/STAT and SAS/ETS procedures.
The new UNIVARIATE procedure CDFPLOT statement plots the observed cumulative distribution function (cdf) of a variable and enables you to superimpose a fitted theoretical distribution on the graph. The new PPPLOT statement creates a probability-probability plot (also referred to as a P-P plot or percent plot). This statement compares the empirical cumulative distribution function (ecdf) of a variable with a specified theoretical cumulative distribution function. The beta, exponential, gamma, lognormal, normal, and Weibull distributions are available in both statements.
Documentation Enhancements |
The following Base SAS Procedures have had part or all of their documentation relocated to other SAS documents.
Documentation for the CV2VIEW procedure is now in the SAS/ACCESS for Relational Databases: Reference.
Documentation for the DBCSTAB procedure is now in the SAS National Language Support (NLS): Reference Guide.
The Base SAS Procedures Guide contains only overview and common syntax information for the EXPORT procedure. Information that is specific to PC Files is now in the SAS/ACCESS Interface to PC Files: Reference.
The Base SAS Procedures Guide contains only overview and common syntax information for the IMPORT procedure. Information that is specific to PC Files is now in the SAS/ACCESS Interface to PC Files: Reference.
Documentation for the TRANTAB procedure is now in the SAS National Language Support (NLS): Reference Guide.
Copyright © 2009 by SAS Institute Inc., Cary, NC, USA. All rights reserved.