Combining and Modifying SAS Data Sets: Examples
Credits
Recognition
An Introduction to Data Relationships, Access Methods,and Techniques for Data Manipulation
Overview
Data Relationships
Access Methods: Sequential versus Direct
An Overview of Methods for Combining SAS Data Sets
An Overview of Tools for Combining SAS Data Sets
Where to Go from Here
Combining Single Observations with Single Observations
- Example 2.1 Merging Data Sets by a Common Variable, Specifying Their Origin, and Replacing Missing Values
- Example 2.1 Merging Data Sets by a Common Variable, Specifying Their Origin, and Replacing Missing Values
- Example 2.2 Combining Observations When Variable Values Do Not Match Exactly
- Example 2.3 Combining Observations When There Is No Common Variable
- Example 2.4 Performing a Table Lookup When the Lookup Data Set is Indexed
- Example 2.5 Performing a Table Lookup When the Lookup Data Set is Not Indexed
- Example 2.6 Matching Observations Randomly
- Example 2.7 Combining Observations Based on a Calculation on Variables Contributed by Two Data Sets
- Combining a Single Observation with Multiple Observations
- Example 3.1 Adding Values to All Observations in a Data Set
- Example 3.2 Adding Values from the Last Observation in a Data Set to All Observations in Another Data Set
- Example 3.3 Merging Observations from Multiple Data Sets Based on a Common Variable
- Example 3.4 Applying Transactions to a Master Data Set Based on a Common Variable
- Example 3.5 Combining and Collapsing Observations Based on a Common Variable
- Example 3.6 Applying Transactions to a Master Data Set Using an Index
- Example 3.7 Removing Observations from a Master Data Set Based on Values in a Transaction Data Set
- Example 3.8 Performing a Table Lookup with a Small Lookup Data Set
- Example 3.9 Performing a Table Lookup with Large Nonindexed Data Sets
- Example 3.10 Performing a Table Lookup Using a Composite Index When the Transaction Data Set Contains Duplicate Values
- Example 3.11 Performing a Table Lookup with a Large Lookup Data Set That Is Indexed
- Combining Multiple Observations with Multiple Observations
- Example 4.1 Adding Variables from a Transaction Data Set to a Master Data Set
- Example 4.2 Updating a Master Data Set with Only Nonmissing Values from a Transaction Data Set
- Example 4.3 Generating Every Combination of Observations (Cartesian Product) between Data Sets
- Example 4.4 Generating Every Combination of Observations between Data Sets Based on a Common Variable
- Example 4.5 Delaying Final Disposition of Observations Until All Processing Is Complete
- Example 4.6 Generating Every Combination between Data Sets, Based on a Common Variable When an Index Is Available
- Example 4.7 Combining Multiple Data Sets without a Variable Common to All the Data Sets
- Example 4.8 Interleaving Nonsorted Data Sets
- Example 4.9 Interleaving Data Sets Based on a Common Variable
- Example 4.10 Comparing All Observations with the Same BY Values
- Manipulating Data From a Single Source
- Example 5.1 Performing a Simple Subset
- Example 5.2 Separating Unique Observations from Duplicate Observations
- Example 5.3 Accessing a Specific Number of Observations from the Beginning and End of a Data Set
- Example 5.4 Adding New Observations to the End of a Data Set
- Example 5.5 Adding Observations to a Data Set Based on the Value of a Variable
- Example 5.6 Simulating the LEAD Function by Comparing the Value of a Variable to Its Value in the Next Observation
- Example 5.7 Obtaining the Lag (Previous Value) of a Variable within a BY Group
- Example 5.8 Applying Common Operations to a Group of Variables
- Example 5.9 Calculating Totals across a BY Group to Produce Either a Grand or Cumulative Total
- Example 5.10 Calculating the Percentage That One Observation Contributes to the Total of a BY Group
- Example 5.11 Adding a New Variable that Contains the Frequency of a BY-Group Value
- Example 5.12 Subsetting a Data Set Based on the Calculated Average of a BY Group
- Example 5.13 Really Rounding Numbers
- Example 5.14 Collapsing Observations within a BY Group into a Single Observation
- Example 5.15 Expanding Single Observations into Multiple Observations
- Example 5.16 Reshaping Observations into Multiple Variables
- Utilities and Functions
- Example 6.1 Converting Variable Types from Character to Numeric and Vice Versa
- Example 6.2 Determining the Type of a Variable's Content
- Example 6.3 Determining Whether a Variable is Character or Numeric
- Example 6.4 Creating a SAS Data Set Whose Variables Contain the Attributes of Variables from Another SAS Data Set
- Example 6.5 Sorting Variable Values within an Observation (Bubble Sort)
- Example 6.6 Creating Equal-Sized Random Samples and Producing Equal-Sized Subsets or Exact-Sized Subsets
- Example 6.7 Counting the Occurrences of a String within the Values of a Variable
- Example 6.8 Extracting a Character String without Breaking the Text in the Middle of a Word
- Example 6.9 Creating SAS Datetime Values
- Example 6.10 Creating a SAS Time Value from a Character Value
- Example 6.11 Calculating a Person's Age
Appendix Error Checking When Using MODIFY or SET with KEY=
Why Error Checking?
New Error-Checking Tools
- Example 1: Routing Execution When an Unexpected Condition Occurs
- Example 2: Using Error Checking on All Statements That Use KEY=
Index
Your Turn