SAS Learning Platform



SAS offers specifically designed packages of instructor lead courses that are tailored to the requirements of individual certification tracks. But if these excellent training resources are beyond your budget, there are still other options. One can practically prepare for the certification exam just by reading paper published in different SAS conference. Majority of the papers given below will cover the topics tested by certification exam and might give more information than required. It’s always good to be over prepared than under prepared.

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

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

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,

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

Handling Errors


  Identify and resolve programming logic errors

Errors, Warnings, and Notes (Oh My)

A Practical Guide to Debugging SAS Programs

Susan J. Slaughter and Lora D. Delwiche

  Recognize and correct syntax errors

  Examine and resolve data errors


If you don’t use PROC SQL that often then you might tend to forget some of the commands, try to create figure or some acronym you can remember to associate with this kind of information.


FIGURE 1: Statements used in PROC SQL to create/delete table or to manipulate table rows/columns.

CREATE TABLE : To create a table


To delete a table





To delete a column


To add a column


To update a column

DELETE FROM: To delete a row





To add a row





To update a row





FIGURE 2: Sequence in which clauses appear in a SELECT statement of PROC SQL.














SAS certification author will correct the error in one answer choice but then introduce another error. So when you select you answer make sure that none of the other answer choices can be the correct answer.

Q. The SAS DATA SET temp has 100 observation and v1, v2, v3 and v4 variables. Which SAS DATA STEP writes only the variables v1, v2 and v3 to both SAS data sets One and Two?

A. DATA one two;

    SET temp;

    KEEP v1 v2 v3


B. DATA one (keep v1 v2 v3) two;

     SET temp (keep = v1 v2 v3);


C. DATA one two;

     SET temp (keep v1 v2 v3);


D. DATA one two;

     SET temp (keep = v1 v2 v3);


This looks like an easy question but if you don’t pay attention, you might choose A as your answer without realizing that a semicolon is missing in the KEEP statement. You might choose B or C as your answer without realizing an equal to sign is missing in KEEP dataset option. The last choice D is the correct answer, as it does not have any syntax error and does what the questions is asking. So before you pick any answer, rule out all other options before making it your final choice. 


Following illustration will show how POE will improve your changes of guessing the right answer.

Q. The following SAS program is submitted.

DATA one;

 ARRAY g[4,3] (1,2,3,4,5,6,7,8,9,10,11,12);


What is the value of element g (3, 2)?

A.     8

B.     10

C.     1

D.     12

Now, just by looking at the data we know that element g (3, 2) should be somewhere in the middle of the array definition. Lets now look at the answer choices, A can be the answer as it is somewhere in the middle and so can choice B. But when you look at choice C and D, and you know g (3, 2) cannot be extreme left or right values, so now you can remove these obviously two wrong choices. Now you are left with choice A and B, now you can make an educated guess and choose either A or B as your answer.

Sometime adding new line or spaces in your question can make finding answer easy. In our above example suppose the array was declared as

ARRAY g [4, 3] (1, 2, 3,

                4, 5, 6,

                7, 8, 9,

               10, 11, 12);

It is intuitive to understand here that there are 4 rows and 3 columns and question is asking for element in 3rd row and 2nd column which is 8.


Here is list of all important tips to remember before appearing for the certification exam.

1>     If you encounter a question for which don’t have any idea about its answer, don’t be afraid to apply Process-Of-Elimination (POE) and remove one or more obviously wrong choices. After that you have higher chances of getting your answer right.

2>     Like in any certification exam, attention to details is very important, read your question properly and all answer choices before deciding your answer. Look for some obvious mistakes like missing semicolon, or missing alias name in FROM clause. You can flag questions for which you are not certain and come back to them after you have answered all the questions. Read all the answer choices and see what is different in each answer choice.  By doing this you will be able to rule out some of the choices and also understand what knowledge author is try to test.

3>     Create a table or diagram or acronym to remember some key concepts and syntax.