All Courses:

| List Complete | List by Job Role

SAS Programming 3: Advanced Techniques and Efficiencies (PRG3)

Course duration: 3 days


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.

This course can help prepare you for the following certification exam(s): SAS Advanced Programming Exam for SAS 9.

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


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.

Course Outline


  • 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 file
  • using the SAS Registry
Learning More
  • conclusions
  • SAS resources
  • beyond this course

Course Materials

Classroom: Students attend classroom courses in one of our public training centers. You receive a hardcopy of the course notes and, in some courses, can choose to take home a copy of the course data.

Live Web: Students attend Live Web classes using a Web browser and a telephone and interact with their instructor and fellow classmates in real time. Each student receives an e-mail with instructions on how to join the class three business days before the class begins. The instructions e-mail includes a link to download the course materials. Students need to download and print the course materials prior to class.

e-Course: Students have unlimited 24/7 access to the product for the specified license period. The course requires only a standard Web browser and a free Flash plug-in. The course includes data that can be downloaded, printable lesson summaries, a Quick Reference Guide, practices and solutions, step-by-step demonstrations, and a Certificate of Completion.

System Requirements

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

For Live Web,

  • review and meet the general system requirements.
  • complete the course exercises through our virtual lab. The virtual lab allows you to access the software used in class over the Internet, so that you do not need this software on your local machine.
  • run this test to connect to a virtual lab session.
For e-Courses,
  • use Internet Explorer 6.0 or later or Firefox 1.5 or later, with JavaScript and cookies enabled
  • have the latest version of Macromedia Flash Player installed
  • have base SAS software visible on the same machine that you are taking the training on so that you can practice your new skills in your own SAS environment. |
Terms of Use & Legal Information | Privacy Statement