Acknowledgments |
|
ix | |
Introducing SAS Software |
|
x | |
About This Book |
|
xi | |
What's New |
|
xiv | |
|
Chapter 1 Getting Started Using SAS Software |
|
|
1 | (28) |
|
|
2 | (2) |
|
|
4 | (2) |
|
|
6 | (2) |
|
1.4 The DATA Step's Built-in Loop |
|
|
8 | (2) |
|
1.5 Choosing a Mode for Submitting SAS Programs |
|
|
10 | (2) |
|
1.6 Windows and Commands in the SAS Windowing Environment |
|
|
12 | (2) |
|
1.7 Submitting a Program in the SAS Windowing Environment |
|
|
14 | (2) |
|
|
16 | (2) |
|
|
18 | (2) |
|
|
20 | (2) |
|
1.11 Viewing Data Sets in the Viewtable Window |
|
|
22 | (2) |
|
1.12 Viewing the Properties of Data Sets with SAS Explorer |
|
|
24 | (2) |
|
1.13 Using SAS System Options |
|
|
26 | (3) |
|
Chapter 2 Getting Your Data into SAS |
|
|
29 | (44) |
|
2.1 Methods for Getting Your Data into SAS |
|
|
30 | (2) |
|
2.2 Entering Data with the Viewtable Window |
|
|
32 | (2) |
|
2.3 Reading Files with the Import Wizard |
|
|
34 | (2) |
|
2.4 Telling SAS Where to Find Your Raw Data |
|
|
36 | (2) |
|
2.5 Reading Raw Data Separated by Spaces |
|
|
38 | (2) |
|
2.6 Reading Raw Data Arranged in Columns |
|
|
40 | (2) |
|
2.7 Reading Raw Data Not in Standard Format |
|
|
42 | (2) |
|
|
44 | (2) |
|
|
46 | (2) |
|
2.10 Reading Messy Raw Data |
|
|
48 | (2) |
|
2.11 Reading Multiple Lines of Raw Data per Observation |
|
|
50 | (2) |
|
2.12 Reading Multiple Observations per Line of Raw Data |
|
|
52 | (2) |
|
2.13 Reading Part of a Raw Data File |
|
|
54 | (2) |
|
2.14 Controlling Input with Options in the INFILE Statement |
|
|
56 | (2) |
|
2.15 Reading Delimited Files with the DATA Step |
|
|
58 | (2) |
|
2.16 Reading Delimited Files with the IMPORT Procedure |
|
|
60 | (2) |
|
2.17 Reading Excel Files with the IMPORT Procedure |
|
|
62 | (2) |
|
2.18 Temporary versus Permanent SAS Data Sets |
|
|
64 | (2) |
|
2.19 Using Permanent SAS Data Sets with LIBNAME Statements |
|
|
66 | (2) |
|
2.20 Using Permanent SAS Data Sets by Direct Referencing |
|
|
68 | (2) |
|
2.21 Listing the Contents of a SAS Data Set |
|
|
70 | (3) |
|
Chapter 3 Working with Your Data |
|
|
73 | (26) |
|
3.1 Creating and Redefining Variables |
|
|
74 | (2) |
|
|
76 | (2) |
|
3.3 Selected SAS Character Functions |
|
|
78 | (2) |
|
3.4 Selected SAS Numeric Functions |
|
|
80 | (2) |
|
3.5 Using IF-THEN Statements |
|
|
82 | (2) |
|
3.6 Grouping Observations with IF-THEN/ELSE Statements |
|
|
84 | (2) |
|
|
86 | (2) |
|
3.8 Working with SAS Dates |
|
|
88 | (2) |
|
3.9 Selected Date Informats, Functions, and Formats |
|
|
90 | (2) |
|
3.10 Using the RETAIN and Sum Statements |
|
|
92 | (2) |
|
3.11 Simplifying Programs with Arrays |
|
|
94 | (2) |
|
3.12 Using Shortcuts for Lists of Variable Names |
|
|
96 | (3) |
|
Chapter 4 Sorting, Printing, and Summarizing Your Data |
|
|
99 | (50) |
|
|
100 | (2) |
|
4.2 Subsetting in Procedures with the WHERE Statement |
|
|
102 | (2) |
|
4.3 Sorting Your Data with PROC SORT |
|
|
104 | (2) |
|
4.4 Changing the Sort Order for Character Data |
|
|
106 | (2) |
|
4.5 Printing Your Data with PROC PRINT |
|
|
108 | (2) |
|
4.6 Changing the Appearance of Printed Values with Formats |
|
|
110 | (2) |
|
4.7 Selected Standard Formats |
|
|
112 | (2) |
|
4.8 Creating Your Own Formats Using PROC FORMAT |
|
|
114 | (2) |
|
4.9 Writing Simple Custom Reports |
|
|
116 | (2) |
|
4.10 Summarizing Your Data Using PROC MEANS |
|
|
118 | (2) |
|
4.11 Writing Summary Statistics to a SAS Data Set |
|
|
120 | (2) |
|
4.12 Counting Your Data with PROC FREQ |
|
|
122 | (2) |
|
4.13 Producing Tabular Reports with PROC TABULATE |
|
|
124 | (2) |
|
4.14 Adding Statistics to PROC TABULATE Output |
|
|
126 | (2) |
|
4.15 Enhancing the Appearance of PROC TABULATE Output |
|
|
128 | (2) |
|
4.16 Changing Headers in PROC TABULATE Output |
|
|
130 | (2) |
|
4.17 Specifying Multiple Formats for Data Cells in PROC TABULATE Output |
|
|
132 | (2) |
|
4.18 Producing Simple Output with PROC REPORT |
|
|
134 | (2) |
|
4.19 Using DEFINE Statements in PROC REPORT |
|
|
136 | (2) |
|
4.20 Creating Summary Reports with PROC REPORT |
|
|
138 | (2) |
|
4.21 Adding Summary Breaks to PROC REPORT Output |
|
|
140 | (2) |
|
4.22 Adding Statistics to PROC REPORT Output |
|
|
142 | (2) |
|
4.23 Adding Computed Variables to PROC REPORT Output |
|
|
144 | (2) |
|
4.24 Grouping Data in Procedures with User-Defined Formats |
|
|
146 | (3) |
|
Chapter 5 Enhancing Your Output with ODS |
|
|
149 | (28) |
|
5.1 Concepts of the Output Delivery System |
|
|
150 | (2) |
|
5.2 Tracing and Selecting Procedure Output |
|
|
152 | (2) |
|
5.3 Creating SAS Data Sets from Procedure Output |
|
|
154 | (2) |
|
|
156 | (2) |
|
|
158 | (2) |
|
|
160 | (2) |
|
|
162 | (2) |
|
5.8 Customizing Titles and Footnotes |
|
|
164 | (2) |
|
5.9 Customizing PROC PRINT with the STYLE= Option |
|
|
166 | (2) |
|
5.10 Customizing PROC REPORT with the STYLE= Option |
|
|
168 | (2) |
|
5.11 Customizing PROC TABULATE with the STYLE= Option |
|
|
170 | (2) |
|
5.12 Adding Traffic-Lighting to Your Output |
|
|
172 | (2) |
|
5.13 Selected Style Attributes |
|
|
174 | (3) |
|
Chapter 6 Modifying and Combining SAS Data Sets |
|
|
177 | (32) |
|
6.1 Modifying a Data Set Using the SET Statement |
|
|
178 | (2) |
|
6.2 Stacking Data Sets Using the SET Statement |
|
|
180 | (2) |
|
6.3 Interleaving Data Sets Using the SET Statement |
|
|
182 | (2) |
|
6.4 Combining Data Sets Using a One-to-One Match Merge |
|
|
184 | (2) |
|
6.5 Combining Data Sets Using a One-to-Many Match Merge |
|
|
186 | (2) |
|
6.6 Merging Summary Statistics with the Original Data |
|
|
188 | (2) |
|
6.7 Combining a Grand Total with the Original Data |
|
|
190 | (2) |
|
6.8 Updating a Master Data Set with Transactions |
|
|
192 | (2) |
|
6.9 Writing Multiple Data Sets Using the OUTPUT Statement |
|
|
194 | (2) |
|
6.10 Making Several Observations from One Using the OUTPUT Statement |
|
|
196 | (2) |
|
6.11 Using SAS Data Set Options |
|
|
198 | (2) |
|
6.12 Tracking and Selecting Observations with the IN= Option |
|
|
200 | (2) |
|
6.13 Selecting Observations with the WHERE= Option |
|
|
202 | (2) |
|
6.14 Changing Observations to Variables Using PROC TRANSPOSE |
|
|
204 | (2) |
|
6.15 Using SAS Automatic Variables |
|
|
206 | (3) |
|
Chapter 7 Writing Flexible Code with the SAS Macro Facility |
|
|
209 | (18) |
|
|
210 | (2) |
|
7.2 Substituting Text with Macro Variables |
|
|
212 | (2) |
|
7.3 Concatenating Macro Variables with Other Text |
|
|
214 | (2) |
|
7.4 Creating Modular Code with Macros |
|
|
216 | (2) |
|
7.5 Adding Parameters to Macros |
|
|
218 | (2) |
|
7.6 Writing Macros with Conditional Logic |
|
|
220 | (2) |
|
7.7 Writing Data-Driven Programs with CALL SYMPUT |
|
|
222 | (2) |
|
7.8 Debugging Macro Errors |
|
|
224 | (3) |
|
Chapter 8 Visualizing Your Data |
|
|
227 | (26) |
|
8.1 Concepts of ODS Graphics |
|
|
228 | (2) |
|
|
230 | (2) |
|
8.3 Creating Histograms and Density Curves |
|
|
232 | (2) |
|
|
234 | (2) |
|
8.5 Creating Scatter Plots |
|
|
236 | (2) |
|
8.6 Creating Series Plots |
|
|
238 | (2) |
|
8.7 Creating Fitted Curves |
|
|
240 | (2) |
|
8.8 Controlling Axes and Reference Lines |
|
|
242 | (2) |
|
8.9 Controlling Legends and Insets |
|
|
244 | (2) |
|
8.10 Customizing Graph Attributes |
|
|
246 | (2) |
|
8.11 Creating Paneled Graphs |
|
|
248 | (2) |
|
8.12 Specifying Image Properties and Saving Graphics Output |
|
|
250 | (3) |
|
Chapter 9 Using Basic Statistical Procedures |
|
|
253 | (28) |
|
9.1 Examining the Distribution of Data with PROC UNIVARIATE |
|
|
254 | (2) |
|
9.2 Creating Statistical Graphics with PROC UNIVARIATE |
|
|
256 | (2) |
|
9.3 Producing Statistics with PROC MEANS |
|
|
258 | (2) |
|
9.4 Testing Means with PROC TTEST |
|
|
260 | (2) |
|
9.5 Creating Statistical Graphics with PROC TTEST |
|
|
262 | (2) |
|
9.6 Testing Categorical Data with PROC FREQ |
|
|
264 | (2) |
|
9.7 Creating Statistical Graphics with PROC FREQ |
|
|
266 | (2) |
|
9.8 Examining Correlations with PROC CORR |
|
|
268 | (2) |
|
9.9 Creating Statistical Graphics with PROC CORR |
|
|
270 | (2) |
|
9.10 Using PROC REG for Simple Regression Analysis |
|
|
272 | (2) |
|
9.11 Creating Statistical Graphics with PROC REG |
|
|
274 | (2) |
|
9.12 Using PROC ANOVA for One-Way Analysis of Variance |
|
|
276 | (2) |
|
9.13 Reading the Output of PROC ANOVA |
|
|
278 | (3) |
|
Chapter 10 Exporting Your Data |
|
|
281 | (14) |
|
10.1 Methods for Exporting Your Data |
|
|
282 | (2) |
|
10.2 Writing Files Using the Export Wizard |
|
|
284 | (2) |
|
10.3 Writing Delimited Files with the EXPORT Procedure |
|
|
286 | (2) |
|
10.4 Writing Microsoft Excel Files with the EXPORT Procedure |
|
|
288 | (2) |
|
10.5 Writing Raw Data Files with the DATA Step |
|
|
290 | (2) |
|
10.6 Writing Delimited and HTML Files Using ODS |
|
|
292 | (3) |
|
Chapter 11 Debugging Your SAS Programs |
|
|
295 | (30) |
|
11.1 Writing SAS Programs That Work |
|
|
296 | (2) |
|
11.2 Fixing Programs That Don't Work |
|
|
298 | (2) |
|
11.3 Searching for the Missing Semicolon |
|
|
300 | (2) |
|
11.4 Note: INPUT Statement Reached Past the End of a Line |
|
|
302 | (2) |
|
|
304 | (2) |
|
|
306 | (2) |
|
11.7 Note: Missing Values Were Generated |
|
|
308 | (2) |
|
11.8 Note: Numeric Values Have Been Converted to Character (or Vice Versa) |
|
|
310 | (2) |
|
11.9 DATA Step Produces Wrong Results but No Error Message |
|
|
312 | (2) |
|
11.10 Error: Invalid Option, Error: The Option Is Not Recognized, or Error: Statement Is Not Valid |
|
|
314 | (2) |
|
11.11 Note: Variable Is Uninitialized or Error: Variable Not Found |
|
|
316 | (2) |
|
11.12 SAS Truncates a Character Variable |
|
|
318 | (2) |
|
11.13 SAS Stops in the Middle of a Program |
|
|
320 | (2) |
|
11.14 SAS Runs Out of Memory or Disk Space |
|
|
322 | (3) |
Appendix Coming to SAS from SQL |
|
325 | (6) |
Index |
|
331 | |