There is a new version of this course. Please see SAS Macro Language 1: Essentials.
This course focuses on the components of the SAS macro facility and how to design, write, and debug macro systems. Emphasis is placed on understanding how programs with macro code are processed.
Learn how to
- perform text substitution in SAS code
- automate and customize the production of SAS code
- conditionally or iteratively construct SAS code
- use macro variables and macro functions.
Who should attend
Experienced SAS programmers who have a sound understanding of DATA step processing and who want to write SAS programs that are reusable and dynamic
||14 hours/180 day license
Before attending this course, you should have completed the SAS Programming 2: Data Manipulation Techniques course or have equivalent knowledge. Specifically, you should be able to
- use a DATA step to read from or write to a SAS data set or external file
- use DATA step programming statements such as IF-THEN/ELSE, DO WHILE, DO UNTIL, and iterative DO
- use SAS data set options such as DROP=, KEEP=, and OBS=
- use character functions such as SUBSTR, SCAN, INDEX, and UPCASE
- form subsets of data using the WHERE clause
- create and use SAS date values and constants
- use SAS procedures such as SORT, PRINT, CONTENTS, MEANS, FREQ, TABULATE, and CHART.
This course addresses Base SAS software.
This course is appropriate for students who are using SAS 9 software.
Introduction to the Macro Facility
- course logistics
- purpose of the macro facility
- program flow
- introduction to macro variables
- automatic macro variables
- macro variable references
- user-defined macro variables
- delimiting macro variable names
- macro functions
DATA Step and SQL Interfaces
- defining and calling a macro
- macro parameters
- macro storage (self-study)
- creating macro variables in the DATA step
- indirect references to macro variables
- retrieving macro variables in the DATA step (self-study)
- creating macro variables in SQL
- conditional processing
- parameter validation
- iterative processing
- global and local symbol tables
- SAS resources
- other recommended courses