This course focuses on using the SAS macro facility to design, write, and debug macro programs, with an emphasis on understanding how programs that contain macro code are processed.
Learn how to
- Perform text substitution in SAS code.
- Use macro variables and macro functions.
- Automate and customize the production of SAS code.
- Conditionally or iteratively construct SAS code.
- Write self-modifying, data-driven programs.
Who should attend
Experienced SAS programmers who are familiar with simple SQL queries and well-versed in DATA step processing and who want to write reusable, dynamic programs and automate repetitive processing in SAS
Before attending this course, you should have knowledge equivalent to having completed the SAS Programming 1: Essentials and SAS Programming 2: Data Manipulation Techniques courses. Specifically, you should be able to do the following:
- Write simple SQL queries using the SELECT statement.
- Read from and write to SAS tables using a DATA step.
- Use DATA step programming statements, including IF-THEN/ELSE, DO WHILE, DO UNTIL, and iterative DO.
- Use SAS data set options, including DROP=, KEEP=, and OBS=.
- Use character functions, including SUBSTR, SCAN, and UPCASE.
- Read subsets from tables using the WHERE statement.
- Create and use SAS date values and constants.
- Use Base SAS procedures such as SORT, PRINT, CONTENTS, MEANS, and FREQ.
This course addresses Base SAS software.
This course is appropriate for students who are using SAS 9 software. Demonstrations and practices are based on SAS 9.4M6.
SAS Macro Facility
- Why SAS macro?
- Setting up for this course.
Storing and Processing Text
- Program flow.
- Creating and using macro variables.
Working with Macro Programs
- Macro functions.
- Using SQL to create macro variables.
- Using the DATA step to create macro variables.
- Indirect references to macro variables.
Developing Macro Applications
- Defining and calling a macro.
- Macro variable scope.
- Conditional processing.
- Iterative processing.
- Storing macros.
- Generating data-dependent code.
- Validating parameters and documenting macros.