Acknowledgments
Introducing SAS Software
About This Book
What’s New
Chapter 1 Getting Started Using SAS Software
1.1 The SAS Language
1.2 SAS Data Sets
1.3 DATA and PROC Steps
1.4 The DATA Step’s Built-in Loop
1.5 Choosing a Mode for Submitting SAS Programs
1.6 Windows and Commands in the SAS Windowing Environment
1.7 Submitting a Program in the SAS Windowing Environment
1.8 Reading the SAS Log
1.9 Viewing Your Results
1.10 SAS Data Libraries
1.11 Viewing Data Sets in the Viewtable Window
1.12 Viewing the Properties of Data Sets with SAS Explorer
1.13 Using SAS System Options
Chapter 2 Getting Your Data into SAS
2.1 Methods for Getting Your Data into SAS
2.2 Entering Data with the Viewtable Window
2.3 Reading Files with the Import Wizard
2.4 Telling SAS Where to Find Your Raw Data
2.5 Reading Raw Data Separated by Spaces
2.6 Reading Raw Data Arranged in Columns
2.7 Reading Raw Data Not in Standard Format
2.8 Selected Informats
2.9 Mixing Input Styles
2.10 Reading Messy Raw Data
2.11 Reading Multiple Lines of Raw Data per Observation
2.12 Reading Multiple Observations per Line of Raw Data
2.13 Reading Part of a Raw Data File
2.14 Controlling Input with Options in the INFILE Statement
2.15 Reading Delimited Files with the DATA Step
2.16 Reading Delimited Files with the IMPORT Procedure
2.17 Reading Excel Files with the IMPORT Procedure
2.18 Temporary versus Permanent SAS Data Sets
2.19 Using Permanent SAS Data Sets with LIBNAME Statements
2.20 Using Permanent SAS Data Sets by Direct Referencing
2.21 Listing the Contents of a SAS Data Set
Chapter 3 Working with Your Data
3.1 Creating and Redefining Variables
3.2 Using SAS Functions
3.3 Selected SAS Character Functions
3.4 Selected SAS Numeric Functions
3.5 Using IF-THEN Statements
3.6 Grouping Observations with IF-THEN/ELSE Statements
3.7 Subsetting Your Data
3.8 Working with SAS Dates
3.9 Selected Date Informats, Functions, and Formats
3.10 Using the RETAIN and Sum Statements
3.11 Simplifying Programs with Arrays
3.12 Using Shortcuts for Lists of Variable Names
Chapter 4 Sorting, Printing, and Summarizing Your Data
4.1 Using SAS Procedures
4.2 Subsetting in Procedures with the WHERE Statement
4.3 Sorting Your Data with PROC SORT
4.4 Changing the Sort Order for Character Data
4.5 Printing Your Data with PROC PRINT
4.6 Changing the Appearance of Printed Values with Formats
4.7 Selected Standard Formats
4.8 Creating Your Own Formats Using PROC FORMAT
4.9 Writing Simple Custom Reports
4.10 Summarizing Your Data Using PROC MEANS
4.11 Writing Summary Statistics to a SAS Data Set
4.12 Counting Your Data with PROC FREQ
4.13 Producing Tabular Reports with PROC TABULATE
4.14 Adding Statistics to PROC TABULATE Output
4.15 Enhancing the Appearance of PROC TABULATE Output
4.16 Changing Headers in PROC TABULATE Output
4.17 Specifying Multiple Formats for Data Cells in PROC
TABULATE Output
4.18 Producing Simple Output with PROC REPORT
4.19 Using DEFINE Statements in PROC REPORT
4.20 Creating Summary Reports with PROC REPORT
4.21 Adding Summary Breaks to PROC REPORT Output
4.22 Adding Statistics to PROC REPORT Output
4.23 Adding Computed Variables to PROC REPORT Output
4.24 Grouping Data in Procedures with User-Defined Formats
Chapter 5 Enhancing Your Output with ODS
5.1 Concepts of the Output Delivery System
5.2 Tracing and Selecting Procedure Output
5.3 Creating SAS Data Sets from Procedure Output
5.4 Creating Text Output
5.5 Creating HTML Output
5.6 Creating RTF Output
5.7 Creating PDF Output
5.8 Customizing Titles and Footnotes
5.9 Customizing PROC PRINT with the STYLE= Option
5.10 Customizing PROC REPORT with the STYLE= Option
5.11 Customizing PROC TABULATE with the STYLE= Option
5.12 Adding Traffic-Lighting to Your Output
5.13 Selected Style Attributes
Chapter 6 Modifying and Combining SAS Data Sets
6.1 Modifying a Data Set Using the SET Statement
6.2 Stacking Data Sets Using the SET Statement
6.3 Interleaving Data Sets Using the SET Statement
6.4 Combining Data Sets Using a One-to-One Match Merge
6.5 Combining Data Sets Using a One-to-Many Match Merge
6.6 Merging Summary Statistics with the Original Data
6.7 Combining a Grand Total with the Original Data
6.8 Updating a Master Data Set with Transactions
6.9 Writing Multiple Data Sets Using the OUTPUT Statement
6.10 Making Several Observations from One Using the
OUTPUT Statement
6.11 Using SAS Data Set Options
6.12 Tracking and Selecting Observations with the IN= Option
6.13 Selecting Observations with the WHERE= Option
6.14 Changing Observations to Variables Using PROC TRANSPOSE
6.15 Using SAS Automatic Variables
Chapter 7 Writing Flexible Code with the SAS Macro Facility
7.1 Macro Concepts
7.2 Substituting Text with Macro Variables
7.3 Concatenating Macro Variables with Other Text
7.4 Creating Modular Code with Macros
7.5 Adding Parameters to Macros
7.6 Writing Macros with Conditional Logic
7.7 Writing Data-Driven Programs with CALL SYMPUT
7.8 Debugging Macro Errors
Chapter 8 Visualizing Your Data
8.1 Concepts of ODS Graphics
8.2 Creating Bar Charts
8.3 Creating Histograms and Density Curves
8.4 Creating Box Plots
8.5 Creating Scatter Plots
8.6 Creating Series Plots
8.7 Creating Fitted Curves
8.8 Controlling Axes and Reference Lines
8.9 Controlling Legends and Insets
8.10 Customizing Graph Attributes
8.11 Creating Paneled Graphs
8.12 Specifying Image Properties and Saving Graphics Output
Chapter 9 Using Basic Statistical Procedures
9.1 Examining the Distribution of Data with PROC UNIVARIATE
9.2 Creating Statistical Graphics with PROC UNIVARIATE
9.3 Producing Statistics with PROC MEANS
9.4 Testing Means with PROC TTEST
9.5 Creating Statistical Graphics with PROC TTEST
9.6 Testing Categorical Data with PROC FREQ
9.7 Creating Statistical Graphics with PROC FREQ
9.8 Examining Correlations with PROC CORR
9.9 Creating Statistical Graphics with PROC CORR
9.10 Using PROC REG for Simple Regression Analysis
9.11 Creating Statistical Graphics with PROC REG
9.12 Using PROC ANOVA for One-Way Analysis of Variance
9.13 Reading the Output of PROC ANOVA
Chapter 10 Exporting Your Data
10.1 Methods for Exporting Your Data
10.2 Writing Files Using the Export Wizard
10.3 Writing Delimited Files with the EXPORT Procedure
10.4 Writing Microsoft Excel Files with the EXPORT Procedure
10.5 Writing Raw Data Files with the DATA Step
10.6 Writing Delimited and HTML Files Using ODS
Chapter 11 Debugging Your SAS Programs
11.1 Writing SAS Programs That Work
11.2 Fixing Programs That Don’t Work
11.3 Searching for the Missing Semicolon
11.4 Note: INPUT Statement Reached Past the End of a Line
11.5 Note: Lost Card
11.6 Note: Invalid Data
11.7 Note: Missing Values Were Generated
11.8 Note: Numeric Values Have Been Converted to
Character (or Vice Versa)
11.9 DATA Step Produces Wrong Results but No Error Message
11.10 Error: Invalid Option, Error: The Option Is Not
Recognized, or Error: Statement Is Not Valid
11.11 Note: Variable Is Uninitialized or Error:
Variable Not Found
11.12 SAS Truncates a Character Variable
11.13 SAS Stops in the Middle of a Program
11.14 SAS Runs Out of Memory or Disk Space
Appendix Coming to SAS from SQL
Index