This course is ideal for those relatively new to SAS programming or new to SAS certification.
Duration: 25-30 hours
Course Content:
Accessing Data

Use FORMATTED and LIST input to read raw data files.
Use INFILE statement options to control processing when reading raw data files.
Use various components of an INPUT statement to process raw data files including column and line
pointer controls, and trailing @ controls
Combine SAS data sets.
Access an Excel workbook.
Creating Data Structures

Create temporary and permanent SAS data sets.
Create and manipulate SAS date values.
Export data to create standard and comma-delimited raw data files.
Managing Data

Investigate SAS data libraries using base SAS utility procedures.
Sort observations in a SAS data set.
Conditionally execute SAS statements.
Use assignment statements in the DATA step.
Modify variable attributes using options and statements in the DATA step.
Accumulate sub-totals and totals using DATA step statements.
Use SAS functions to manipulate character data, numeric data, and SAS date values.
Use SAS functions to convert character data to numeric and vice versa.
Process data using DO LOOPS.
Process data using SAS arrays.
Validate and clean data.
Generating Reports

Generate list reports using the PRINT procedure.
Generate summary reports and frequency tables using base SAS procedures.
Enhance reports through the use of user-defined formats, titles, footnotes and SAS System reporting.
Generate reports using ODS statements.
Handling Errors

Identify and resolve programming logic errors.
Recognize and correct syntax errors.
Examine and resolve data errors.


This course represents the upper echelon of SAS programmers. Those who earn the advanced programming credential have demonstrated a high level of proficiency in SAS programming expertise and are a much sought after commodity in the global job market.
Duration: 10-15 hours
Course Content:
Accessing Data Using SQL

Generate detail reports by working with a single table, joining tables, or using set operators in the SQL procedure.
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.
Macro Processing

Create and use user-defined and automatic macro variables within the SAS Macro Language.
Automate programs by defining and calling macros using the SAS Macro Language.
Understand the use of macro functions.
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.
Advanced Programming Techniques

Demonstrate the use of advanced data look-up techniques such as array processing, hash objects, formats, and combining/merging data.
Reduce I/O by controlling the space required to store SAS data sets using compression techniques, length statements, or eliminating variables and observations.
Reduce programming time by developing reusable SAS programs which incorporate data step views, DATA steps that write SAS programs, and the FCMP procedure.
Perform effective benchmarking by using the appropriate SAS System options and interpreting the resulting resource utilization statistics.
Determine the resources used by the SORT procedure and avoid unnecessary sorts by using appropriate indexes, data set options, BY statement options, and the CLASS statement.
Identify appropriate applications for using indexes and create them using the DATA step, the DATASETS procedure, or the SQL procedure.
Compare techniques to eliminate duplicate data using the DATA step, the SORT procedure, and the SQL procedure.

Request A Free Demo