About This Book | p. 1 |
Basic Concepts | p. 5 |
Overview | p. 6 |
SAS Programs | p. 7 |
SAS Libraries | p. 13 |
Referencing SAS Files | p. 15 |
SAS Data Sets | p. 18 |
Variable Attributes | p. 21 |
Summary | p. 26 |
Practice | p. 28 |
Quiz | p. 29 |
Referencing Files and Setting Options | p. 33 |
Overview | p. 34 |
Referencing Files | p. 34 |
Viewing the Contents of SAS Libraries | p. 39 |
Setting SAS System Options | p. 43 |
Viewing System Options | p. 53 |
Additional System Options | p. 54 |
Summary | p. 55 |
Practice | p. 56 |
Quiz | p. 57 |
Editing and Debugging SAS Programs | p. 61 |
Overview | p. 62 |
SAS Program Layout | p. 63 |
Interpreting Error Messages | p. 64 |
Correcting Errors | p. 65 |
Resolving Common Problems | p. 67 |
Additional Features | p. 73 |
Summary | p. 74 |
Practice | p. 74 |
Quiz | p. 75 |
Creating List Reports | p. 77 |
Overview | p. 78 |
Types of Reports | p. 79 |
Creating a Basic Report | p. 82 |
Identifying Observations | p. 86 |
Selecting Observations | p. 88 |
Sorting Data | p. 90 |
Generating Column Totals | p. 93 |
Double-Spacing Listing Output | p. 98 |
Specifying Titles and Footnotes | p. 99 |
Assigning Descriptive Labels | p. 103 |
Formatting Data Values | p. 104 |
Using Permanently Assigned Labels and Formats | p. 107 |
Additional Features | p. 108 |
Summary | p. 109 |
Practice | p. 111 |
Quiz | p. 112 |
Creating SAS Data Sets from Raw Data | p. 117 |
Overview | p. 118 |
Raw Data Files | p. 119 |
Steps to Create a SAS Data Set | p. 120 |
Referencing a SAS Library | p. 121 |
Referencing a Raw Data File | p. 121 |
Writing a DATA Step Program | p. 124 |
Submitting the DATA Step Program | p. 130 |
Creating and Modifying Variables | p. 135 |
Subsetting Data | p. 139 |
Reading Instream Data | p. 140 |
Steps to Create a Raw Data File | p. 142 |
Additional Features | p. 145 |
Summary | p. 145 |
Practice | p. 147 |
Quiz | p. 148 |
Understanding DATA Step Processing | p. 155 |
Overview | p. 156 |
Writing Basic DATA Steps | p. 157 |
How SAS Processes Programs | p. 158 |
Compilation Phase | p. 159 |
Execution Phase | p. 164 |
Debugging a DATA Step | p. 175 |
Testing Your Programs | p. 180 |
Summary | p. 184 |
Practice | p. 185 |
Quiz | p. 186 |
Creating and Applying User-Defined Formats | p. 189 |
Overview | p. 190 |
Introduction to PROC FORMAT | p. 190 |
Invoking PROC FORMAT | p. 191 |
Defining a Unique Format | p. 193 |
Associating User-Defined Formats with Variables | p. 196 |
Summary | p. 200 |
Practice | p. 200 |
Quiz | p. 201 |
Creating Enhanced List and Summary Reports | p. 205 |
Overview | p. 206 |
Creating a Default List Report | p. 207 |
Selecting Variables | p. 210 |
Selecting Observations | p. 212 |
Defining Variables | p. 213 |
Defining Column Attributes | p. 214 |
Defining Column Headings | p. 219 |
Specifying Column Justification | p. 221 |
Enhancing the Heading's Appearance | p. 222 |
Defining Variable Usage | p. 223 |
Summary | p. 233 |
Practice | p. 234 |
Quiz | p. 235 |
Producing Descriptive Statistics | p. 241 |
Overview | p. 242 |
Computing Statistics for Numeric Variables | p. 243 |
Producing Frequency Tables | p. 252 |
Summary | p. 263 |
Practice | p. 266 |
Quiz | p. 267 |
Producing HTML Output | p. 271 |
Overview | p. 272 |
The Output Delivery System | p. 273 |
Opening and Closing ODS Destinations | p. 275 |
Creating Simple HTML | p. 278 |
Creating HTML Output with a Table of Contents | p. 281 |
Using Options to Specify Links and Paths | p. 284 |
Changing the Appearance of HTML Output | p. 288 |
Additional Features | p. 289 |
Summary | p. 290 |
Practice | p. 291 |
Quiz | p. 292 |
Creating and Managing Variables | p. 295 |
Overview | p. 296 |
Creating and Modifying Variables | p. 297 |
Assigning Values Conditionally | p. 300 |
Specifying Lengths for Variables | p. 304 |
Subsetting Data | p. 307 |
Assigning Permanent Labels and Formats | p. 311 |
Assigning Values Conditionally Using SELECT Groups | p. 312 |
Grouping Statements Using DO Groups | p. 316 |
Summary | p. 319 |
Practice | p. 320 |
Quiz | p. 321 |
Reading SAS Data Sets | p. 327 |
Overview | p. 328 |
Reading a Single Data Set | p. 329 |
Manipulating Data | p. 330 |
Using BY-Group Processing | p. 331 |
Reading Observations Using Direct Access | p. 336 |
Detecting the End of a Data Set | p. 339 |
Understanding How Data Sets Are Read | p. 341 |
Additional Features | p. 348 |
Summary | p. 349 |
Practice | p. 350 |
Quiz | p. 351 |
Combining SAS Data Sets | p. 355 |
Overview | p. 356 |
One-to-One Reading | p. 358 |
Concatenating | p. 361 |
Interleaving | p. 363 |
Simple Match-Merging | p. 366 |
Match-Merge Processing | p. 370 |
Renaming Variables | p. 376 |
Excluding Unmatched Observations | p. 378 |
Selecting Variables | p. 381 |
Additional Features | p. 382 |
Summary | p. 383 |
Practice | p. 385 |
Quiz | p. 386 |
Transforming Data with SAS Functions | p. 395 |
Overview | p. 396 |
Understanding SAS Functions | p. 397 |
General Form of SAS Functions | p. 399 |
Converting Data with Functions | p. 400 |
Manipulating SAS Date Values with Functions | p. 408 |
Modifying Character Values with Functions | p. 422 |
Modifying Numeric Values with Functions | p. 441 |
Nesting SAS Functions | p. 443 |
Summary | p. 444 |
Practice | p. 447 |
Quiz | p. 448 |
Generating Data with DO Loops | p. 451 |
Overview | p. 452 |
Constructing DO Loops | p. 452 |
Nesting DO Loops | p. 457 |
Iteratively Processing Data That Is Read from a Data Set | p. 459 |
Conditionally Executing DO Loops | p. 460 |
Using Conditional Clauses with the Iterative DO Statement | p. 462 |
Creating Samples | p. 463 |
Summary | p. 464 |
Practice | p. 465 |
Quiz | p. 466 |
Processing Variables with Arrays | p. 469 |
Overview | p. 470 |
Creating One-Dimensional Arrays | p. 471 |
Expanding Your Use of Arrays | p. 480 |
Additional Features | p. 493 |
Summary | p. 495 |
Practice | p. 497 |
Quiz | p. 498 |
Reading Raw Data in Fixed Fields | p. 501 |
Overview | p. 502 |
Review of Column Input | p. 503 |
Identifying Standard and Nonstandard Numeric Data | p. 505 |
Choosing an Input Style | p. 506 |
Using Formatted Input | p. 506 |
Using Informats | p. 510 |
Record Formats | p. 516 |
Summary | p. 519 |
Practice | p. 520 |
Quiz | p. 521 |
Reading Free-Format Data | p. 525 |
Overview | p. 526 |
Reading Free-Format Data | p. 527 |
Using List Input | p. 527 |
Reading Missing Values | p. 534 |
Specifying the Length of Character Values | p. 538 |
Modifying List Input | p. 541 |
Creating Free-Format Data | p. 546 |
Mixing Input Styles | p. 551 |
Summary | p. 554 |
Practice | p. 556 |
Quiz | p. 557 |
Reading Date and Time Values | p. 563 |
Overview | p. 564 |
How SAS Stores Date Values | p. 565 |
How SAS Stores Time Values | p. 565 |
More about SAS Date and Time Values | p. 566 |
Reading Date and Time Informats | p. 566 |
Using Dates and Times in Calculations | p. 572 |
Using Date and Time Formats | p. 576 |
Summary | p. 580 |
Practice | p. 581 |
Quiz | p. 582 |
Creating a Single Observation from Multiple Records | p. 585 |
Overview | p. 586 |
Use Line Pointer Controls | p. 587 |
Reading Multiple Records Sequentially | p. 587 |
Reading Multiple Records Non-Sequentially | p. 596 |
Combining Line Pointer Controls | p. 600 |
Summary | p. 602 |
Practice | p. 602 |
Quiz | p. 603 |
Creating Multiple Observations from a Single Record | p. 609 |
Overview | p. 610 |
Reading Repeating Blocks of Data | p. 611 |
Reading the Same Number of Repeating Fields | p. 620 |
Reading a Varying Number of Repeating Fields | p. 627 |
Summary | p. 634 |
Practice | p. 635 |
Quiz | p. 636 |
Reading Hierarchical Files | p. 641 |
Overview | p. 642 |
Creating One Observation Per Detail Record | p. 643 |
Creating One Observation Per Header Record | p. 651 |
Summary | p. 663 |
Practice | p. 664 |
Quiz | p. 665 |
Quiz Answer Keys | p. 671 |
Basic Concepts | p. 673 |
Referencing Files and Setting Options | p. 677 |
Editing and Debugging SAS Programs | p. 683 |
Creating List Reports | p. 687 |
Creating SAS Data Sets from Raw Data | p. 695 |
Understanding DATA Step Processing | p. 703 |
Creating and Applying User-Defined Formats | p. 707 |
Creating Enhanced List and Summary Reports | p. 711 |
Producing Descriptive Statistics | p. 719 |
ProducingHTML Output | p. 725 |
Creating and Managing Variables | p. 729 |
Reading SAS Data Sets | p. 735 |
Combining SAS Data Sets | p. 739 |
Transforming Data with SAS Functions | p. 749 |
Generating Data with DO Loops | p. 755 |
Processing Variables with Arrays | p. 759 |
Reading Raw Data in Fixed Fields | p. 763 |
Reading Free-Format Data | p. 769 |
Reading Date and Time Values | p. 777 |
Creating a Single Observation from Multiple Records | p. 781 |
Creating Multiple Observations from a Single Record | p. 787 |
Reading Hierarchical Files | p. 795 |
Glossary | p. 801 |
Index | p. 815 |
Table of Contents provided by Ingram. All Rights Reserved. |