SAS® Certification Exam  

"Sunil--you are truly a SAS nerd! Excellent class and excellent instructor! I would recommend anyone who is preparing for their SAS certification exam to take Sunil's Sharpening Your SAS Skills Class.Thank you for your expertise and time. See you at the next PharmaSUG!"

Kathy Zhai, SAS Programmer, United BioSource Corporation, PharmaSUG 2012

SAS® Papers in this section will help you prepare for the SAS® Base and SAS® Advanced exams.  See Compare and Conquer SAS Programming Techniques e-Guide.  Also see SAS Clinical Trials Programmer Certification exam, SAS Technical Interview Preparation and Compare and Conquer SAS Programming Techniques.  

Interested in the self-study Sharpening Your SAS Skills course notes to better prepare for the SAS Base Certification exam?  Email us for more info. 

How good are your SAS® Skills? Want to improve your skills with free SAS training and tech support? Download Q&A slides to confirm.  Test your skills with flashcards and preperation exam.  

     SAS Base Exam Section
                  Syntax Reference, Pocket Reference, Cheat Sheet I, II, III, Proc SQL

     SAS Advanced Exam Section
   1. Import and export raw data files

   2. Manipulate and transform data

   3. Combine SAS data sets

   4. Create basic detail and summary reports using SAS procedures

    5. Identify and correct data, syntax and programming logic errors


   1. Using advanced DATA step programming statements and efficiency techniques to solve complex problems.

    2. Writing and interpreting SAS SQL code

    3. Creating and using the SAS MACRO facility.
 Data Access

 Proc SQL
 Data Management
 SAS Macro Programming
 Data Analysis  SAS Program Efficiency

 Data Presentation

 ODS  - Gallery

 Proc Print

 Proc Report - Gallery

 Proc Tabulate - Gallery

 SAS Version 9.2

 SAS Technical Tips

 SAS Debugging

 SAS Technical Interview Prep

Mock Exam with 145 questionsanswers 
(password required)

(See also Common FAQ sections for DATA Step, Proc Report, etc.)

 Mock Exam (See Common FAQ sections for Proc SQL, Macro Programming and Program Efficiency)

SAS Macro Top Ten Questions (and Answers)


SAS Base Certification Exam Detail Outline with SAS Paper Reference

I. Accessing Data

Use FORMATTED, LIST and COLUMN input to read raw data files

The Power of SAS Input Statements: Imelda C. Go

Use INFILE statement options to control processing when reading raw data files

The SAS INFILE and FILE Statements: Steven First
Use various components of an INPUT statement to process raw data files including column and line pointer controls, and trailing @ controls

The Input Statement: Where It's @ : Ronald Cody

Combine SAS data sets using the DATA step

Get it together: Combining data with SAS® MERGE, UPDATE, and SET : Mel Widawski

II. Creating Data Structures


Create temporary and permanent SAS data sets

A Hands-On Introduction to SAS® DATA Step Programming :Debbie Buck

Create and manipulate SAS date values Looking for a Date? A Tutorial on Using SAS® Dates and Times: Arthur L. Carpenter

Use DATA Step statements to export data to standard and comma delimited raw data files

The Little SAS Book – Chapter 9 Exporting Your Data.
Control which observations and variables in a SAS data set are processed and output Programming with the KEEP, RENAME, and DROP Data Set Options: Stephen Philp WHERE vs. IF Statements: Knowing the Difference in How and When to Apply: Sunil Gupta

III. Managing Data


Investigate SAS data libraries using base SAS utility procedures

PROC CONTENTS and DATASETS from SAS Documentation.

Sort observations in a SAS data set

The SORT Procedure: Beyond the Basics: Britta Kelsey Bassett

Conditionally execute SAS statements


Use assignment statements in the DATA step

How SAS Thinks : Neil Howard
Modify variable attributes using options and statements in the DATA step SAS®'s Various Varying Variables, or 1000+ Ways to Manipulate SAS Variables:Paul A. Choate

Accumulate sub-totals and totals using DATA step statements

The Power of the BY Statement: Paul Choate

Use SAS functions to manipulate character data, numeric data, and SAS date values

An Introduction to SAS Function-ality: Deb Cassidy

Use SAS functions to convert character data to numeric and vice versa

INPUT and PUT function from SAS Documentations.

Process data using DO LOOPS

Do Which? Loop, Until or While? A Review Of Data Step And Macro Algorithms: Ronald J. Fehd

Process data using SAS arrays

Arrays Made Easy: An Introduction to Arrays and Array Processing: Steve First and Teresa Schudrowitz

IV. Generating Reports


Generate list reports using the PRINT and REPORT procedures

A Gentle Introduction to the Powerful REPORT Procedure: Ben Cochran

Generate summary reports and frequency tables using base SAS procedures

Proc FREQ –What's it really good for? Theresa Gordon and Monique Eleby

Enhance reports through the use of labels, SAS formats, user-defined formats, titles, footnotes and SAS System reporting options

SAS Documentation on following topics: Label statement/ dataset option, label option in proc print, title and footnote statement and proc report options like headline, headskip etc.

Generate HTML reports using ODS statements

Creating HTML Output with Output Delivery System, Kirk Paul Lafler

V. Handling Errors

Identify and resolve programming logic errors
Recognize and correct syntax errors
Examine and resolve data errors
Errors, Warnings, and Notes (Oh My) A Practical Guide to Debugging SAS Programs, Susan J. Slaughter and Lora D. Delwiche


SAS Advance Certification Exam Detail Outline with SAS Paper Reference

I. Accessing Data Using SQL


Generate detail reports by working with a single table, joining tables, or using set operators in the SQL procedure.

PROC SQL for DATA Step Die-hards, Christianna S. Williams 

