SAS Institute. The Power to Know
close window

SAS Programming 3: Advanced Techniques and Efficiencies


This course is for SAS programmers who prepare data for analysis. The comparisons of manipulation techniques and resource cost benefits are designed to help programmers choose the most appropriate technique for their data situation.

Learn how to compare various SAS programming techniques that enable you to

  • control memory, I/O, and CPU resources
  • create and use indexes
  • combine data horizontally and vertically
  • use hash and hiter DATA step component objects, arrays, and formats as lookup tables
  • compress SAS data sets
  • sample your SAS data sets.

Who should attend

Experienced SAS programmers

Duration:  3 days

To Register

I am not attending the conference but would like to register for this course. Register Now
This course is not appropriate for beginning SAS software users. Before attending this course, you should have at least nine months of SAS programming experience and should have completed the SAS Programming 2: Data Manipulation Techniques course. Specifically, you should be able to do the following:
  • understand your operating system file structures and perform basic operating system tasks
  • understand programming logic concepts
  • understand the compilation and execution process of the DATA step
  • use different varieties of input to create SAS data sets from external files
  • use SAS software to access SAS libraries
  • create and use SAS date values
  • read, concatenate, merge, match-merge, and interleave SAS data sets
  • use the DROP=, KEEP=, and RENAME= data set options
  • create multiple output data sets
  • use array processing and DO loops to process data iteratively
  • use SAS functions to perform data manipulation and transformations.


This course addresses Base SAS software. This course is appropriate for students who are using SAS 9 software.

Introduction

  • course logisitics
  • measuring efficiencies
  • SAS DATA step processing
Controlling I/O Processing and Memory

  • controlling I/O
  • controlling data set size
  • compressing SAS data sets
  • controlling memory (self-study)
  • controlling the page size and the number of available buffers (self-study)
Accessing Observations

  • creating an index
  • using an index
  • creating a sample data set (self-study)
Introduction to Lookup Techniques

  • introduction to lookup techniques
  • in-memory lookup techniques
  • disk storage techniques
Using DATA Step Arrays

  • using one-dimensional arrays
  • using multidimensional arrays
  • loading a multidimensional array from a SAS data set
Using DATA Step Hash and Hiter Objects

  • introduction
  • using hash object methods
  • loading a hash object with data from a SAS data set
  • using the DATA step hiter object
  • using a hash object for chained lookups (self-study)
Creating and Using Formats

  • using formats as lookup tables
  • using a picture format (self-study)
Combining Data Horizontally

  • DATA step merges and SQL procedure joins
  • using an index to combine data
  • combining summary and detail data
  • combining data conditionally (self-study)
Sorting SAS Data Sets

  • using the SORT procedure
  • BY-group processing (self-study)
Programmer Efficiency

  • introduction
  • writing flexible programs (combining raw data files vertically)
  • creating views
  • using FILE and PUT statements to create a SAS program file
  • using the FCMP procedure (self-study)
Customizing Your SAS Session (Self-Study)

  • introduction
  • editing the configuration file
  • creating an autoexec.sas file
  • using the SAS Registry
Learning More

  • conclusions
  • SAS resources
  • beyond this course
Back to SAS Global Forum Training   Back to SAS Global Forum Training This course description was created using SAS software. PRG3