• Online, Self-Paced
Course Description

Effectively getting data into and out of SAS is key for a SAS programmer. Data will come in a variety of formats, and different output formats will be required. This course covers inputs and outputs from the SAS system. It also covers various functions for data transformation, and some methods for debugging your programs. This course is one of a series that prepares you for the SAS certification exam, SAS Certified Base Programmer for SAS 9.

Learning Objectives

Input and Output

  • start the course
  • control when SAS writes an observation to a data set using an OUTPUT statement
  • write to more than one SAS data set
  • control SAS variable input and output with DROP and KEEP
  • control SAS observation input and output with OBS and FIRSTOBS

Data Summarization

  • use the RETAIN statement to create an accumulating variable in SAS
  • use the SUM statement to create an accumulating variable in SAS
  • summarize data by groups using BY-Group processing in SAS
  • summarize data by multiple groups using BY-Group processing in SAS

Read Raw Data

  • use column input to read input data that is arranged in columns or fixed fields in SAS
  • use formatted input to read both standard and nonstandard data that is arranged in fixed fields in SAS
  • use multiple INPUT statements to read a group of records in a raw data file as a single observation in a new data set in SAS
  • use a line-hold specifier to prevent the second INPUT statement in a DATA step from moving to the second line in a raw data file in SAS
  • using the MISSOVER and DSD options to control behavior with missing values in raw data in SAS

Data Transformation

  • use various SAS functions to perform transforms or calculations on variables
  • use SAS functions to extract and transform character values, including SUBSTR, LEFT, RIGHT, CHAR, PROPCASE and LENGTH
  • create pie charts using the SAS/GRAPH Statistical Graphics Procedures
  • use SAS functions to find and modify character values, including FIND, SUBSTR, COMPRESS and TRAINED
  • use descriptive SAS statistical functions, such as SUM, MIN, MAX and MEAN
  • truncate numerical SAS values by using the ROUND, INT, FLOOR, and CEIL functions
  • convert between SAS data types using INPUT and PUT functions


  • debug SAS programs using the PUTLOG statement
  • debug logic errors in SAS programs

Practice: Data Manipulation

  • create a program that manipulates input data

Framework Connections

The materials within this course focus on the Knowledge Skills and Abilities (KSAs) identified within the Specialty Areas listed below. Click to view Specialty Area details within the interactive National Cybersecurity Workforce Framework.