SAS Macro Language (Coursera)

Offered by SAS,
SAS Macro Language (Coursera)

In this course, you learn advanced techniques within the DATA step and procedures to manipulate data.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

Course Learning Objectives: (3+ per course)
“By the end of this course, a learner will be able 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.
Course 2 of 3 in the SAS Advanced Programmer Professional Certificate

Syllabus

WEEK 1
Introduction
In this module you'll get an overview of this course and set up your practice files. Then you'll explore macro programming and learn what the macro facility will enable you to do and why it can make your job as a SAS programmer easier.

WEEK 2
SAS Macro Facility
In this module, you learn how SAS processes code behind the scenes. This is important because mastering the SAS macro facility is only possible if you understand how macro language elements impact this processing. You also learn how to create and use macro variables to dynamically modify text in a program.

WEEK 3
Storing and Processing Text
In this module, you learn more about storing and processing text. You learn to use macro functions to manipulate text, and how to use both PROC SQL and the DATA step to create macro variables based on values read from your data. You also learn how to use indirect referencing to look up a macro variable's value based on another macro variable.

WEEK 4
Working with Macro Programs
In this module, you learn to write and call macro programs to generate SAS code based on input values. You also learn about macro variable scope - where macro variables are stored and how long they are available. Finally you learn about conditionally generating and processing code using macro IF/THEN statements, and iterative processing with macro DO loops.

WEEK 5
Developing Macro Applications
In this module you learn how to store and retrieve macros so they are available in any SAS session. You also learn to build data-driven macro applications that dynamically generate SAS code based on values in your data. Finally, you learn to build safety precautions and documentation into your macro applications so that they correct themselves if problems occur, or provide helpful messages to direct the user to a resolution.

WEEK 6
Case Study (Optional - Honors)
In this case study, you solve a real-world business problem by applying concepts that you learned in this course.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Introduction to .NET Core (Coursera) Coursera
Board Infinity

Introduction to .NET Core (Coursera)

This course is an introductory-level course for software developers who want to learn the basics of developing applications with .NET Core. .NET Core is a cross-platform, open-source development platform that allows developers to create applications for Windows, Linux, and macOS. Throughout this course, students will learn the fundamental concepts of .NET Core, including its architecture, programming model, and tools. They will also learn how to create, build, and deploy applications using .NET Core.

Aug 10th 2026
3 Weeks
Software Design Methods and Tools (Coursera) Coursera
University of Colorado System

Software Design Methods and Tools (Coursera)

Since many software developers are compulsive coders, they have created software over the years to help them do their job. There are tools which make design and its associated tasks easier. The course introduces some basic tools and techniques to help you with design. Tools aren’t always tangible, however. The last two lessons of this course discuss questions of Ethics in software development. The purpose here is, as with tools, to equip you to better carry our your responsibilities as a designer. Students will be required to have a prior knowledge of writing and delivering software and some programming knowledge in java.

Aug 3rd 2026
5-12 Weeks
Lean Software Development (Coursera) Coursera
University of Minnesota

Lean Software Development (Coursera)

While scrum and XP were transforming the software development industry, there were another set of ideas (derived from lean manufacturing and Six Sigma) that started to influence software development methods. These ideas around Lean Software Development forms the foundation of number of agile methods. In this course, we will explore lean concepts and cover some of the common Lean methods and techniques like Kanban, Value Stream Mapping, etc.

Aug 3rd 2026
4 Weeks
AI for Efficient Programming: Harnessing the Power of LLMs (Coursera) Coursera
Fred Hutchinson Cancer Center

AI for Efficient Programming: Harnessing the Power of LLMs (Coursera)

This course on Artificial Intelligence (AI) for software development explores the use of AI large language models such as ChatGPT, Bard, and others and their potential benefits and challenges. Through examples and hands-on activities, you will develop an understanding of the ways in which AI can speed up software development tasks and free up time for more creative and strategic work.

Aug 10th 2026
4 Weeks
Continuous Delivery & DevOps (Coursera) Coursera
University of Virginia

Continuous Delivery & DevOps (Coursera)

Amazon famously delivers new code every 11.6 seconds. Just a few years ago, this was unthinkable: many ‘cutting edge’ firms would release software quarterly. When it comes to digital innovation, velocity is critical and many would say it’s the most reliable determinant of success. Bringing an organization to the state of the art (or even functional capability) in this area requires strong work in a combination of disciplines and a combination of both technical and managerial skills. There is no single cookie-cutter approach for achieving this capability.

Aug 10th 2026
4 Weeks
Client Needs and Software Requirements (Coursera) Coursera
University of Alberta

Client Needs and Software Requirements (Coursera)

This course covers practical techniques to elicit and express software requirements from client interactions. Upon successful completion of this course, you will be able to: Create clear requirements to drive effective software development; visualize client needs using low-fidelity prototypes; maximize the effectiveness of client interactions - adapt to changing product requirements.

Aug 3rd 2026
4 Weeks
Concurrent Programming in Java (Coursera) Coursera
Rice University

Concurrent Programming in Java (Coursera)

This course teaches learners (industry professionals and students) the fundamental concepts of concurrent programming in the context of Java 8. Concurrent programming enables developers to efficiently and correctly mediate the use of shared resources in parallel programs. By the end of this course, you will learn how to use basic concurrency constructs in Java such as threads, locks, critical sections, atomic variables, isolation, actors, optimistic concurrency and concurrent collections, as well as their theoretical foundations (e.g., progress guarantees, deadlock, livelock, starvation, linearizability).

Aug 3rd 2026
4 Weeks
Software Design as an Element of the Software Development Lifecycle (Coursera) Coursera
University of Colorado System

Software Design as an Element of the Software Development Lifecycle (Coursera)

This course talks about software development lifecycles a description/prescription for how we write software. Design is a step in this life cycle, and the course explores the implications of this. Design has a role in the life cycle; it is always there, regardless of the kind of life cycle we’re talking about. Why is that? Why was design considered as a step in this life cycle?

Aug 3rd 2026
5-12 Weeks
Introduction to Programming with MATLAB (Coursera) Coursera
Vanderbilt University

Introduction to Programming with MATLAB (Coursera)

This course teaches computer programming to those with little to no previous experience. It uses the programming system and language called MATLAB to do so because it is easy to learn, versatile and very useful for engineers and other professionals. MATLAB is a special-purpose language that is an excellent choice for writing moderate-size programs that solve problems involving the manipulation of numbers.

Aug 3rd 2026
5-12 Weeks
Agile Software Development (Coursera) Coursera
University of Minnesota

Agile Software Development (Coursera)

Software industry is going crazy on agile methods. It is rapidly becoming the choice for software development where requirements are unpredictable or is expected to change over time. This course will help you gain knowledge on what is agile? Why agile is better suited for these situations? We will also cover some of the most common agile frameworks like scrum and XP in depth.

Aug 3rd 2026
4 Weeks
Capstone: Autonomous Runway Detection for IoT (Coursera) Coursera
EIT Digital

Capstone: Autonomous Runway Detection for IoT (Coursera)

The students will develop a larger system using the learning outcomes from these courses, and the students will evaluate the developed system in a real-world programming environment. This course is a true engineering task in which the student must, not only implement the algorithm code, but also handle the interfaces between many different actors and hardware platforms.

Aug 10th 2026
3 Weeks