Home Page Icon
Home Page
Table of Contents for
The SAS Log (3/3)
Close
The SAS Log (3/3)
by SAS Institute
SAS 9.4 Language Reference, 6th Edition
Contents (1/2)
Contents (2/2)
What's New in the 9.4 Base SAS Language Reference: Concepts
Overview
SAS System Features
Universal Printing
Font Slanting and Emboldening Support
TrueType Fonts
Helvetica and Symbola TrueType Fonts
Avenir Next TrueType Fonts
Support for SAS DATA Step View Buffers
Extended Attributes
Extended Observation Count
Cross-Environment Data Access (CEDA)
SMTP Email Authentication Protocol
LOCKDOWN State Restrictions
LOCKDOWN Statement Enhancements
Data File Protection
Column Headings in VIEWTABLE
Accessibility
SAS System Concepts
Essential Concepts of Base SAS Software
What Is SAS?
Overview of Base SAS Software
Components of the SAS Language
SAS Files
SAS Data Sets
External Files
Database Management System Files
SAS Language Elements
SAS Macro Facility
Ways to Run Your SAS Session
Starting a SAS Session
Different Types of SAS Sessions
SAS Windowing Environment
Interactive Line Mode
Noninteractive Mode
Batch Mode
Object Server Mode
Customizing Your SAS Session
Setting Default System Option Settings
Executing Statements Automatically
Customizing the SAS Windowing Environment
Conceptual Information about Base SAS Software
SAS System Concepts
DATA Step Concepts
SAS Files Concepts
SAS Processing
Definition of SAS Processing
Types of Input to a SAS Program
The DATA Step
What Does the DATA Step Do?
DATA Step Output
The PROC Step
What Does the PROC Step Do?
PROC Step Output
SAS Processing Restrictions for Servers in a Locked-Down State
General Information
z/OS-Specific Information
Specifying Functions in the Lockdown Path List
Rules for Words and Names in the SAS Language
Words in the SAS Language
Definition of Word
Types of Words or Tokens
Placement and Spacing of Words in SAS Statements
Names in the SAS Language (1/3)
Names in the SAS Language (2/3)
Names in the SAS Language (3/3)
Definition of a SAS Name
Rules for User-Supplied SAS Names
SAS Name Literals
Summary of Default Rules for Naming SAS Data Sets and SAS Variables
Summary of Extended Rules for Naming SAS Data Sets and SAS Variables
SAS Variables
Definition of SAS Variables
SAS Variable Attributes
Ways to Create Variables
Overview
Using an Assignment Statement
Reading Data with the INPUT Statement in a DATA Step
Specifying a New Variable in a FORMAT or INFORMAT Statement
Specifying a New Variable in a LENGTH Statement
Specifying a New Variable in an ATTRIB Statement
Using the IN= Data Set Option
Variable Type Conversions
Aligning Variable Values in SAS Output
Reordering Variables in SAS Output
Automatic Variables
SAS Variable Lists
Definition
Numbered Range Lists
Name Range Lists
Name Prefix Lists
Special SAS Name Lists
The OF Operator with Variable Lists
Dropping, Keeping, and Renaming Variables
Using Statements or Data Set Options
Using the Input or Output Data Set
Order of Application
Examples of Dropping, Keeping, and Renaming Variables
Encrypting Variable Values
Customized Encryption and Decryption Algorithms for SAS Variables
Example 1: A Simple 1-Byte-to-1-Byte Swap Using the TRANSLATE Function
Example 2: Using a 1-Byte-to-2-Byte Swap with the TRANWRD Function
Example 3: Using Different Functions to Encrypt Numeric Values as Character Strings
Numerical Accuracy in SAS Software (1/5)
Numerical Accuracy in SAS Software (2/5)
Numerical Accuracy in SAS Software (3/5)
Numerical Accuracy in SAS Software (4/5)
Numerical Accuracy in SAS Software (5/5)
Overview
Truncation in Binary Numbers
How SAS Stores Numeric Values
Floating-Point Representation Using the IEEE Standard
Floating-Point Representation on Windows
Floating-Point Representation on IBM Mainframes
Troubleshooting Errors in Precision
Transferring Data between Operating Systems
Missing Values
Definition of Missing Values
Creating Special Missing Values
Definition
Tips
Example
Order of Missing Values
Numeric Variables
Character Variables
When Variable Values Are Automatically Set to Missing by SAS
When Reading Raw Data
When Reading a SAS Data Set
When Missing Values Are Generated by SAS
Propagation of Missing Values in Calculations
Invalid Operations
Invalid Character-to-Numeric Conversions
Creating Special Missing Values
Preventing Propagation of Missing Values
Working with Missing Values
How to Represent Missing Values in Raw Data
How to Set Variable Values to Missing in a DATA Step
How to Check for Missing Values in a DATA Step
Expressions
Definitions for SAS Expressions
Examples of SAS Expressions
SAS Constants in Expressions
Definition
Character Constants
Using Quotation Marks with Character Constants
Comparing Character Constants and Character Variables
Character Constants Expressed in Hexadecimal Notation
Numeric Constants
Numeric Constants Expressed in Standard Notation
Numeric Constants Expressed in Scientific Notation
Numeric Constants Expressed in Hexadecimal Notation
Date, Time, and Datetime Constants
Bit Testing Constants
Avoiding a Common Error with Constants
SAS Variables in Expressions
Definition
Automatic Numeric-Character Conversion
SAS Functions in Expressions
SAS Operators in Expressions
Definitions
Arithmetic Operators
Comparison Operators
The IN Operator
Numeric Comparisons
The IN Operator in Numeric Comparisons
Character Comparisons
The IN Operator in Character Comparisons
Logical (Boolean) Operators and Expressions
The AND Operator
The OR Operator
The NOT Operator
Boolean Numeric Expressions
The MIN and MAX Operators
The Concatenation Operator
Order of Evaluation in Compound Expressions
Dates, Times, and Intervals
About SAS Date, Time, and Datetime Values
Definitions
Two-Digit and Four-Digit Years
Five-Digit Years
The Year 2000
Working with SAS Dates and Times
Examples
About Date and Time Intervals (1/3)
About Date and Time Intervals (2/3)
About Date and Time Intervals (3/3)
Definitions
Syntax
Intervals by Category
Example: Calculating a Duration
Boundaries of Intervals
Single-Unit Intervals
Multi-Unit Intervals
Shifted Intervals
Custom Intervals
Retail Calendar Intervals: ISO 8601 Compliant
Error Processing and Debugging
Types of Errors in SAS
Summary of Types of Errors That SAS Recognizes
Syntax Errors
Semantic Errors
Execution-Time Errors
Data Errors
Macro-related Errors
Error Processing in SAS (1/2)
Error Processing in SAS (2/2)
Syntax Check Mode
Processing Multiple Errors
Checkpoint Mode and Restart Mode
Using System Options to Control Error Handling
Using Return Codes
Other Error-Checking Options
Debugging Logic Errors in the DATA Step
SAS Output
Definitions for SAS Output
Routing and Customizing SAS Output
Default Output Destination
Changing the Output Destination
Customizing Output
Sample SAS Output
Default HTML Output in the SAS Windowing Environment
Traditional SAS LISTING Output in the SAS Windowing Environment
The SAS Log (1/3)
The SAS Log (2/3)
The SAS Log (3/3)
Structure of the Log
The SAS Log in Interactive Mode
The SAS Log in Batch, Line, or Objectserver Modes
Writing to the Log in All Modes
Customizing the Log
By-Group Processing in SAS Programs
Definition of BY-Group Processing
References for BY-Group Processing
WHERE-Expression Processing
Definition of WHERE-Expression Processing
Where to Use a WHERE Expression
Syntax of WHERE Expression (1/2)
Syntax of WHERE Expression (2/2)
WHERE Expression Contents
Specifying an Operand
Specifying an Operator
Combining Expressions By Using Logical Operators
Syntax
Processing Compound Expressions
Using Parentheses to Control Order of Evaluation
Improving Performance of WHERE Processing
Processing a Segment of Data That Is Conditionally Selected
Applying FIRSTOBS= and OBS= Options
Applying FIRSTOBS= and OBS= to a Subset of Data
Processing a SAS View
Deciding Whether to Use a WHERE Expression or a Subsetting IF Statement
Optimizing System Performance
Definitions for Optimizing System Performance
Collecting and Interpreting Performance Statistics
Using the FULLSTIMER and STIMER System Options
Interpreting FULLSTIMER and STIMER Statistics
Techniques for Optimizing I/O (1/2)
Techniques for Optimizing I/O (2/2)
Overview of Techniques for Optimizing I/O
Using WHERE Processing
Using DROP and KEEP Statements
Using LENGTH Statements
Using the OBS= and FIRSTOBS= Data Set Options
Creating SAS Data Sets
Using Indexes
Accessing Data through SAS Views
Using Engines Efficiently
Setting System Options to Improve I/O Performance
Setting VBUFSIZE= and OBSBUF= for SAS DATA Step Views
Using the SASFILE Statement
Using the DATASETS Procedure to Modify Attributes
Storing Variables as Characters
Techniques for Optimizing Memory Usage
System Options
Using the BY Statement with PROC MEANS
Techniques for Optimizing CPU Performance
Reducing CPU Time By Using More Memory or Reducing I/O
Storing a Compiled Program for Computation-Intensive DATA Steps
Reducing Search Time for SAS Executable Files
Specifying Variable Lengths
Using Parallel Processing
Reducing CPU Time By Modifying Program Compilation Optimization
Calculating Data Set Size
Support for Parallel Processing
Overview
What Is Threading Technology in SAS?
How Is Threading Controlled in SAS?
Threading in Base SAS
SAS/ACCESS Engines
SAS Scalable Performance Data Server
SAS Intelligence Platform
SAS High-Performance Analytics Portfolio of Products
SAS Grid Manager
SAS In-Database Technology
SAS In-Memory Analytics Technology
SAS High-Performance Analytics Product Integration
The SAS Registry
Introduction to the SAS Registry
What Is the SAS Registry?
Who Should Use the SAS Registry?
Where the SAS Registry Is Stored
How Do I Display the SAS Registry?
Definitions for the SAS Registry
Managing the SAS Registry (1/2)
Managing the SAS Registry (2/2)
Primary Concerns about Managing the SAS Registry
Backing Up the Sasuser Registry
Recovering from Registry Failure
Using the SAS Registry to Control Color
Using the Registry Editor
Configuring Your Registry
Configuring Universal Printing
Configuring SAS Explorer
Configuring Libraries and File Shortcuts with the SAS Registry
Fixing Library Reference (Libref) Problems with the SAS Registry
Printing with SAS
Universal Printing (1/4)
Universal Printing (2/4)
Universal Printing (3/4)
Universal Printing (4/4)
What Is Universal Printing?
Setting Up the Universal Printing Interface and the Default Printing Environment
Universal Printing Output Formats
Viewing Universal Printers and Printer Prototypes
Viewing Universal Printer Settings
Modifying Universal Printing Printer Settings
Universal Printing and ODS
Specifying the Page Orientation for Universal Printing Documents
Color Support for Universal Printers
Embedding Non-Viewable Comments in Universal Printing Output
Configuring Universal Printing Using the Windowing Environment (1/4)
Configuring Universal Printing Using the Windowing Environment (2/4)
Configuring Universal Printing Using the Windowing Environment (3/4)
Configuring Universal Printing Using the Windowing Environment (4/4)
Overview of the Universal Printing Menu
Setting Up Printers
Printing with Universal Printing
Working with Previewers
Set Page Properties
System Options That Control Universal Printing
Managing Universal Printers Using the PRTDEF Procedure (1/2)
Managing Universal Printers Using the PRTDEF Procedure (2/2)
About Using the PRTDEF Procedure
Examples of Creating New Printers and Previewers Using the PRTDEF Procedure
Forms Printing
Overview of Forms Printing
Creating or Editing a Form
Using Fonts with Universal Printers and SAS/GRAPH Devices (1/4)
Using Fonts with Universal Printers and SAS/GRAPH Devices (2/4)
Using Fonts with Universal Printers and SAS/GRAPH Devices (3/4)
Using Fonts with Universal Printers and SAS/GRAPH Devices (4/4)
Rendering Fonts
ODS Styles and TrueType Fonts
Portability of TrueType Fonts
International Character Support
TrueType Fonts Supplied by SAS
Registering Fonts
Listing the Registered Fonts for a Device
Using Fonts
Examples of Specifying Fonts and Printing International Characters
Creating EMF (Enhanced Metafile Format) Graphics Using Universal Printing
EMF Graphics in SAS
Creating an EMF Graphic
Example of Creating an EMF Graphic Using the ODS PRINTER Statement
Creating GIF Images Using Universal Printing
GIF Images in SAS
Creating a GIF Image
Example of Creating a GIF Image Using the ODS PRINTER Statement
Creating PCL (Printer Command Language) Files Using Universal Printing
PCL Files in SAS
Creating a PCL File
Creating PDF Files Using Universal Printing
PDF Files in SAS
Creating a PDF File
Example of Creating a PDF Using the ODS PDF Statement
System Options That Affect PDF Output
Creating PNG (Portable Network Graphics) Files Using Universal Printing
Portable Network Graphics in SAS
The PNG Universal Printers
Creating a PNG Image
Example of Creating a PNG File Using the ODS PRINTER Statement
Web Browsers and Viewers That Support PNG Files
Creating PostScript Files Using Universal Printing
PostScript Files in SAS
Creating a PostScript File
Example of Creating a PostScript File Using the ODS PS Statement
Creating SVG (Scalable Vector Graphics) Files Using Universal Printing (1/6)
Creating SVG (Scalable Vector Graphics) Files Using Universal Printing (2/6)
Creating SVG (Scalable Vector Graphics) Files Using Universal Printing (3/6)
Creating SVG (Scalable Vector Graphics) Files Using Universal Printing (4/6)
Creating SVG (Scalable Vector Graphics) Files Using Universal Printing (5/6)
Creating SVG (Scalable Vector Graphics) Files Using Universal Printing (6/6)
Overview of Scalable Vector Graphics in SAS
Web Server Content Type for SVG Documents
The SVG Universal Printers and the Output That They Create
How to Create SVG Documents
Browser Support for Viewing SVG Documents
Images in SVG Documents
Setting the Environment to Create Stand-alone SVG Documents
Creating Stand-alone SVG Documents Using the ODS PRINTER Destination
SVG Documents in HTML Files
Printing an SVG Document from a Browser
Creating TIFF Images Using Universal Printing
TIFF Images in SAS
The TIFF Universal Printers
Creating a TIFF Image
Example of Creating a TIFF Image Using the ODS PRINTER Statement
Creating Animated GIF Images and SVG Documents (1/2)
Creating Animated GIF Images and SVG Documents (2/2)
About Animated GIF Images and SVG Documents
Animation System Options
Example: Creating an Animated SVG Document
Windowing Environment Concepts
Introduction to the SAS Windowing Environment
What Is the SAS Windowing Environment?
Main Windows in the SAS Windowing Environment (1/2)
Main Windows in the SAS Windowing Environment (2/2)
Overview of SAS Windows
SAS Explorer Window
Enhanced Editor Window
Log Window
Results Window
Output Window
Navigating in the SAS Windowing Environment
Overview of SAS Navigation
Menus in SAS
Toolbars in SAS
The Command Line
Getting Help in SAS
Type Help in the Command Line
Open the Help Menu from the Toolbar
Click Help in Individual SAS Windows
List of SAS Windows and Window Commands
Managing Your Data in the SAS Windowing Environment
Introduction to Managing Your Data in the SAS Windowing Environment
Managing Data with SAS Explorer
Introduction to Managing Data with SAS Explorer
Viewing Libraries and Data Sets
Assign File Shortcuts
Rename a SAS Data Set
Copy or Duplicate a SAS Data Set
Sorting Data Sets in a Library
View the Properties of a SAS Data Set
Working with VIEWTABLE (1/2)
Working with VIEWTABLE (2/2)
Overview of VIEWTABLE
Opening a SAS Data Set in a VIEWTABLE Window
Displaying Table Headers as Names or Labels
Customizing SAS Explorer for Opening the VIEWTABLE Window
Order of Precedence for How Column Headings Are Displayed
Mapping the VIEWTABLE Command to a Function Key
Temporarily Change Column Headings
Move Columns in a Table
Sort by Values of a Column
Edit Cell Values
Subsetting Data By Using the WHERE Expression
Subset Rows of a Table
Clear the WHERE Expression
Exporting a Subset of Data
Overview of Exporting Data
Export Data
Importing Data into a Table
Overview of Importing Data
Import a Standard File
Import a Nonstandard File
DATA Step Concepts
DATA Step Processing
Why Use a DATA Step?
Overview of DATA Step Processing
Flow of Action
The Compilation Phase
The Execution Phase
Processing a DATA Step: A Walk-through
Sample DATA Step
Creating the Input Buffer and the Program Data Vector
Reading a Record
Writing an Observation to the SAS Data Set
Reading the Next Record
When the DATA Step Finishes Executing
About DATA Step Execution (1/2)
About DATA Step Execution (2/2)
The Default Sequence of Execution in the DATA Step
Changing the Default Sequence of Execution
Step Boundary—How to Know When Statements Take Effect
What Causes a DATA Step to Stop Executing
About Creating a SAS Data Set with a DATA Step
Creating a SAS Data File or a SAS View
Sources of Input Data
Reading Raw Data: Examples
Reading Data from SAS Data Sets
Generating Data from Programming Statements
Writing a Report with a DATA Step (1/2)
Writing a Report with a DATA Step (2/2)
Example 1: Creating a Report without Creating a Data Set
Example 2: Creating a Customized Report
Example 3: Creating an HTML Report Using ODS and the DATA Step
The DATA Step and ODS
DATA Step Processing Time
Reading Raw Data
Definition of Reading Raw Data
Ways to Read Raw Data
Types of Data
Definitions
Numeric Data
Character Data
Sources of Raw Data
Instream Data
Instream Data Containing Semicolons
External Files
Reading Raw Data with the INPUT Statement (1/2)
Reading Raw Data with the INPUT Statement (2/2)
Choosing an Input Style
List Input
Modified List Input
Column Input
Formatted Input
Named Input
Additional Data-Reading Features
How SAS Handles Invalid Data
Reading Missing Values in Raw Data
Representing Missing Values in Input Data
Special Missing Values in Numeric Input Data
Reading Binary Data
Definitions
Using Binary Informats
Reading Column-Binary Data
Definition
How to Read Column-Binary Data
Description of Column-Binary Data Storage
BY-Group Processing in the DATA Step
Definitions for BY-Group Processing
Syntax for BY-Group Processing
Understanding BY Groups
BY Groups with a Single BY Variable
BY Groups with Multiple BY Variables
Invoking BY-Group Processing
Determining Whether the Data Requires Preprocessing for BY-Group Processing
Preprocessing Input Data for BY-Group Processing
Sorting Observations for BY-Group Processing
Indexing for BY-Group Processing
How the DATA Step Identifies BY Groups
Processing Observations in a BY Group
Using a Name Literal as the BY-Group Variable
How SAS Determines FIRST.variable and LAST.variable
Example 1: Grouping Observations by State, City, ZIP code, and Street
Example 2: Grouping Observations by City, State, ZIP code, and Street
Example 3: A Change Affecting FIRST.variable
Processing BY-Groups in the DATA Step (1/2)
Processing BY-Groups in the DATA Step (2/2)
Overview
Processing BY-Groups Conditionally
Data Not in Alphabetic or Numeric Order
Data Grouped by Formatted Values
Example 1: Using GROUPFORMAT with Formats
Example 2: Using GROUPFORMAT with Formats
Reading, Combining, and Modifying SAS Data Sets
Definitions for Reading, Combining, and Modifying SAS Data Sets
Overview of Tools
Reading SAS Data Sets
Reading a Single SAS Data Set
Reading from Multiple SAS Data Sets
Controlling the Reading and Writing of Variables and Observations
Combining SAS Data Sets: Basic Concepts (1/2)
Combining SAS Data Sets: Basic Concepts (2/2)
What You Need to Know Before Combining Information Stored in Multiple SAS Data Sets
The Four Ways That Data Can Be Related
Access Methods: Sequential versus Direct
Overview of Methods for Combining SAS Data Sets
Overview of Tools for Combining SAS Data Sets
How to Prepare Your Data Sets
Combining SAS Data Sets: Methods (1/6)
Combining SAS Data Sets: Methods (2/6)
Combining SAS Data Sets: Methods (3/6)
Combining SAS Data Sets: Methods (4/6)
Combining SAS Data Sets: Methods (5/6)
Combining SAS Data Sets: Methods (6/6)
Concatenating
Interleaving
One-to-One Reading
One-to-One Merging
Match-Merging
Updating with the UPDATE and the MODIFY Statements
Error Checking When Using Indexes to Randomly Access or Update Data (1/2)
Error Checking When Using Indexes to Randomly Access or Update Data (2/2)
The Importance of Error Checking
Error-Checking Tools
Example 1: Routing Execution When an Unexpected Condition Occurs
Example 2: Using Error Checking on All Statements That Use KEY=
Using DATA Step Component Objects
Introduction to DATA Step Component Objects
Using the Hash Object (1/3)
Using the Hash Object (2/3)
Using the Hash Object (3/3)
Why Use the Hash Object?
Declaring and Instantiating a Hash Object
Initializing Hash Object Data Using a Constructor
Defining Keys and Data
Non-Unique Key and Data Pairs
Storing and Retrieving Data
Maintaining Key Summaries
Replacing and Removing Data in the Hash Object
Saving Hash Object Data in a Data Set
Comparing Hash Objects
Using Hash Object Attributes
Using the Hash Iterator Object
About the Hash Iterator Object
Declaring and Instantiating a Hash Iterator Object
Example: Retrieving Hash Object Data By Using the Hash Iterator
Using the Java Object (1/5)
Using the Java Object (2/5)
Using the Java Object (3/5)
Using the Java Object (4/5)
Using the Java Object (5/5)
About the Java Object
CLASSPATH and Java Options
Restrictions and Requirements for Using the Java Object
Declaring and Instantiating a Java Object
Accessing Object Fields
Accessing Object Methods
Type Issues
Java Objects and Arrays
Passing Java Object Arguments
Java Exceptions
Java Standard Output
Java Object Examples
Array Processing
Definitions for Array Processing
A Conceptual View of Arrays
One-Dimensional Array
Two-Dimensional Array
Syntax for Defining and Referencing an Array
Processing Simple Arrays
Grouping Variables in a Simple Array
Using a DO Loop to Repeat an Action
Using a DO Loop to Process Selected Elements in an Array
Selecting the Current Variable
Defining the Number of Elements in an Array
Rules for Referencing Arrays
Variations on Basic Array Processing
Determining the Number of Elements in an Array Efficiently
DO WHILE and DO UNTIL Expressions
Using Variable Lists to Define an Array Quickly
Multidimensional Arrays: Creating and Processing
Grouping Variables in a Multidimensional Array
Using Nested DO Loops
Specifying Array Bounds
Identifying Upper and Lower Bounds
Determining Array Bounds: LBOUND and HBOUND Functions
When to Use the HBOUND Function Instead of the DIM Function
Specifying Bounds in a Two-Dimensional Array
Examples of Array Processing (1/2)
Examples of Array Processing (2/2)
Example 1: Using Character Variables in an Array
Example 2: Assigning Initial Values to the Elements of an Array
Example 3: Creating an Array for Temporary Use in the Current DATA Step
Example 4: Performing an Action on All Numeric Variables
SAS Files Concepts
SAS Libraries
Definition of a SAS Library
Library Engines
Library Names
Physical Names and Logical Names (Librefs)
Assigning Librefs
Associating and Clearing Logical Names (Librefs) with the LIBNAME Statement
Reserved Librefs
Accessing Remote SAS Libraries on SAS/CONNECT, SAS/SHARE, and WebDAV Servers
Library Concatenation
Definition of Library Concatenation
How SAS Concatenates Library Members
Rules for Library Concatenation
Permanent and Temporary Libraries
Definition of a Metadata-Bound Library
SAS System Libraries
Introduction to SAS System Libraries
Work Library
User Library
Sashelp Library
Sasuser Library
Sequential Data Libraries
Tools for Managing Libraries
SAS Utilities
Library Directories
Accessing Permanent SAS Files without a Libref
Operating Environment Commands
SAS Data Sets
Definition of a SAS Data Set
Descriptor Information for a SAS Data Set
Data Set Names
Where to Use Data Set Names
How and When SAS Data Set Names Are Assigned
Parts of a Data Set Name
Two-level SAS Data Set Names
One-level SAS Data Set Names
Data Set Lists
Special SAS Data Sets
Null Data Sets
Default Data Sets
Automatic Naming Convention
Sorted Data Sets (1/2)
Sorted Data Sets (2/2)
The Sort Indicator
How SAS Uses the Sort Indicator to Improve Performance
Validating That a Data Set Is Sorted
Tools for Managing Data Sets
Viewing and Editing SAS Data Sets
SAS Data Files
Definition of a SAS Data File
Differences between Data Files and SAS Views
Understanding the Observation Count in a SAS Data File
Definition of the Observation Count
Maximum Observation Count
SAS Processing When the Maximum Observation Count Is Reached
Recovering from an Exceeded Maximum Observation Count
Understanding an Audit Trail (1/2)
Understanding an Audit Trail (2/2)
Definition of an Audit Trail
Audit Trail Description
Defining and Using User Variables
Operation in a Shared Environment
Performance Implications
Preservation by Other Operations
Programming Considerations
Other Considerations
Initiating an Audit Trail
Controlling the Audit Trail
Reading and Determining the Status of the Audit Trail
Audit Trails and CEDA Processing
Examples of Using Audit Trails
Understanding Generation Data Sets (1/2)
Understanding Generation Data Sets (2/2)
Definition of Generation Data Set
Terminology for Generation Data Sets
Invoking Generation Data Sets
Understanding How a Generation Group Is Maintained
Processing Specific Versions of a Generation Group
Managing Generation Groups
Understanding Integrity Constraints (1/3)
Understanding Integrity Constraints (2/3)
Understanding Integrity Constraints (3/3)
Definition of Integrity Constraints
General and Referential Integrity Constraints
Preservation of Integrity Constraints
Indexes and Integrity Constraints
Locking Integrity Constraints
Encryption and Integrity Constraints
Specifying Integrity Constraints
Specifying Physical Location for Inter-Libref Referential Integrity Constraints When Sharing Disk Space
Listing Integrity Constraints
Rejected Observations
Integrity Constraints and CEDA Processing
Examples
Understanding SAS Indexes (1/5)
Understanding SAS Indexes (2/5)
Understanding SAS Indexes (3/5)
Understanding SAS Indexes (4/5)
Understanding SAS Indexes (5/5)
Definition of SAS Indexes
Benefits of an Index
The Index File
Types of Indexes
Deciding Whether to Create an Index
Guidelines for Creating Indexes
Creating an Index
Using an Index for WHERE Processing
Using an Index for BY Processing
Using an Index for Both WHERE and BY Processing
Specifying an Index with the KEY= Option for SET and MODIFY Statements
Taking Advantage of an Index
Procedures and SAS Operations That Maintain Indexes
Extended Attributes
Definition
Enabling and Manipulating Extended Attributes
Compressing Data Files
Definition of Compression
Requesting Compression
Disabling a Compression Request
Extending the Observation Count for a 32-Bit SAS Data File (1/2)
Extending the Observation Count for a 32-Bit SAS Data File (2/2)
Definition of Extended Observation Count
Understanding the Extended Observation Count
Using the EXTENDOBSCOUNTER= Option
Recovering from an Exceeded Maximum Observation Count
Extended Observation Count File Attribute
Extended Observation Count Behavior Considerations
Extending the Observation Count in a 64-Bit Operating Environment
When Extending the Observation Count Is Supported
SAS Views
Definition of SAS Views
Benefits of Using SAS Views
When to Use SAS Views
DATA Step Views
Definition of a DATA Step View
Creating DATA Step Views
What Can You Do with a DATA Step View?
Differences between DATA Step Views and Stored Compiled DATA Step Programs
Restrictions and Requirements
Performance Considerations
Example 1: Merging Data to Produce Reports
Example 2: Producing Additional Output Files
PROC SQL Views
Comparing DATA Step and PROC SQL Views
SAS/ACCESS Views
Stored Compiled DATA Step Programs
Definition of a Stored Compiled DATA Step Program
Uses for Stored Compiled DATA Step Programs
Restrictions and Requirements for Stored Compiled DATA Step Programs
How SAS Processes Stored Compiled DATA Step Programs
Creating a Stored Compiled DATA Step Program
Syntax for Creating a Stored Compiled DATA Step Program
Process to Compile and Store a DATA Step Program
Example: Creating a Stored Compiled DATA Step Program
Executing a Stored Compiled DATA Step Program
Syntax for Executing a Stored Compiled DATA Step Program
Process to Execute a Stored Compiled DATA Step Program
Using Global Statements
Redirecting Output
Printing the Source Code of a Stored Compiled DATA Step Program
Example: Executing a Stored Compiled DATA Step Program
Differences between Stored Compiled DATA Step Programs and DATA Step Views
Example of DATA Step Program
Quality Control Application
DICTIONARY Tables
Definition of a DICTIONARY Table
How to View DICTIONARY Tables
About Dictionary Tables
How to View a DICTIONARY Table
How to View a Summary of a DICTIONARY Table
How to View a Subset of a DICTIONARY Table
DICTIONARY Tables and Performance
SAS Catalogs
Definition of a SAS Catalog
SAS Catalog Names
Parts of a Catalog Name
Accessing Information in Catalogs
Tools for Managing SAS Catalogs
Profile Catalog
Definition of a Profile Catalog
How the Information Is Used
How Sasuser.Profile Is Created
Default Settings
How to Recover Locked or Corrupt Profile Catalogs
Catalog Concatenation
Definitions
Example 1: LIBNAME Catalog Concatenation
Example 2: CATNAME Catalog Concatenation
Rules for Catalog Concatenation
About SAS/ACCESS Software
Definition of SAS/ACCESS Software
Dynamic LIBNAME Engine
SAS/ACCESS LIBNAME Statement
Using Data Set Options with SAS/ACCESS Librefs
Embedding a SAS/ACCESS LIBNAME Statement in a PROC SQL View
SQL Procedure Pass-Through Facility
ACCESS Procedure and Interface View Engine
DBLOAD Procedure
Interface DATA Step Engine
Processing Data Using Cross-Environment Data Access (CEDA)
Definition of Cross-Environment Data Access (CEDA)
Advantages of CEDA
SAS File Processing with CEDA
What Types of Processing Does CEDA Support?
Behavioral Differences for Output Processing
Restrictions for CEDA
Understanding When CEDA Is Used to Process a File
Determining Whether Update Processing Is Allowed
Alternatives to Using CEDA
Creating Files in a Different Data Representation
Examples of Using CEDA
Example 1: Automatically Processing a File
Example 2: Creating a New File in a Different Data Representation
Example 3: Changing the Data Representation of an Existing File
SAS 9.4 Compatibility with SAS Files from Earlier Releases
Introduction to Version Compatibility
Comparing SAS 9 to Earlier Releases
SAS 9 File Format
SAS 9 File Extensions
Using SAS Library Engines
File Protection
Definition of a Password
Assigning Passwords
Syntax
Assigning a Password with a DATA Step
Assigning a Password to an Existing Data Set
Assigning a Password with a Procedure
Assigning a Password with the SAS Windowing Environment
Assigning a Password outside of SAS
Removing or Changing Passwords
Using Password-Protected SAS Files in DATA and PROC Steps
How SAS Handles Incorrect Passwords
Assigning Complete Protection with the PW= Data Set Option
Encoded Passwords
Using Passwords with Views
Levels of Protection
PROC SQL Views
SAS/ACCESS Views
DATA Step Views
SAS Data File Encryption
About Encryption on SAS Data Files
SAS Proprietary Encryption
AES Encryption
AES Encryption and Referential Integrity Constraints
Passwords and Encryption with Generation Data Sets, Audit Trails, Indexes, and Copies
Blotting Passwords and Encryption Key Values
Check the SAS Log
Examples of Passwords and Encryption Keys That Are Not Blotted
Using Macros
Length of Passwords
Metadata-Bound Libraries
SAS Engines
Definition of a SAS Engine
Specifying an Engine
How Engines Work with SAS Files
Engine Characteristics
About Engine Characteristics
Read/Write Activity
Access Patterns
Levels of Locking
Indexing
About Library Engines
Definition of a Library Engine
Native Library Engines
Interface Library Engines
Special-Purpose Engines
Character Variable Padding (CVP) Engine
SAS Information Maps LIBNAME Engine
SAS JMP LIBNAME Engine
SAS Metadata LIBNAME Engine
SAS XML LIBNAME Engine
SAS File Management
Improving Performance of SAS Applications
Moving SAS Files between Operating Environments
Repairing Damaged SAS Files
Detecting Damage to SAS Files
Recovering SAS Data Files
Recovering Indexes
Recovering Disabled Indexes and Integrity Constraints
Recovering Catalogs
External Files
Definition of External Files
Referencing External Files Directly
Referencing External Files Indirectly
Referencing Many External Files Efficiently
Referencing External Files with Other Access Methods
Working with External Files
Reading External Files
Writing to External Files
Processing External Files
Industry Protocols Used in SAS
The SMTP E-Mail Interface
Sending E-Mail through SMTP
System Options That Control SMTP E-Mail
Statements That Control SMTP E-mail
FILENAME Statement
FILE and PUT Statements
Universal Unique Identifiers
Universal Unique Identifiers and the Object Spawner
What Is a Universal Unique Identifier?
What Is the Object Spawner?
Defining the UUID Generator Daemon
Installing the UUID Generator Daemon
Using SAS Language Elements to Assign UUIDs
Overview of Using SAS Language Elements to Assign UUIDs
UUIDGEN Function
UUIDCOUNT= System Option
UUIDGENDHOST System Option
Internet Protocol Version 6 (IPv6)
Overview of IPv6
IPv6 Address Format
Examples of IPv6 Addresses
Example of Full and Collapsed IPv6 Address
Example of an IPv6 Address That Includes a Port Number
Example of an IPv6 Address That Includes a URL
Fully Qualified Domain Names (FQDN)
Recommended Reading
Glossary (1/7)
Glossary (2/7)
Glossary (3/7)
Glossary (4/7)
Glossary (5/7)
Glossary (6/7)
Glossary (7/7)
Index (1/6)
Index (2/6)
Index (3/6)
Index (4/6)
Index (5/6)
Index (6/6)
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Prev
Previous Chapter
The SAS Log (2/3)
Next
Next Chapter
By-Group Processing in SAS Programs
174
Chapter 9
•
SAS Output
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset