What's New Table of Contents |
New and enhanced features in Base SAS save you time, effort, and system resources by providing faster processing and easier data access and management, more robust analysis, and improved data presentation.
Note:
Application Response Measurement (ARM) enables you to monitor the availability and performance of transactions within and across diverse applications. The SAS ARM interface consists of the implementation of the ARM API as ARM macros and an ARM agent. An ARM agent generates calls to the ARM macros. New ARM system options enable you to manage the ARM environment and to log internal SAS processing transactions.
CEDA processes SAS files that were created on a different host. This is especially useful if you have upgraded from a 32-bit platform to a 64-bit platform. Messages in the SAS log notify you when CEDA is being used to process a SAS file. See "Processing Data Using Cross-Environment Data Access (CEDA)" in SAS Language Reference: Concepts.
SAS now provides two pre-defined component objects for use in a DATA step: the hash object and the hash iterator object. These objects enable you to quickly and efficiently store, search, and retrieve data based on lookup keys.
The DATA step component object interface enables you to create and manipulate these component objects by using statements, attributes, and methods. You use the DATA step object dot notation to access the component object's attributes and methods.
The hash and hash iterator objects have one attribute, fourteen methods, and two statements associated with them. See DATA Step Object Attributes and Methods.
When creating an index that requires sorting, SAS tries to sort the data by using the thread-enabled sort. By dividing the sorting task into separately executable processes, the time that is required to sort the data can be reduced. See the topic "Creating an Index" in Understanding SAS Indexes in SAS Language Reference: Concepts.
Variables in a SAS data file can now be part of both a primary key (general integrity constraint) and a foreign key (referential integrity constraint). However, there are restrictions when defining a primary key constraint and a foreign key constraint that use the same variables. See the topic "Overlapping Primary Key and Foreign Key Constraints" in Understanding Integrity Constraints in SAS Language Reference: Concepts.
System administrators can restrict system options from being modified by a user. You can use the RESTRICT option in the OPTIONS procedure to list the restricted options. The implementation of restricted options is specific to the operating environment. For details about how to restrict options, see the configuration guide for your operating environment. For information about listing restricted options, see the OPTIONS procedure in the Base SAS Procedures Guide.
The SAS utility macro, %DS2CSV, is available now in Base SAS. This macro converts SAS data sets to comma-separated values (CSV) files. Prior to SAS 9.1, this macro was available only for SAS/IntrNet users.
A Universal Unique Identifier (UUID) is a 128-bit identifier that consists of date and time information, and the IEEE node address of a host. UUIDs are useful when objects such as rows or other components of a SAS application must be uniquely identified. For more information, see Universal Unique Identifiers in SAS Language Reference: Concepts.
Descriptions of the new and enhanced language elements for national language support can be found in What's New for SAS 9.0 and 9.1 National Language Support in the SAS National Language Support (NLS): User's Guide.
determines the size of the view buffer for processing a DATA step view.
specifies whether to create a spill file for non-sequential processing of a DATA step view.
supports the same syntax as the BUFNO= system option in order to specify the number of buffers to be allocated for processing a SAS data set.
supports the same syntax as the BUFSIZE= system option in order to specify the permanent buffer page size for an output SAS data set.
supports the same syntax as the FIRSTOBS= system option in order to specify which observation SAS processes first.
supports the same syntax as the OBS= system option in order to specify when to stop processing observations.
writes date values in the form mmM<yy>yy, where M is the separator and the year is written in either 2 or 4 digits.
produces percentages, using a minus sign for negative values.
writes date values in the form <yy>yyMmm, where the year is written in either 2 or 4 digits and M is the separator.
writes date values in the form <yy>yyQq, where the year is written in either 2 or 4 digits, Q is the separator, and Q is the quarter of the year.
writes date values in the form <yy>yyQqr, where the year is written in either 2 or 4 digits, Q is the separator, and QR is the quarter of the year expressed in Roman numerals.
New functions and CALL routines include character, mathematical, descriptive statistical, and special functions, and character-string matching functions that can use PERL expressions.
searches a character string for an alphanumeric character and returns the first position at which it is found.
searches a character string for an alphabetic character and returns the first position at which it is found.
searches a character string for a control character and returns the first position at which it is found.
searches a character string for a digit and returns the first position at which it is found.
searches a character string for a character that is valid as the first character in a SAS variable name under VALIDVARNAME=V7, and returns the first position at which that character is found.
searches a character string for a graphical character and returns the first position at which it is found.
searches a character string for a lowercase letter and returns the first position at which it is found.
searches a character string for a character that is valid in a SAS variable name under VALIDVARNAME=V7, and returns the first position at which that character is found.
searches a character string for a printable character and returns the first position at which it is found.
searches a character string for a punctuation character and returns the first position at which it is found.
searches a character string for a white-space character (blank, horizontal tab, vertical tab, carriage return, line feed, or form feed), and returns the first position at which it is found.
searches a character string for an uppercase letter and returns the first position at which it is found.
searches a character string for a hexadecimal character that represents a digit and returns the first position at which that character is found.
concatenates character strings without removing leading or trailing blanks.
concatenates character strings and removes leading and trailing blanks.
concatenates character strings and removes trailing blanks only.
concatenates character strings, removes leading and trailing blanks, and inserts separators.
returns a character value that represents the results of choosing from a list of arguments.
returns a numeric value that represents the results of choosing from a list of arguments.
returns the position of the left-most character by which two strings differ, or returns 0 if there is no difference.
compares two strings by computing the generalized edit distance.
compares two strings by computing the Levenshtein edit distance.
counts the number of times that a specific substring of characters appears within a character string that you specify.
counts the number of specific characters that either appear or do not appear within a character string that you specify.
searches for a specific substring of characters within a character string that you specify.
searches for specific characters that either appear or do not appear within a character string that you specify.
returns a character value that matches an expression.
returns a numeric value that matches an expression.
returns the length of a character string, including trailing blanks.
returns the amount of memory (in bytes) that is allocated for a character string.
returns the length of a non-blank character string, excluding trailing blanks, and returns 0 for a blank character string.
converts a character string that you specify to a SAS name literal (n-literal).
searches a character string for a non-alphanumeric character and returns the first position at which it is found.
searches a character string for a non-alphabetic character and returns the first position at which it is found.
searches a character string for a character that is not a control character and returns the first position at which it is found.
searches a character string for any character that is not a digit and returns the first position at which that character is found.
searches a character string for an invalid first character in a SAS variable name under VALIDVARNAME=V7, and returns the first position at which that character is found.
searches a character string for a non-graphical character and returns the first position at which it is found.
searches a character string for a character that is not a lowercase letter and returns the first position at which that character is found.
searches a character string for an invalid character in a SAS variable name under VALIDVARNAME=V7, and returns the first position at which that character is found.
searches a character string for a non-printable character and returns the first position at which it is found.
searches a character string for a character that is not a punctuation character and returns the first position at which it is found.
searches a character string for a character that is not a white-space character (blank, horizontal tab, vertical tab, carriage return, line feed, or form feed), and returns the first position at which it is found.
searches a character string for a character that is not an uppercase letter and returns the first position at which that character is found.
searches a character string for a character that is not a hexadecimal digit and returns the first position at which that character is found.
checks a character string for validity for use as a SAS variable name in a SAS statement.
converts all words in an argument to proper case.
performs a pattern-matching replacement.
returns the value for a capture buffer.
returns the th word from a character expression and ignores delimiters that are enclosed in quotation marks.
returns a character string with all leading and trailing blanks removed.
returns a substring that has a length you specify, using blank padding if necessary.
returns a substring that allows a result with a length of 0.
returns the geometric mean.
returns the geometric mean without fuzzing the values of the arguments that are approximately 0.
returns the harmonic mean.
returns the harmonic mean without fuzzing the values of the arguments that are approximately 0.
returns the interquartile range.
returns the kth largest non-missing value.
returns the median absolute deviation from the median.
computes median values.
returns the remainder from the division of the first argument by the second argument; uses 0 fuzzing.
computes percentiles.
returns the root mean square.
returns the kth smallest non-missing value.
creates an external directory.
indicates the existence of a macro variable.
indicates whether a macro variable has global scope in the DATA step during DATA step execution.
indicates whether a macro variable has local scope in the DATA step during DATA step execution.
returns the value of the beta function.
returns the first non-missing value from a list of numeric arguments.
returns the first non-missing value from a list of character arguments.
returns the logarithm of the beta function.
returns the logarithm of a left cumulative distribution function.
returns the quantile from the specified distribution.
returns the short or the binary form of a Universal Unique Identifier (UUID).
returns a city name and the two-character postal code that corresponds to a ZIP code.
returns the arc tangent of two numeric variables.
returns the smallest integer that is greater than or equal to the argument; uses 0 fuzzing.
returns the largest integer that is less than or equal to the argument; uses 0 fuzzing.
returns the integer portion of the argument; uses 0 fuzzing.
rounds the first argument to the nearest multiple of the second argument, or to the nearest integer when the second argument is omitted.
rounds the first argument to the nearest multiple of the second argument, and returns an even multiple when the first argument is halfway between the two nearest multiples.
rounds the first argument to the nearest multiple of the second argument; uses 0 fuzzing.
returns the formatted value that is associated with the variable that you specify.
returns the formatted value that is associated with the argument that you specify.
searches for a pattern match and returns the position at which the pattern is found.
returns the last bracket match for which there is a match in a pattern.
compiles a Perl regular expression that can be used for pattern-matching a character value.
performs a pattern-matching substitution.
enables Perl regular expressions in a DATA step to send debug output to the SAS log.
frees unneeded memory that was allocated for a Perl regular expression.
returns the position and length of a substring that matches a pattern and iterates over multiple matches within one string.
returns the start position and length for a capture buffer.
returns the position and length of a substring that matches a pattern.
generates all permutations of the values of several variables.
concatenates character strings and removes leading and trailing blanks.
concatenates character strings and removes trailing blanks only.
concatenates character strings, removes leading and trailing blanks, and inserts separators.
sets the costs of operations for later use by the COMPGED function.
returns the logistic value of each argument.
assigns a missing value to specified character or numeric variables.
randomly permutes the values of the arguments and returns a permutation of k out of n values.
randomly permutes the values of the arguments.
returns the position and length of a given word in a character expression.
returns the position and length of a given word in a character expression, and ignores delimiters that are enclosed in quotation marks.
returns the softmax value for each argument.
standardizes the values of one or more variables.
specifies a seed value to use for subsequent random number generation by the RAND function.
assigns a value to a macro variable and removes both leading and trailing blanks.
returns the hyperbolic tangent of each argument.
returns the name, type, and length of a variable that is used in a DATA step.
accepts a third optional argument that can modify the characters in the second argument.
accepts all SAS data library type members. A third optional argument enables you to specify a generation data set number.
accepts a third optional argument that enables you to use delimiters for inter-word boundaries.
accepts an argument that enables you to use a Perl regular expression.
assigns a length of 8 to an undeclared variable when the function is compiled.
extracts date values from DATE, DATETIME, DDMMYY, JULIAN, MMDDYY, MONYY, TIME, or YYQ informat values.
extracts datetime values from DATE, DATETIME, DDMMYY, JULIAN, MMDDYY, MONYY, TIME, or YYQ informat values.
extracts time values from DATE, DATETIME, DDMMYY, JULIAN, MMDDYY, MONYY, TIME, or YYQ informat values.
reads time values and determines whether the values are hours, minutes, or seconds; reads the output of the STIMER system option.
%ARMCONV, the new ARM macro, converts an ARM log that is created in SAS 9.0 and later, which uses a simple format, into the ARM log format that is used in SAS 8.2, which is more detailed.
%DS2CSV, the new SAS utility macro, converts SAS data sets to comma-separated values (CSV) files.
control different features of the Output Delivery System. For more information about these statements, see the SAS Output Delivery System: User's Guide.
associates a libref with a SAS library on a WebDAV server.
Beginning with SAS 9.1.3 Service Pack 4, the following option is new:
specifies the Uniform Resource Locator (URL) for the proxy server.
enables you to read text data from and write text data to the clipboard on the host machine.
Enables you to access remote files by using the WebDAV protocol.
declares a DATA step component object; creates an instance of and initializes data for a DATA step component object.
creates an instance of a DATA step component object.
writes a message to the SAS log.
supports directory services and multiple FTP service commands.
supports Secure Sockets Layering (SSL).
the following options are new:
controls the compression of observations in output SAS data sets in a SAS data library.
specifies the number of bytes to use in order to expand character variable lengths when processing a SAS data set that requires transcoding.
specifies which engine to use in order to process character variable lengths in a SAS data set that requires transcoding.
specifies the multiplier value to use in order to expand character variable lengths when processing a SAS data set that requires transcoding.
overrides the encoding for input processing.
overrides the encoding for output processing.
specifies an ARM agent, which is an executable module that contains a vendor's implementation of the ARM API.
specifies the location of the ARM log.
enables and disables the ARM subsystems that determine which internal SAS processing transactions should be logged.
associates a domain suffix with an authentication provider.
specifies the location of the Program Editor autosave file.
specifies whether observations in one or more data sets are sorted in alphabetical or numerical order or are grouped in another logical order.
specifies one or more SAS catalogs that contain compiler subroutines that should be included during program compilation.
specifies which type of code generation optimizations should be used in the SAS language compiler.
specifies the number of processors that the thread-enabled applications should assume are available for concurrent processing.
specifies the maximum number of rows that can be displayed in the Log window in the SAS windowing environment.
specifies the maximum number of rows that can be displayed in the Output window in the SAS windowing environment .
enables syntax checking for multiple steps in the SAS windowing environment.
updates the date and the time in the SAS log and in the listing file.
specifies the authentication protocol for SMTP e-mail.
specifies the identity of the individual who is sending e-mail from within SAS.
specifies your e-mail login password.
specifies how SAS responds to BY-group error conditions.
specifies the location that contains the SAS fonts that are loaded by a printer to use with Universal Printing.
specifies whether SAS uses the English version or the translated version of the keyword list for the command-line Help.
specifies the buffer page size for an index file.
controls when SAS log files are opened and closed and (in conjunction with the LOG= system option) how they are named.
identifies which resources should be assigned at SAS initialization.
identifies which named connection from the metadata user profiles should be used as the default value for logging into the SAS Metadata Server.
specifies which type of encryption should be used when communicating with a SAS Metadata Server.
specifies what should be encrypted when communicating with a SAS Metadata Server.
identifies the current SAS version that is installed on the SAS Metadata Server.
specifies the default password for the SAS Metadata Server.
specifies the TCP port for the SAS Metadata Server.
specifies which file contains the SAS Metadata Server user profiles.
specifies which network protocol should be used for communicating with the SAS Metadata Server.
specifies which default SAS Metadata Repository should be used on the SAS Metadata Server.
specifies the address of the SAS Metadata Server.
specifies the default user ID for logging on to the SAS Metadata Server.
begins the SAS log and listing files on a new page.
specifies that SAS write a warning to the SAS log about the maximum length that can be used for strings that are enclosed in quotation marks.
controls the order in which PROC SORT arranges observations that have identical BY values in the output data set.
specifies the font for the current default printer.
specifies whether to validate SAS program syntax.
specifies which SAS statements should be executed when the SAS session is terminated.
specifies the location of textures and images that are used by ODS styles.
specifies that SAS use threaded processing if it is available.
specifies whether to include or to suppress the Tools menu in windows that display SAS menus.
specifies the number of UUIDs that should be acquired each time the UUID Generator Daemon is used.
identifies the host and the port for the UUID Generator Daemon.
specifies a set of file system locations in which applications can store utility files.
specifies the length of format and informat names that can be used when creating new SAS data sets and format catalogs.
specifies whether to include or to suppress the View menu in windows that display menus.
controls or monitors the creation of new, version 6 SAS data sets or the updating of existing, version 6 SAS data sets.
specifies which type of code generation optimizations should be used in the SAS language compiler.
specifies the amount of memory that is available when using the SORT procedure.