support & services / Education

SAS Macro Language 2: Developing Macro Applications – MAC2

This course is designed for experienced SAS macro programmers who want to learn to develop and use macro applications. New techniques and best practices are taught within the context of the applications.

2 days - Classroom

Learn how to

  • create a framework for developing macro applications
  • develop reusable macros
  • read and process data
  • pass and process macro parameters.

Who should attend?

Experienced SAS macro programmers who have a solid understanding of the macro facility


In order to be successful in this course, you should have completed the SAS Macro Language 1: Essentials course or have equivalent knowledge and experience. You should also have a solid understanding of DATA step programming. Specifically, you should be able to

  • write macro programs that contain iterative processing and conditional processing
  • create local and global macro variables
  • create macro variables using the SYMPUTX routine
  • utilise indirect macro variable references
  • utilise the SQL procedure SELECT statement INTO clause.

Course Contents


  • course logistics
  • course overview

Framework for Developing Macro Applications

  • applying best practices
  • debugging and troubleshooting
  • generating custom messages
  • creating efficient macros
  • understanding symbol tables
  • creating portable applications (self-study)

Reading and Processing Data

  • processing SAS data sets
  • processing external files

Developing Reusable Macros

  • developing macro routines
  • developing macro functions

Passing and Processing Macro Parameters

  • validating parameter values
  • data-driven macro calls
  • working with special characters

Software Addressed

This course addresses the following software product(s): Base SAS. This course also addresses SAS/ACCESS Interface to PC File Formats. This course is appropriate for learners who are using SAS 9 software.

Book Your Place Today