support & services / Education

SAS Programming 2: Data Manipulation Techniques – PRG2

This course is for those who need to learn data manipulation techniques using SAS DATA and procedure steps to access, transform, and summarise SAS data sets. The course builds on the concepts that are presented in the SAS Programming 1: Essentials course and is not recommended for beginning SAS software users.


3 days - Classroom

SAS Programming Certification Packages

SAS Certification 

To take advantage of one of the SAS Programming Certification Packages, simply quote 'BEST VALUE' in the Campaign Code field when booking your first item. We will then contact you to prompt the purchases of the other package items.

Learn how to

  • control SAS data set input and output
  • combine SAS data sets
  • summarise, read, and write different types of data
  • perform DO loop and SAS array processing
  • transform character, numeric, and date variables

Who should attend?

Business analysts and SAS programmers


Before attending this course, you should have at least six months of experience writing SAS programs or have completed the SAS Programming 1: Essentials course and used SAS for at least one month. Specifically, you should be able to

  • submit a SAS program
  • diagnose and correct syntax errors
  • examine descriptor and data portions of a SAS data set
  • access SAS data libraries
  • read and create SAS data sets
  • read Excel spreadsheets
  • read delimited raw data files
  • examine data errors when reading raw data files
  • use SAS procedures to validate data
  • clean invalid data
  • create variables
  • combine SAS data sets
  • use global statements
  • use labels and formats, including user-defined formats
  • subset observations
  • direct output to external files
  • produce summary reports using the FREQ and MEANS procedures

Course Contents


  • course logistics
  • course overview
  • SAS syntax review
  • navigating the SAS windowing environment (self-study)

Controlling Input and Output

  • outputting multiple observations
  • writing to multiple SAS data sets
  • selecting variables and observations

Summarising Data

  • creating an accumulating total variable
  • accumulating totals for a group of data

Reading Raw Data Files

  • reading raw data files with formatted input
  • controlling when a record loads
  • additional techniques for list input (self-study)

Data Transformations

  • manipulating character values
  • manipulating numeric values
  • converting variable type

Debugging Techniques

  • using the PUTLOG statement
  • using the DEBUG option

Processing Data Iteratively

  • DO-loop processing
  • SAS array processing
  • using SAS arrays

Restructuring a Data Set

  • rotating with the DATA step
  • using the TRANSPOSE procedure

Combining SAS Data Sets

  • using data manipulation techniques with match-merging

Other SAS Languages

  • an overview of other languages
  • using the SQL procedure
  • the SAS macro language

Learning More

  • SAS resources
  • beyond this course

Software Addressed

This course addresses the following software product(s): Base SAS. This course is appropriate for learners who are using SAS 8 or SAS 9 software.