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.
This course can help prepare you for the following certification exam(s): SAS Advanced Programming for SAS 9, SAS Certified Clinical Trials Programmer Using SAS 9.
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
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.
- 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 references
- macro functions
DATA Step and SQL Interfaces
- defining and calling a macro
- macro parameters
- creating macro variables in the DATA step
- indirect references to macro variables
- creating macro variables in SQL
- conditional processing
- parameter validation
- iterative processing
- global and local symbol tables
- SAS resources
- beyond this course