Advanced SAS: Indices & the Macro Facility #3
3.9 (41 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
416 students enrolled

Advanced SAS: Indices & the Macro Facility #3

Advanced SAS. SAS Macro. SAS Macro language. SAS Macro Functions. SAS Macro Variables. SAS Macro do loop.
3.9 (41 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
416 students enrolled
Created by Ermin Dedic
Last updated 4/2018
English [Auto-generated]
Current price: $11.99 Original price: $199.99 Discount: 94% off
30-Day Money-Back Guarantee
This course includes
  • 2 hours on-demand video
  • 5 articles
  • 8 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Assignments
  • Certificate of Completion
Training 5 or more people?

Get your team access to Udemy's top 3,000+ courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Decipher if indices should be applied in your particular context
  • Improve speed/performance when sub-setting data with Indices

  • Create the two types of indices and utilize the index options

  • Select the right variables for your Index
  • Perform common tasks on Indexed data sets and understand the ramifications
  • Update your indexed master data set with the latest transactions
  • Create macro variables to help you with lengthy code and cut down on errors
  • Create Macro programs to reduce repetitive coding, and save time and money.
  • Save time by understanding macro assignment rules before you create your first macro
  • Apply macro functions to manipulate character strings
  • Debug problems when they occur
  • Should be comfortable with SAS Base Programming. (importing, working with data, sas functions, etc)
  • If you want to follow along, a software of your choosing. Software options and how to download them are available in lecture 2

*This course uses a license from WPS. *

Note:  This course does not cover SAS Base knowledge or SAS SQL, as that has been covered in my other courses.


This is the 3rd course in my SAS series.

If you want to become an advanced SAS programmer, then this course is for you. Advanced SAS Ninja Certificate: Indices & the Macro Facility introduces you to Indices and Macro programming. In this course, you'll improve your system performance by learning how to create Indices in a number of different ways, and you'll create macro programs that will help you cut down on repetitive coding, which helps you save time and money.

Some of the things you will gain skills in:

create, update, and utilize Indexes.

create a logistic regression macro program.

create a macro that prints different reports depending on the day.

create a macro that calculates statistics for multiple years.

Why Learn [Advanced SAS]
Learning Advanced SAS programming can benefit you professionally as obtaining macro programming skills can increase your position or salary at your company.  It is an excellent skill for individuals who want to work for large companies to lead these companies and boost your career prospects as a Advanced SAS programmer.

Who this course is for:
  • Individuals who work with large data sets and deal with performance problems
  • Individuals who perform many repetitive programming tasks or deal with lengthy code
  • Individuals who are comfortable with SAS Base Programming
  • Individuals that are looking to add some advanced SAS programming skills/knowledge
Course content
Expand all 31 lectures 01:59:23
+ Introduction To Course
3 lectures 07:23

In this intro to the course, I discuss the objectives of the course, and why as a result of those objectives it made sense to cover Indices and Macro facility. 

Preview 02:25
Installing The Software Of Your Choice

This is where you can download any data sets used in the videos.

Data Sets Used In Course
+ Introduction To Indexes
13 lectures 37:26

I introduce what the section will cover, and why I decided to have a section on Indices.

Preview 01:56

You should not always use an index. I give you the two main considerations when deciding if to create one.

Preview 02:01

I explain the two types of indexes that you can create.

Preview 02:01

There are two main index options, and it makes sense to sometimes utilize one or both.

Index Options

This activity will let you test how your system deals with a large data-set with and without an index.

An Activity: Testing with Large Dataset

Selecting discriminant variables is very important when you're deciding what variable to index on.

Preview 04:18

You can use proc datasets to create a simple or composite index on an already existing SAS data set.

Proc Datasets and Where Expression (used on existing datasets)

I explain how you must use the by statement if you want to exploit/utilize the index/indices you have created.

By Statement (Sorting variables, while exploiting your Index)
Using Proc SQL to Create Indices (used on existing datasets)
Creating An Index during Data Step Excecution
Deleting Indices

How do you handle common tasks like renaming data-sets or variables when you have an indexed data set?

Handling Common Tasks With An Indexed Data Set

Sometimes, rather than just combining data from two data sets, you might want to update the data in one data set with data that is stored in another data set.

Updating the Master Data Set With New Variables Or Observations
This assignment tests your knowledge in terms of creating, updating, and using an index.
Creating, Updating, and Using an Index
5 questions
+ Macro Programming
12 lectures 50:11

A small article introducing you to the Macro Facility.

Macro Facility

I discuss the two different types of macro variables.

Types of Macro Variables

SAS stores all the automatic and user-defined macro variables and their values, so you don't have to remember all of them.

Don't Lose Track Of Your Macro Variables And Their Values

It is important to understand the macro variable assignment rules to get a sense of what you can and can't do.

Macro Variable Assignment Rules

Sometimes you want to include special characters as part of your macro variable these cases you have to understand how to mask these special characters.

Masking Special Characters

I show you how to manipulate character strings using macro functions. In this video I will cover %Index and %Upcase.

Macro Functions (%Index and %Upcase)
Macro Functions 2 - (%Scan)

Intro to Macros or Macro programs.

Macro Programs Intro

How to create a macro that creates different sales reports depending on the day.

Macro - Different Sales Reports Depending on Day

You want to calculate the average salary for multiple years (5, 10, 20yrs)..well there is an easier way with macros. Less code.

Macro - Calculating Average Sales for Multiple Years
The last macro program utilized do group processing to help us obtain the avg salaries for multiple years without using a lot of code. I'd like you to add one aspect to that existing code as part of this assignment. Watch the video for further instructions.
Macro Practice Assignment
1 question

I'll discuss two system options that are useful in terms of debugging.

Debugging Options

I show you one way to store your macros permanently. 

Storing Macros (External)
Answer the following questions about the macro facility.
Some MC and T or F questions on Macro Section
6 questions
+ Macro Program Case Study
3 lectures 20:09

Making a sophisticated, useful, and flexible macro program is not easy. Brainstorming is a vital component! 


Part 1 of the logistic macro case study.

Case Study Part 1 - Logistic Macro

Part 2 of logistic macro case study.

Case Study Part 2 - Logistic Macro
Some short answer questions based on the case study.
Case Study Questions
1 question