Contents
About
SAS System Concepts
Essential Concepts of Base SAS Software
What Is SAS?
Overview of Base SAS Software
Components of the SAS Language
Ways to Run Your SAS Session
Customizing Your SAS Session
Conceptual Information about Base SAS Software
SAS Processing
Definition of SAS Processing
Types of Input to a SAS Program
The DATA Step
The PROC Step
Rules for Words and Names in the SAS Language
Words in the SAS Language
Names in the SAS Language
SAS Variables
Definition of SAS Variables
SAS Variable Attributes
Ways to Create Variables
Variable Type Conversions
Aligning Variable Values
Automatic Variables
SAS Variable Lists
Dropping, Keeping, and Renaming Variables
Numeric Precision in SAS Software
Missing Values
Definition of Missing Values
Creating Special Missing Values
Order of Missing Values
When Variable Values Are Automatically Set to Missing by SAS
When Missing Values Are Generated by SAS
Working with Missing Values
Expressions
Definitions for SAS Expressions
Examples of SAS Expressions
SAS Constants in Expressions
SAS Variables in Expressions
SAS Functions in Expressions
SAS Operators in Expressions
Dates, Times, and Intervals
About SAS Date, Time, and Datetime Values
About Date and Time Intervals
Error Processing and Debugging
Types of Errors in SAS
Error Processing in SAS
Debugging Logic Errors in the DATA Step
SAS Output
Definitions for SAS Output
Routing SAS Output
The SAS Log
Traditional SAS Listing Output
Changing the Destination of the Log and the Output
Output Delivery System
BY-Group Processing in SAS Programs
Definition of BY-Group Processing
References for BY-Group Processing
WHERE-Expression Processing
Definition of WHERE-Expression Processing
Where to Use a WHERE Expression
Syntax of WHERE Expression
Combining Expressions by Using Logical Operators
Improving Performance of WHERE Processing
Processing a Segment of Data That Is Conditionally Selected
Deciding Whether to Use a WHERE Expression or a Subsetting IF Statement
Optimizing System Performance
Definitions for Optimizing System Performance
Collecting and Interpreting Performance Statistics
Techniques for Optimizing I/O
Techniques for Optimizing Memory Usage
Techniques for Optimizing CPU Performance
Calculating Data Set Size
Support for Parallel Processing
Definition of Parallel Processing
Threaded I/O
Threaded Application Processing
Monitoring Performance Using Application Response Measurement (ARM)
What Is ARM?
The SAS Registry
Introduction to the SAS Registry
Managing the SAS Registry
Configuring Your Registry
Printing with SAS
Universal Printing
Managing Printing Tasks with the Universal Printing User Interface
Configuring Universal Printing with Programming Statements
Forms Printing
Using TrueType Fonts with Universal Printers and SAS/GRAPH Devices in SAS 9.2
Creating Scalable Vector Graphics Using Universal Printing
Creating Portable Network Graphics Using Universal Printing
Windowing Environment Concepts
Introduction to the SAS Windowing Environment
What Is the SAS Windowing Environment?
Main Windows in the SAS Windowing Environment
Navigating in the SAS Windowing Environment
Getting Help in SAS
List of SAS Windows and Window Commands
Managing Your Data in the SAS Windowing Environment
Introduction to Managing Your Data in the SAS Windowing Environment
Managing Data with SAS Explorer
Working with VIEWTABLE
Subsetting Data by Using the WHERE Expression
Exporting a Subset of Data
Importing Data into a Table
DATA Step Concepts
DATA Step Processing
Why Use a DATA Step?
Overview of DATA Step Processing
Processing a DATA Step: A Walkthrough
About DATA Step Execution
About Creating a SAS Data Set with a DATA Step
Writing a Report with a DATA Step
The DATA Step and ODS
Reading Raw Data
Definition of Reading Raw Data
Ways to Read Raw Data
Types of Data
Sources of Raw Data
Reading Raw Data with the INPUT Statement
How SAS Handles Invalid Data
Reading Missing Values in Raw Data
Reading Binary Data
Reading Column-Binary Data
BY-Group Processing in the DATA Step
Definitions for BY-Group Processing
Syntax for BY-Group Processing
Understanding BY Groups
Invoking BY-Group Processing
Determining Whether the Data Requires Preprocessing for BY-Group Processing
Preprocessing Input Data for BY-Group Processing
How the DATA Step Identifies BY Groups
Processing BY-Groups in the DATA Step
Reading, Combining, and Modifying SAS Data Sets
Definitions for Reading, Combining, and Modifying SAS Data Sets
Overview of Tools
Reading SAS Data Sets
Combining SAS Data Sets: Basic Concepts
Combining SAS Data Sets: Methods
Error Checking When Using Indexes to Randomly Access or Update Data
Using DATA Step Component Objects
Introduction to DATA Step Component Objects
Using the Hash Object
Using the Hash Iterator Object
Using the Java Object
Array Processing
Definitions for Array Processing
A Conceptual View of Arrays
Syntax for Defining and Referencing an Array
Processing Simple Arrays
Variations on Basic Array Processing
Multidimensional Arrays: Creating and Processing
Specifying Array Bounds
Examples of Array Processing
SAS Files Concepts
SAS Libraries
Definition of a SAS Library
Library Engines
Library Names
Library Concatenation
Permanent and Temporary Libraries
SAS System Libraries
Sequential Data Libraries
Tools for Managing Libraries
SAS Data Sets
Definition of a SAS Data Set
Descriptor Information for a SAS Data Set
Data Set Names
Data Set Lists
Special SAS Data Sets
Sorted Data Sets
Tools for Managing Data Sets
Viewing and Editing SAS Data Sets
SAS Data Files
Definition of a SAS Data File
Differences between Data Files and SAS Views
Understanding an Audit Trail
Understanding Generation Data Sets
Understanding Integrity Constraints
Understanding SAS Indexes
Compressing Data Files
SAS Views
Definition of SAS Views
Benefits of Using SAS Views
When to Use SAS Views
DATA Step Views
PROC SQL Views
Comparing DATA Step and PROC SQL Views
SAS/ACCESS Views
Stored Compiled DATA Step Programs
Definition of a Stored Compiled DATA Step Program
Uses for Stored Compiled DATA Step Programs
Restrictions and Requirements for Stored Compiled DATA Step Programs
How SAS Processes Stored Compiled DATA Step Programs
Creating a Stored Compiled DATA Step Program
Executing a Stored Compiled DATA Step Program
Differences between Stored Compiled DATA Step Programs and DATA Step Views
Examples of DATA Step Programs
DICTIONARY Tables
Definition of a DICTIONARY Table
How to View DICTIONARY Tables
SAS Catalogs
Definition of a SAS Catalog
SAS Catalog Names
Tools for Managing SAS Catalogs
Profile Catalog
Catalog Concatenation
About SAS/ACCESS Software
Definition of SAS/ACCESS Software
Dynamic LIBNAME Engine
SQL Procedure Pass-Through Facility
ACCESS Procedure and Interface View Engine
DBLOAD Procedure
Interface DATA Step Engine
Processing Data Using Cross-Environment Data Access (CEDA)
Definition of Cross-Environment Data Access (CEDA)
Advantages of CEDA
SAS File Processing with CEDA
Alternatives to Using CEDA
Creating Files in a Foreign Data Representation
Examples of Using CEDA
SAS 9.2 Compatibility with SAS Files from Earlier Releases
Introduction to Version Compatibility
Comparing SAS System 9 to Earlier Releases
Using SAS Library Engines
File Protection
Definition of a Password
Assigning Passwords
Removing or Changing Passwords
Using Password-Protected SAS Files in DATA and PROC Steps
How SAS Handles Incorrect Passwords
Assigning Complete Protection with the PW= Data Set Option
Encoded Passwords
Using Passwords with Views
SAS Data File Encryption
SAS Engines
Definition of a SAS Engine
Specifying an Engine
How Engines Work with SAS Files
Engine Characteristics
About Library Engines
Special-Purpose Engines
SAS File Management
Improving Performance of SAS Applications
Moving SAS Files between Operating Environments
Repairing Damaged SAS Files
External Files
Definition of External Files
Referencing External Files Directly
Referencing External Files Indirectly
Referencing Many External Files Efficiently
Referencing External Files with Other Access Methods
Working with External Files
Industry Protocols Used in SAS
The SMTP E-Mail Interface
Sending E-Mail through SMTP
System Options That Control SMTP E-Mail
Statements That Control SMTP E-mail
Universal Unique Identifiers
Universal Unique Identifiers and the Object Spawner
Using SAS Language Elements to Assign UUIDs
IPv6
Overview of IPv6
IPv6 Address Format
Examples of IPv6 Addresses
Fully Qualified Domain Names (FQDN)
Appendix
Recommended Reading
Product
Release
Base SAS
9.2
Type
Usage and Reference
Copyright Date
May 2010
Last Updated
11Feb2010