Mastering Base SAS

SAS originally stood for “Statistical Analysis System“, which as the name suggests was used for Statistical analysis. Today it has evolved to become a ubiquitous Business Intelligence (BI) tool which is used for Data analysis, reporting, predictive modelling, data mining, econometric and time series analysis…pretty much anything and everything related to Data Analytics.

SAS is the leader in business analytics software and services, and the largest independent vendor in the business intelligence market. It is the defacto industry standard for Clinical Data Analysis.

Founded more than 36 years ago, SAS is used at more than 60,000 sites in over 135 countries, including 90 of the top 100 companies on the 2012 Fortune Global 500® list.

SAS provides an integrated set of software products and services and integrated technologies for information management, advanced analytics and reporting. This provides users an end-to-end solution across the entire Analytics cycle.

One of the easiest ways to get your foot inside the door of the Analytics Industry is to get yourself SAS Certified. It works wonders during Interview shortlisting if your CV mentions you have Base SAS or Advanced SAS Certification.

Most analytics jobs in India currently require comfortable working capabilities on SAS at different levels. It is, thus, the best capability that gets you started into an Analytics career.

With its breadth and depth across the Analytics spectrum, a strong command of SAS in your chosen area will keep you well ahead of the pack as you wish to develop your career in Analytics.

Our SAS modules have been geared to prepare students to clear these certifications.



  • Overview of SAS
  • Getting started with SAS

Accessing Data

  • Accessing existing SAS data sets
  • Reading raw data files
  • Reading Microsoft Excel files
  • Accessing a RDBMS (optional)

Managing Data

  • Reading SAS data sets and creating new columns
  • Controlling output of rows and columns
  • Conditional processing using IF…THEN…ELSE
  • Sorting SAS data sets
  • Combining SAS data sets
  • Recoding data values

Data Manipulation Techniques

Controlling Input and Output

  • Outputting multiple observations
  • Writing to multiple SAS data sets
  • Selecting variables and observation

Summarizing Data

  • Creating an accumulating total variable
  • Accumulating totals for groups of data

Reading and Writing Different Types of Data

  • Reading delimited raw data files
  • Controlling when a record loads
  • Reading hierarchical raw data files
  • Writing to an external file

Data Transformations

  • Introduction
  • Manipulating character values
  • Manipulating numeric values
  • Manipulating numeric values based on dates
  • Converting data types

Debugging Techniques

  • Using the PUT statement
  • Using the DEBUG option

Processing Data Iteratively

  • DO loop processing
  • SAS array processing
  • Using SAS arrays
  • Combining SAS data sets
  • Match-merging two or more SAS data sets
  • Simple joins using the SQL procedure

Analyzing Data

  • Creating frequency reports
  • The UNIVARIATE procedure (self-study)
  • Exporting data using the Output Delivery System (ODS)

Presenting Data

  • Titles, footnotes and SAS options
  • Generating reports using the PRINT procedure
  • Producing graphical reports

SAS Macro Language


  • Purpose of the Macro Facility
  • Program Flow
  • Course Data

Macro Variables

  • Introduction to Macro Variables
  • Automatic Macro Variables
  • Macro Variable References
  • User-Defined Macro Variables
  • Delimiting Macro Variables Names
  • Macro Functions

Macro Definitions

  • Defining and Calling a Macro
  • Macro Parameters

Data Step and SQL Interfaces

  • Creating Macro Variables in the DATA Step
  • Indirect References to Macro Variables
  • Retrieving Macro Variable in the DATA Step (Self-Study)
  • Creating Macro Variables in SQL

Macro Programs

  • Conditional Processing
  • Iterative Processing
  • Global and Local Symbol Tables

SQL Processing with SAS


  • Structured Query Language
  • SAS Functions
  • Case Study

Basic Queries

  • Overview of the SQL Procedure
  • Specifying Columns
  • Specifying Rows
  • Presenting Data
  • Summarizing Data
  • Sub queries

Combining Tables

  • Overview
  • Joins
  • Complex Joins
  • Set Operators

Creating and Modifying Tables and Views

  • Creating Tables
  • Creating Views
  • Creating Indexes
  • Maintaining Tables

Getting Started with the SAS Output Delivery System

ODS Basics

  • Understanding the components and basic terminology
  • Viewing and identifying output objects
  • Selecting output objects

Using the Output Destination

  • Using the default ODS listing destination
  • Creating RTF files
  • Creating PDF files
  • Creating HTML files
  • Using ODS PRINTER (self-study)

Output Destination

  • Creating output data sets with ODS
  • Using selections to create output data sets (optional)

Enhancing Reports Using ODS

  • Changing the styles of reports, titles, and footnotes
  • Creating HTML navigation aids
  • Changing the table definition

Working with Styles

  • Creating and modifying a cascading style sheet for HTML files
  • Creating a style with the TEMPLATE procedure
  • Using ODS template stores

Using ODS with the DATA Step

  • Accessing ODS from a DATA step program

Using the STYLE= Option

  • Using the STYLE= option with the PRINT procedure
  • Using the STYLE= option with the TABULATE procedure
  • Using the STYLE= option with the REPORT procedure

Creating Graphics with ODS

  • Creating graphics output

Advanced Reporting Techniques

The REPORT Procedure

  • Review REPORT procedure syntax for detail and summary reporting
  • Customize BREAK text
  • Use a COMPUTE block
  • Create a cross-tabular report with ACROSS variables
  • Reference a PROC REPORT column by column number
  • Use the LINE statement
  • Use the _BREAK_ automatic report variable
  • Calculate row percentages and cumulative percentages within
  • COMPUTE blocks
  • Use the CALL DEFINE statement
  • Customize REPORT procedure output with STYLE= statement level options
  • Perform traffic lighting in REPORT procedure output with CALL
  • DEFINE statements

The TABULATE Procedure

  • Review TABULATE procedure syntax for summary reporting
  • Calculate percentages using default statistic names
  • Calculate percentages using denominator specifications and angle bracket operators
  • Use PICTURE formats
  • Use multilabel formats
  • Control the row structure within a table
  • Create pages with PROC TABULATE
  • Control the treatment of missing values and missing CLASS values
  • Specify form characters for drawing the table in LISTING output
  • Customize TABULATE procedure output with STYLE= statement level options
  • Perform traffic lighting in TABULATE procedure output with User-defined formats

The Output Delivery System

  • Modifying TABLE templates
  • Investigate the basic syntax for TABLE templates
  • Use a modified TABLE template
  • Trace output object creation with ODS TRACE statement
  • Select output objects for report creation
  • Creating and using STYLE templates
  • Investigate the basic syntax for STYLE templates
  • Use a modified STYLE template
  • Control template retrieval and storage with ODS PATH statement

The DATA _NULL_ Step (Self-Study)