SAS Advanced Certification Prep Course
Part 1 and part 2
Part 1 and part 2
SAS Advanced Certification Preparation Course
(Exam ID: A00-232)
The full “SAS Programming Advanced Certification Course: SAS SQL / PROC SQL, SAS Macro, and Advanced Techniques and Efficiency” is divided into two parts:
SAS Advanced Programming Part 1: SAS SQL (PROC SQL)
SAS Advanced Programming Part 2: SAS Macro, and Advanced Techniques for Efficiency
Together, these two parts form a comprehensive preparation program for the SAS® Certified Professional: Advanced Programming Using SAS® 9.4 (Exam ID A00-232).
This course is designed for individuals seeking to become advanced SAS programming professionals by earning the official SAS® Advanced Certification.
SAS SQL (35%) included in Part 1 course – Master advanced SQL techniques in SAS
SAS Macro (35%) included in Part 2 course – Develop expertise in macro programming for automation
Advanced Techniques and Efficiencies (30%) included in Part 2 course– Learn optimization strategies for efficient data processing
24/7 access – Learn anytime, anywhere at your convenience.
Pre-recorded lectures – Enjoy a self-paced, user-friendly learning experience.
Structured learning approach – Each lecture begins with key concepts and coding rules presented in PowerPoint slides, followed by hands-on SAS programming sessions. We run SAS programs, explain the code in detail, interpret results, address system messages, and troubleshoot errors.
Downloadable course materials – Access PowerPoint slides, data files, and SAS code for hands-on practice.
Quizzes, coding exercises, and projects – Reinforce learning through interactive practice—because mastery comes with practice!
This course was initially created using the SAS University Edition (downloadable SAS Studio version), which has since been replaced by SAS OnDemand for Academics—a free, web-based version of SAS Studio.
✅ Fully compatible with SAS OnDemand for Academics
✅ Consistent interface, appearance, and functionalities between both versions
✅ Detailed setup instructions for SAS OnDemand for Academics are provided in Section 2
Your honest and thoughtful feedback is highly appreciated! Your ratings help improve course content and enhance your learning experience.
This course is regularly updated to reflect the latest SAS certification changes and incorporate student suggestions, ensuring it remains relevant and valuable. Fair and constructive reviews are essential to improving the course’s quality, and I truly appreciate your honest input. In this field, course ratings above 4.5 are widely regarded as indicators of high-quality content.
Thank you for your support!
Next, feel free to explore our full course content with detailed lecture breakdowns, watch lecture previews on YouTube, visit our course pages for more information, and browse our complete course catalog, featuring both FREE course and premium courses with flexible pricing plans.
Course Contents
Part 1
Section: SQL introduction
· SQL introduction
· Quiz
Section: SAS SQL: SELECT statement: Retrieving Data from a Single Table
· SELECT Statement: Overview
· SELECT Clause: Eliminate Duplicate Rows Using the DISTINCT Keyword
· SELECT Clause: Create Columns
· SELECT Clause: Assign Values Conditionally by Using a CASE Expression
· SELECT Clause: Replace Missing Values with COALESCE Function and Case Expression
· ORDER BY Clause: Sort Data
· WHERE Clause: Retrieving Rows That Satisfy a Condition
· Summarizing Data using aggregate functions (or summary functions)
· GROUP BY Clause: Group Data
· HAVING Clause: Filter Grouped Data
· Quiz
· Coding Exercise
Section: SAS SQL: JOIN: Retrieving Data from Multiple Tables
· Inner Join Data: Use Where Clause, Use Inner Join keyword, Comparison Operators
· Inner Join Data: Effect of Missing Values on Join, Use Multiple Matching Columns
· Inner Join Data: Inner Join More Than Two Tables, Self-Joins
· Outer Join Data: Left, Right and Full Outer Joins
· Specialty Joins: cross joins, union joins, and natural joins
· Comparison of DATA Step Match-Merges with PROC SQL Joins: Part 1
· Comparison of DATA Step Match-Merges with PROC SQL Joins: Part 2
· Quiz
· Coding Exercise
Section: SAS SQL: Subqueries: Using Subqueries to Select Data
· Single-Value and Multiple-Value Subqueries
· Testing for the Existence of a Group of Values
· Correlated Subqueries and Combining a Join with a Subquery
· Multiple Levels of Subquery Nesting
· Quiz
· Coding Exercise
Section: SAS SQL: Combine Queries with Set Operators
· UNION: Produce all unique rows from both queries
· EXCEPT: Produce all unique rows from both queries
· INTERSECT: Produce rows that are common to both query results
· OUTER UNION: Concatenate the query results
· EXCLUSIVE UNION: Produce Rows from the First or Second Query
· Quiz
· Coding Exercise
Section: SAS SQL: Creating and Updating Tables and Views
· Create New Table without Rows by using the CREATE TABLE Statement
· Create Tables from a Query Result using CREATE TABLE with AS Keyword
· Create Tables like an Existing Table with LIKE clause & Copy an Existing Table
· Insert Rows into Tables using Insert Statement with the SET Clause
· Insert Rows into Tables using Insert Statement with the VALUE Clause
· Insert Rows into Tables using Insert Statement with a Query
· Update All Rows with the Same Expression using Update Statement
· Update All Rows with Different Expressions using Update Statement
· Delete Rows with the DELETE statement
· Alter Columns with the ALTER TABLE statement: Add a Column
· Alter Columns with the ALTER TABLE statement: Modify or Delete a Column
· Use SQL Procedure Tables & Delete Tables
· Proc SQL Views: Create, Describe, and Delete PROC SQL Views
· Proc SQL Views: Use Proc SQL Views
· Proc SQL Views: Specify/Use In-Line Views
· Quiz
· Coding Exercise
Section: SAS SQL: Practical Examples Using PROC SQL
· Comparing Old and New Tables
· Overlaying Missing Data Values
· Computing Percentages within Subtotals
· Counting Exact Duplicate Rows in a Table
· Expanding Hierarchical Data in a Table
· Summarizing Data in Multiple Columns
· Creating a Summary Report
· Creating a Customized Sort Order
· Updating a Table with Values from Another Table
Part 2
Section: SAS Macro: SAS Macro Introduction
· SAS Macro Overview
· Replacing Text Strings Using Macro Variables
· Generating SAS Code Using Macros
· Passing Information into a Macro Using Parameters
· Quiz
· Coding Exercise
Section: SAS Macro: Macro Variables & Macro Functions
· SAS macro variables: Introduction
· Automatic macro variables
· User-Defined Macro Variables
· Displaying Macro Variable Values in the SAS Log: using SYMBOLGEN
· Displaying Macro Variable Values in the SAS Log: using %PUT
· Using Macro Quoting Function to Mask Special Characters:%STR
· More on Using Macro Quoting Functions to Mask Special Characters:%STR
· Using Macro Functions to Manipulate Character Strings: %UPCASE
· Using Macro Functions to Manipulate Character Strings: %SUBSTR
· Using Macro Functions to Manipulate Character Strings: %SCAN
· Using %SYSFUNC function to execute other SAS functions
· Combining Macro Variable References with Texts
· Using delimiter for a macro variable name immediately before text
· More on using delimiter for a macro variable name immediately before text
· Quiz
· Coding Exercise
Section: SAS Macro: Create & Use macro variables during a data step or a Proc SQL step
· Use macro variables during execution of a data step: Symput routine
· Create multiple macro variables with SYMPUT and Indirect referencing with &&
· Obtaining Macro Variable Values during DATA Step Execution with SYMGET Function
· Creating Macro Variables during PROC SQL Step Execution: INTO clause
· Creating a series of related Macro Variables with the INTO Clause in Proc SQL
· Creating one macro variable holding a Delimited List of Values with INTO clause
· Quiz
· Coding Exercise
Section: SAS Macro: Creating and Using Macro Programs
· Basic Concepts: Defining, Compiling and Calling Macros
· Developing and Debugging Macros with options: MPRINT, MLOGIC
· Using Macro Parameters: Positional Parameters
· Using Macro Parameters: Keyword Parameters
· Using Macro Parameters: Mixed Parameters
· Processing Statements Conditionally at the macro level: %IF%THEN%ELSE %DO%END
· Processing Statements Interactively With the iterative %DO statement
· Quiz
· Coding Exercise
Section: Advanced Techniques and Efficiencies: Indexes
· Index Overview & Create Indexes in Data step
· Managing Indexes with PROC DATASETS
· Managing Indexes with PROC SQL
· Quiz
· Coding Exercise
Section: Advanced Techniques and Efficiencies: Combining Data Vertically
· Combining Data Vertically using FILENAME statement
· Combining Data Vertically using FILEVAR = option
· Quiz
· Coding Exercise
Section: Advanced Techniques and Efficiencies: Horizontally Combining Data
· Combine Summary Data and Detail Data conditionally with multiple SET statements
· Combine Data with multiple SET statements with KEY = option: Using an Index
· Using Hash Objects as Lookup Tables
· Quiz
· Coding Exercise
Section: Advanced Techniques and Efficiencies: Formats & Arrays
· Creating Custom Formats Using the PICTURE Statement
· Stored custom formats permanently & Manage it with FMTSEARCH= system option
· Use formats to create data via lookups
· Using the ARRAY Statement to Combine Data
· Processing data with multiple dimensional Arrays
· Quiz
· Coding Exercise
Section: Advanced Techniques and Efficiencies: Perform effective benchmarking
· Understand resources related to efficiency
· Use SAS system options to track resources
· Using Benchmarks to Compare Techniques
· Quiz
Section: Advanced Techniques and Efficiencies: Controlling Data Storage Space
· Reducing length for Numeric Variables
· Compressing Data Files
· use SAS data steps views to conserve data storage space
· Quiz
· Coding Exercise
Section: Advanced Techniques and Efficiencies: PROC FCMP: functions and subroutines
· Create and use user-defined Functions with PROC FCMP
· Create and use Subroutines with PROC FCMP
· Quiz
· Coding Exercise
Section: Advanced Techniques & Efficiencies: compare techniques to eliminate duplicates
· eliminate duplicate data using Data step
· eliminate duplicate data using Proc Sort
· eliminate duplicate data using Proc SQL
· Quiz
· Coding Exercise