SAS Programming

SAS users who wish to extend their knowledge of SAS software. The course builds on the tools and techniques taught in the SAS Fundamentals course.


Ideally the delegate will have attended the SAS Fundamentals course or have an equivalent level of competence. This course is a significant step up from the SAS Fundamentals training course; we recommend that attendees have three to six months of SAS programming experience


After the course, attendees will have a thorough knowledge of the internals of the SAS System, be able to write advanced data steps, combine and transpose SAS files and deal with many kinds of data manipulation problems, as well as being able to write more efficient programs.



  • Course Objectives
  • Refresh on SAS and the SAS Environment
  • Writing SAS Programs
  • The Data Step and Data Manipulation
  • Analysis and Reporting

Combining SAS Files

  • Overview
  • Appending SAS Files
  • MERGE Applications
  • UPDATE Applications
  • Table Lookups
  • Workshop Session

Data Step Internals

  • Data Step Processing Logic
  • Compilation & Execution
  • Workshop Session

Summarising Data

  • Data Summarisation
  • Data Transposition
  • DATA Step Methods
  • Workshop Session

Data Handling

  • Functions and Call Routines
  • Formatting Techniques
  • Workshop Session

Reading External Files

  • Review of Simple Methods
  • Format Modifiers
  • Read, Test and Read in the Rest
  • Reading Files with a Constant Number of Repeating Groups
  • Files with Delimiters
  • Creating Reports using DATA_NULL_StepsCreating Reports using DATA_NULL_Steps
  • Workshop Session

Data Step Processing

  • Dataset Options
  • SELECT Statements
  • Loops 
  • Arrays

Managing the SAS Environment

  • Data Libraries
  • Password Protection
  • System Options and Utilities
  • Batch Processing
  • Workshop Session

Reading Data From SAS Files

  • Overview
  • SET Applications
  • Sampling from SAS Data Files
  • Workshop Session

Advanced Reading of External Files (Reference)

  • Multiple Input Files
  • Reading Variable Length Data
  • Reading with Transposition
  • Reading Files with a Varying Number of Repeating Groups
  • Further Examples of using the Trailing @ Sign 
  • Register Online