Skip to Content
Home /  Courses And Programs / SAS Programming II: Advanced DATA Step Programming

A common perplexity facing beginning SAS programmers is that the SAS data set that they create is not what they intended to create; i.e. there are more or less observations than intended or the value of the newly-created variable was not retained correctly. These types of mistakes are most commonly committed because programming novices learn SAS language syntax without understanding the fundamental SAS programming concepts.

This course provides a comprehensive overview of how the SAS DATA step processes during the compilation and execution phases. Course topics include understanding how the program data vector (PDV) works, BY-group processing, writing loops in the DATA step, and array processing. Many programming work-related examples will be demonstrated and students will also have opportunities to practice solving real-life problems via exercises and assignments.

Topics include:

  • Creating variables conditionally
  • Understanding how the PDV works
  • BY-group processing in the DATA step
  • Writing loops in the DATA step
  • Array processing
  • Combining data sets
  • DATA Step functions
  • Useful SAS procedures

Practical experience:

  • Writing SAS programs to read in data, perform data cleaning, and manipulate data

Software: Students must download and install SAS OnDemand for Academics: Enterprise Guide. There is no additional cost for this product. Registration and download information will be provided by the instructor.

Course typically offered: Online in Winter and Summer

Prerequisites: SAS Programming I: DATA Step and PROC Fundamentals or one year of SAS programming experience is required.

Next Steps: Upon completion of this course, consider taking PROC SQL using SAS, SAS Macro Programming, or Output Delivery System (ODS) and Data Visualization Essentials using SAS to continue learning.

More Information: For more information about this course, please contact

Course Number: CSE-41183
Credit: 3.00 unit(s)

+ Expand All