Advanced SAS Programming

Standard Course
£700 +VAT
per delegate
Course duration: 2 Days

After two day of instructor led tuition attendees will be able to:

  • Understand the trade-off between writing shorter complex code for the ease of sharing code between programmers;
  • Apply best practices in Base SAS Programming;
  • Know when to apply and how to manage SAS indexes for Base SAS data sets;
  • Use advanced programming within the DATA step;
  • Program DATA step object components.

Who is it for?

Existing programmers in the SAS language who wish to gain best practice programming knowledge. Those who wish to process efficiently within the DATA step, in addition to configure their SAS environment to maximise data throughput.


The Advanced SAS Programming course builds on the core concepts of Base, Macro and SQL programming and assumes the delegate already has a working knowledge of the following.
Using either the SAS Display Manager, SAS Enterprise Guide or SAS Studio to:

  • Write DATA step code using
    • Data set options such as KEEP, DROP, RENAME and WHERE
    • Use routine DATA step constructs like IF statements, DO loops and arrays
    • Create variables using expressions and functions
    • Read data using the SET or MERGE statements
    • Import data using the INFILE and INPUT statements
  • Familiarity with the following SAS procedures:
    • Proc SORT
    • Proc FORMAT
    • Proc TRANSPOSE
    • Proc MEANS / Proc SUMMARY
  • Use of BY-group processing (i.e. using a BY statement in DATA and Proc steps)
  • Understand when and how to use Informats and Formats
  • Understand the Compilation and Execution phases of the DATA step
  • Understand how macro variables are created, resolved and stored
  • Understand how to create macros with parameters, macro statements and use macro debugging options
  • Create and resolve macro variables within the DATA step
  • Write basic SQL queries to extract data from one or more tables of data.

What you will learn

  • Organising Your SAS Resources
  • Environments & Release Management
  • Autoexec Programs
  • SAS Libraries
  • Collaborative Programming
  • Workshop Session

  • Design Patterns for SAS Programs
  • Programming Practice
  • Complexity vs Clarity
  • Workshop Session

  • SAS Indexes
  • SAS Views
  • Compression
  • Generation Data Sets (Optional)
  • Workshop Session

  • Introducing Regular Expressions
  • Further Regular Expression Syntax
  • Changing Test Using PRXCHANGE
  • Further Matching Facilities
  • Additional Features (Optional)
  • Workshop Session

  • Introduction to Hash Objects in the DATA Step
  • Declaring and Using a Hash Object
  • Declaring and Using a Hash Iterator Object
  • Hash and Hash Iterator Object Attributes and Methods
  • Duplicate Keys Lookups
  • Workshop Session

  • Introduction
  • Data Step Merge
  • Hash Join
  • SQL Join
  • Using Formats
  • Using Indexes
  • Techniques for Subsetting Data
  • Guidelines
  • Workshop Session

  • Introduction to Proc FCMP
  • Functions
  • Subroutines
  • SAS Syntax in the Proc FCMP Environment
  • RUN_MACRO and RUN_SASFILE (Optional)
  • Workshop Session

  • What is Efficiency?
  • Diagnosing Performance Issues
  • I/O Performance
  • Sorting Data
  • Efficient use of Storage Space
  • Efficient Programming Practices
  • Workshop Session

Advanced SAS Programming Course Dates

Our courses are live instructor-led and can be attended virtually or at our office.

  • Thursday 15 February 2024 - Friday 16 February 2024
    Book now
  • Monday 13 May 2024 - Tuesday 14 May 2024
    Book now
  • Thursday 08 August 2024 - Friday 09 August 2024
    Book now
  • Thursday 07 November 2024 - Friday 08 November 2024
    Book now
Back to Training

Talk to us about how we can help