SAS Programming 2: Data Manipulation Techniques

Register* for Upcoming Training

June 4 - 6

August 14 - 16

November 12 - 14

*Please Note: Completing the registration form will result in the generation of an invoice. Payment is expected within 30 days of course completion. Cancellation less than two weeks prior to class start date will result in a cancellation fee equal to 50% of the registration cost. No Exceptions.

Course Overview

This course is for those who need to learn data manipulation techniques using SAS DATA and procedure steps to access, transform, and summarize 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.
This course can help prepare you for the following certification exam(s): SAS Base Programming for SAS 9, SAS Certified Clinical Trials Programmer Using SAS 9.

Learn how to

  • control SAS data set input and output
  • combine SAS data sets
  • summarize, 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
  • produce summary reports using the FREQ and MEANS procedures.

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

Know more about SAS Training Information


SAS Programming I: $1,650

SAS Programming II: $1,950

SAS Programming I & II: $3,265

Course Outline

Note: This course will last all day for the length of the course. Most classes will start at 9:00AM and end at 5:00PM.


  • course logistics
  • creating course data files

Controlling Input and Output

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

Summarizing 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

Data Transformations

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

Debugging Techniques

  • using the PUTLOG statement

Processing Data Iteratively

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

Restructuring a Data Set

  • rotating with the DATA step

Combining SAS Data Sets

  • using data manipulation techniques with match-merging

Creating and Maintaining Permanent Formats

  • creating permanent formats

Other SAS Languages

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

Learning More

  • SAS resources
  • next steps

Course Logistics

Location: FedEx Institute of Technology, 365 Innovation Drive
Duration: 9:00 AM - 5:00 PM CST

We ask that attendees bring their own device in order to follow along with the class presentations. The temperature in our training room tends to be cooler, we advise you to bring a light jacket or sweater. Parking passes are provided for the garage across to the FedEx Institute of Technology (located on Innovation Drive).

If you have any additional questions please let us know at fedex@memphis.edu.

Travel Information

Click here to learn more about travel information. 

Register >>