Generate summary reports by working with a single table, joining tables, or using set operators in the SQL procedure.


Construct sub-queries and in-line views within an SQL procedure step.


Compare solving a problem using the SQL procedure versus using traditional SAS programming techniques.

Access Dictionary Tables using the SQL procedure. SAS® DICTIONARY: Step by Step, Patrick Thornton

II. Macro Processing


Create and use user-defined and automatic macro variables within the SAS Macro Language.

Nine Steps to Get Started using SAS® Macros Jane Stroupe

Automate programs by defining and calling macros using the SAS Macro Language.

Understand the use of macro functions. Using Macro Functions, Art Carpenter

Use various system options that are available for macro debugging and displaying values of user-defined and automatic macro variables in the SAS log.


Create data-driven programs using SAS Macro Language.


III. Advanced Programming Techniques


Demonstrate the use of advanced data look-up techniques such as array processing, hash objects, formats, and combining/merging data.

SAS® HASH Programming basics, Daniel Sakya

Reduce computing resource requirements by controlling the space required to store SAS data sets using compression techniques, length statements, or eliminating variables and observations.

Develop SAS programs which incorporate data step views and use the FCMP procedure. Using PROC FCMP to the Fullest: Getting Started and Doing More, Arthur Carpenter

Perform effective benchmarking by using the appropriate SAS System options and interpreting the resulting resource utilization statistics.

SAS® System Options are Your Friends, Edward Heaton

Identify appropriate applications for using indexes and create them using the DATA step, the DATASETS procedure, or the SQL procedure.

The Basics of Using SAS Indexes, Michael A. Raithel

Compare techniques to eliminate duplicate data using the DATA step, the SORT procedure, and the SQL procedure.Checking for Duplicates, Wendi Wright

Sample Practice SAS questions: SAS Institute, SAS Institute Certification Program and Outline

Sample Technical SAS interview questions: 123, 4, 5, 6, 7, 8, 9, 10, 11

SAS Video Tip Insights into SAS Certification exam selection and preparation process, 2

Data Step Processing

Reading, Combining, and Modifying SAS Data Sets

(Click on image below to start SAS® Certification mind map)


To better prepare for career enhancement, I suggest being an expert in these three main areas: data management, advanced SAS® programming, and analytical skills.  Download Quick Results with Proc SQL and Anatomy of SAS Macros e-Guides to better prepare for the SAS® Advanced Certification Exam.

  Is it for You?

Example Questions

1. What are two ways to transpose data? - Proc Transpose and arrays.

2. Other than using Proc Freq, what is another way to count in SAS? - RETAIN, FIRST, LAST.

3. What does the ?? question mark mean in the code y=input(x, ?? 2.)? - Suppress printing or error message and input lines to SAS log and prevents the automatic variable _ERROR_ from being set to 1 when invalid data is read.

4. When comparing -1 and . in SAS, which one is bigger? - The number -1 is bigger.  SAS treats . as the smallest value.

5. What macro function can be used to determine if a dataset exists? - %LET EXIST=%SYSFUNC(EXIST(DATASETNAME));

6. Is CALL SYMPUT macro variable global or local? - Global.


Beginner Paper Basic SAS PROCedures for Generating Quick Results, Kirk Lafler, SAS® Programming Basics: Producing Results from Your Data, Helen Carey

SAS® Training BLOG

SAS Presentation The Worst Data Step Traps and Pitfalls, How to Recognize Them and Avoid Them

1. The Ultimate Match Merge: Hiring the Best SAS Programmers, Neil Howard

2. Assessing SAS® Skill Level during the Interviewing Process, Jenine Milum

3. An Overview of SAS Certification and the Test Development Process, Linda Althouse and Marc Vaglio-Laurin

4. 10 Things Experienced SAS® Programmers Don’t Know – But Should, Doug Zirbel

5. New to SAS® and New to Programming? What You Need to Do Before
Typing Code, Stephanie Thompson

6. How to Think Through the SAS® DATA Step, Ian Whitlock

7. Don’t Just Tell Us – Show Us!: Performance-Based Testing and the SAS® Certified Professional Program, Marc Vaglio-Laurin

8. Simplifying Complex Character Comparisons by Using the IN Operator and the Colon (:) Operator Modifier, Paul Grant

9. Recruiting, Interviewing and hiring a SAS Programming Staff, Judith H. Mopsik

10. SAS® Skill Learning and Certification Preparation in a Graduate School Setting, Christine Bonney, Michael Keith 

11. SAS® Certification: Understand the Benefits of SAS Certification, Which SAS Certifications Are Available, and What SAS Certification Can Do for You, Andrew Howell

12. Be a Dead Cert for a SAS® Cert, How to prepare for the most important SAS Certifications in the Pharmaceutical Industry, Hannes Engberg Raeder

13. The Art of Debugging, Ian Whitlock

14. So You Want to be SAS Certified, Ben Cochran

15. The SAS® Test from Hell: How Well do You REALLY know SAS?, Glen Becker

16. Using SAS® OnDemand for Academics: Ten Tips for Success, Randy Mullis

17. Learning Data Science with SAS® University Edition and JupyterLab, Brian Gaines

18. Focused Preparation for SAS® Certification Exams Terry Barham

19. SAS Certification Prep Blog

20. SAS Certification Exam Sample Questions


Purchase course notes with free limited e-mail support to help you prepare for the Base Exam.

Sharpening Your SAS Skills: Preparing for Base Certification

Sharpening Your SAS Skills references

Order Sharpening Your SAS Skills book to prepare for the SAS® Base Certification Exam.

Order Sharpening Your Advanced SAS Skills book to prepare for the SAS Advanced Certification Exam.

Download SAS programs from Handbook of SAS® Data Step Programming

Powered by Wild Apricot Membership Software