PART 1 SQL Processing with SAS
Chapter 1 • Performing Queries Using PROC SQL
Specifying Subsetting Criteria
Chapter 2 • Performing Advanced Queries Using PROC SQL
Viewing SELECT Statement Syntax
Limiting the Number of Rows Displayed
Eliminating Duplicate Rows from Output
Subsetting Rows by Using Conditional Operators
Subsetting Rows by Using Calculated Values
Subsetting Data by Using Subqueries
Subsetting Data by Using Noncorrelated Subqueries
Subsetting Data by Using Correlated Subqueries
Chapter 3 • Combining Tables Horizontally Using PROC SQL
Generating a Cartesian Product
Creating an Inner Join with Outer Join-Style Syntax
Comparing SQL Joins and DATA Step Match-Merges
Joining Multiple Tables and Views
Chapter 4 • Combining Tables Vertically Using PROC SQL
Using the INTERSECT Set Operator
Using the OUTER UNION Set Operator
Comparing Outer Unions and Other SAS Techniques
Chapter 5 • Creating and Managing Tables Using PROC SQL
Understanding Methods of Creating Tables
Creating an Empty Table by Defining Columns
Displaying the Structure of a Table
Creating an Empty Table That Is like Another Table
Creating a Table from a Query Result
Inserting Rows of Data into a Table
Creating a Table That Has Integrity Constraints
Handling Errors in Row Insertions
Displaying Integrity Constraints for a Table
Updating Values in Existing Table Rows
Chapter 6 • Creating and Managing Indexes Using PROC SQL
Deciding Whether to Create an Index
Displaying Index Specifications
Chapter 7 • Creating and Managing Views Using PROC SQL
Creating and Using PROC SQL Views
Displaying the Definition for a PROC SQL View
Chapter 8 • Managing Processing Using PROC SQL
Testing and Evaluating Performance
Chapter 9 • Introducing Macro Variables
Using Automatic Macro Variables
Using User-Defined Macro Variables
Displaying Macro Variable Values in the SAS Log
Using Macro Functions to Mask Special Characters
Using Macro Functions to Manipulate Character Strings
Using SAS Functions with Macro Variables
Combining Macro Variable References with Text
Chapter 10 • Processing Macro Variables at Execution Time
Creating a Macro Variable During DATA Step Execution
Creating Multiple Macro Variables During DATA Step Execution
Referencing Macro Variables Indirectly
Obtaining Macro Variable Values During DATA Step Execution
Creating Macro Variables During PROC SQL Step Execution
Using Macro Variables in SCL Programs
Chapter 11 • Creating and Using Macro Programs
Developing and Debugging Macros
Processing Statements Conditionally
Processing Statements Iteratively
Using Arithmetic and Logical Expressions
Chapter 12 • Storing Macro Programs
Understanding Session-Compiled Macros
Storing Macro Definitions in External Files
Storing Macro Definitions in Catalog SOURCE Entries
PART 3 Advanced SAS Programming Techniques
Chapter 13 • Creating Samples and Indexes
Creating a Systematic Sample from a Known Number of Observations
Creating a Systematic Sample from an Unknown Number of Observations
Creating a Random Sample with Replacement
Creating a Random Sample without Replacement
Creating Indexes in the DATA Step
Managing Indexes with PROC DATASETS
Managing Indexes with PROC SQL
Documenting and Maintaining Indexes
Chapter 14 • Combining Data Vertically
Chapter 15 • Combining Data Horizontally
Working with Lookup Values Outside of SAS Data Sets
Combining Data with the DATA Step Match-Merge
Comparing DATA Step Match-Merges and PROC SQL Joins
Combining Summary Data and Detail Data
Using an Index to Combine Data
Using a Transactional Data Set
Chapter 16 • Using Lookup Tables to Match Data
Merging the Transposed Data Set
Using Hash Objects as Lookup Tables
Creating Custom Formats Using the VALUE Statement
Creating Custom Formats Using the PICTURE Statement
Creating Formats from SAS Data Sets
Creating SAS Data Sets from Custom Formats
Chapter 18 • Modifying SAS Data Sets and Tracking Changes
Modifying All Observations in a SAS Data Set
Modifying Observations Using a Transaction Data Set
Modifying Observations Located by an Index
Controlling the Update Process
Understanding Integrity Constraints
Placing Integrity Constraints on a Data Set
Documenting Integrity Constraints
Removing Integrity Constraints
Initiating and Reading Audit Trails
Controlling Data in the Audit Trail
Understanding Generation Data Sets
Initiating Generation Data Sets
Processing Generation Data Sets
PART 4 Optimizing SAS Programs
Chapter 19 • Introduction to Efficient SAS Programming
Overview of Computing Resources
Assessing Efficiency Needs at Your Site
Understanding Efficiency Trade-offs
Using SAS System Options to Track Resources
Using Benchmarks to Compare Techniques
Chapter 20 • Controlling Memory Usage
Controlling Page Size and the Number of Buffers
Chapter 21 • Controlling Data Storage Space
Reducing Data Storage Space for Character Variables
Reducing Data Storage Space for Numeric Variables
Using SAS DATA Step Views to Conserve Data Storage Space
Chapter 22 • Using Best Practices
Executing Only Necessary Statements
Eliminating Unnecessary Passes through the Data
Reading and Writing Only Essential Data
Avoiding Unnecessary Procedure Invocation
Chapter 23 • Selecting Efficient Sorting Strategies
Calculating and Allocating Sort Resources
Removing Duplicate Observations Efficiently
Chapter 24 • Querying Data Efficiently
Using an Index for Efficient WHERE Processing
Identifying Conditions That Can Be Optimized
Estimating the Number of Observations
Comparing Probable Resource Usage
Deciding Whether to Create an Index
Comparing Procedures That Produce Detail Reports
Comparing Tools for Summarizing Data
Chapter 1: Performing Queries Using PROC SQL
Chapter 2: Performing Advanced Queries Using PROC SQL
Chapter 3: Combining Tables Horizontally Using PROC SQL
Chapter 4: Combining Tables Vertically Using PROC SQL
Chapter 5: Creating and Managing Tables Using PROC SQL
Chapter 6: Creating and Managing Indexes Using PROC SQL
Chapter 7: Creating and Managing Views Using PROC SQL
Chapter 8: Managing Processing Using PROC SQL
Chapter 9: Introducing Macro Variables
Chapter 10: Processing Macro Variables at Execution Time
Chapter 11: Creating and Using Macro Programs
Chapter 12: Storing Macro Programs
Chapter 13: Creating Samples and Indexes
Chapter 14: Combining Data Vertically
Chapter 15: Combining Data Horizontally
Chapter 16: Using Lookup Tables to Match Data
Chapter 18: Modifying SAS Data Sets and Tracking Changes
Chapter 19: Introduction to Efficient SAS Programming
Chapter 20: Controlling Memory Usage
Chapter 21: Controlling Data Storage Space
Chapter 22: Using Best Practices
Chapter 23: Selecting Efficient Sorting Strategies