SAS Training

Mode: Online
Hours :40
Support:24/7 Support

SAS Training


Jovi Soft Solutions SAS Training - SAS Certification Training helps you master the advanced analytics techniques using SAS language. In this SAS online training course, you will learn PROC SQL, SAS Macros, and procedure. You will work on real-life projects and prepare for the SAS Certified Base Programmer certification. Jovi Soft Solutions providing you with the most comprehensive and industry-recognized SAS certification training course.

SAS Online Training Objectives
1. About SAS Training.

Jovi Soft Solutions SAS Training and Certification Course is designed to provide skills and concepts of SAS Programming language, tools and techniques to become a successful Analytics professional. These techniques will help you to carry out advanced SAS programming. The course is fed with a series of interactive exercises, which makes learning more effective. This Course allows you to prepare for the below SAS certifications:
● SAS Certified Advanced Programmer for SAS 9
● SAS Certified Base Programmer for SAS 9

2. Who should learn SAS ?

Anyone who wishes to learn programming with SAS can start right away! The course is exclusively designed for professionals and students aspiring to make a career in Data Analytics with SAS.
● Analytics Professionals
● SAS Developers

3. What are the prerequisites for learning SAS ?

Anybody can learn SAS without any prerequisites. If you are aware of the fundamentals of SQL, then it is an added advantage.

4. Why should you take up the SAS online training course ?

● 70% of companies say that analytics is integral to how they make decisions – IBM Study
● A principal SAS Programmer in the United States can earn up to $102,000 – indeed.com
● Most companies estimate that they’re analyzing a mere 12% of the data they have – Forrester Research

What Is SAS?

  • Introduction
  • Getting Data into SAS
  • A Sample SAS Program
  • SAS Names
  • SAS Data Sets and SAS Data Types
  • The SAS Display Manager and SAS Enterprise Guide
  • Problems

Writing Your First SAS Program

  • A Simple Program to Read Raw Data and Produce a Report
  • Enhancing the Program
  • How SAS Works (a Look Inside the “Black Box”)
  • Problems

Reading Raw Data from External Files

  • Introduction
  • Reading Data Values Separated by Blanks
  • Specifying Missing Values with List Input
  • Reading Data Values Separated by Commas (CSV Files)
  • Using an Alternative Method to Specify an External File Contents
  • Reading Data Values Separated by Delimiters Other Than Blanks or Commas
  • Placing Data Lines Directly in Your Program (the DATALINES Statement)
  • Specifying INFILE Options with the DATALINES Statement
  • Reading Raw Data from Fixed Columns—Method 1: Column Input
  • Reading Raw Data from Fixed Columns—Method 2: Formatted Input
  • Using a FORMAT Statement in a DATA Step versus in a Procedure
  • Using Informats with List Input
  • Supplying an INFORMAT Statement with List Input
  • Using List Input with Embedded Delimiters
  • Problems

Creating Permanent SAS Data Sets

  • Introduction
  • SAS Libraries—The LIBNAME Statement
  • Why Create Permanent SAS Data Sets?
  • Examining the Descriptor Portion of a SAS Data Set Using PROC CONTENTS
  • Listing All the SAS Data Sets in a SAS Library Using PROC CONTENTS
  • Viewing the Descriptor Portion of a SAS Data Set Using the SAS Explorer
  • Viewing the Data Portion of a SAS Data Set Using PROC PRINT
  • Viewing the Data Portion of a SAS Data Set Using the SAS VIEWTABLE Window
  • Using a SAS Data Set as Input to a DATA Step
  • DATA _NULL_: A Data Set That Isn’t
  • Problems

Subsetting and Combining SAS Data Sets

  • Introduction
  • Subsetting a SAS Data Set
  • Creating More Than One Subset Data Set in One DATA Step
  • Adding Observations to a SAS Data Set
  • Interleaving Data Sets
  • Combining Detail and Summary Data
  • Merging Two Data Sets
  • Omitting the BY Statement in a Merge
  • Controlling Observations in a Merged Data Set
  • More Uses for IN= Variables
  • When Does a DATA Step End?
  • Merging Two Data Sets with Different BY Variable Names
  • Merging Two Data Sets with Different BY Variable Data Types
  • One-to-One, One-to-Many, and Many-to-Many Merges
  • Updating a Master File from a Transaction File
  • Problems

Creating Formats and Labels

  • Adding Labels to Your Variables
  • Using Formats to Enhance Your Output
  • Regrouping Values Using Formats
  • More on Format Ranges
  • Storing Your Formats in a Format Library
  • Permanent Data Set Attributes
  • Accessing a Permanent SAS Data Set with User-Defined Formats
  • Displaying Your Format Definitions
  • Problems

Reading and Writing Data from an Excel Spreadsheet

  • Introduction
  • Using the Import Wizard to Convert a Spreadsheet to a SAS Data Set
  • Creating an Excel Spreadsheet from a SAS Data Set
  • Using an Engine to Read an Excel Spreadsheet
  • Using the SAS Output Delivery System to Convert a SAS Data
  • Set to an Excel Spreadsheet
  • Problems

Performing Conditional Processing

  • Introduction
  • The IF and ELSE IF Statements
  • The Subsetting IF Statement
  • The IN Operator
  • Using a SELECT Statement for Logical Tests
  • Using Boolean Logic (AND, OR, and NOT Operators)
  • A Caution When Using Multiple OR Operators
  • The WHERE Statement
  • Some Useful WHERE Operators
  • Problems

Performing Iterative Processing: Looping

  • Introduction
  • DO Groups
  • The Sum Statement
  • The Iterative DO Loop
  • Other Forms of an Iterative DO Loop
  • DO WHILE and DO UNTIL Statements
  • A Caution When Using DO UNTIL Statements
  • LEAVE and CONTINUE Statements
  • Problems

Working with Dates

  • Introduction
  • How SAS Stores Dates
  • Reading Date Values from Raw Data
  • Computing the Number of Years between Two Dates
  • Demonstrating a Date Constant
  • Computing the Current Date
  • Extracting the Day of the Week, Day of the Month, Month, and Year from a SAS Date Creating a SAS Date from Month, Day, and Year Values
  • Substituting the 15th of the Month when the Day Value Is Missing
  • Using Date Interval Functions
  • Problems

Working with Numeric Functions

  • Introduction
  • Functions That Round and Truncate Numeric Values
  • Functions That Work with Missing Values
  • Setting Character and Numeric Values to Missing
  • Descriptive Statistics Functions
  • Computing Sums within an Observation
  • Mathematical Functions
  • Computing Some Useful Constants
  • Generating Random Numbers
  • Special Functions
  • Functions That Return Values from Previous Observations
  • Problems

Working with Character Functions

  • Introduction
  • Determining the Length of a Character Value
  • Changing the Case of Characters
  • Removing Characters from Strings
  • Joining Two or More Strings Together
  • Removing Leading or Trailing Blanks
  • Using the COMPRESS Function to Remove Characters from a String
  • Searching for Characters
  • Searching for Individual Characters
  • Searching for Words in a String
  • Searching for Character Classes
  • Using the NOT Functions for Data Cleaning
  • Describing a Real Blockbuster Data Cleaning Function
  • Extracting Part of a String
  • Dividing Strings into Words
  • Comparing Strings
  • Performing a Fuzzy Match
  • Substituting Characters or Words
  • Problems

Working with Arrays

  • Introduction
  • Setting Values of 999 to a SAS Missing Value for Several Numeric Variables
  • Setting Values of NA and? to a Missing Character Value
  • Converting All Character Values to Lowercase
  • Using an Array to Create New Variables
  • Changing the Array Bounds
  • Temporary Arrays
  • Loading the Initial Values of a Temporary Array from a Raw Data File
  • Using a Multidimensional Array for Table Lookup
  • Problems

Displaying Your Data

  • Introduction
  • The Basics
  • Changing the Appearance of Your Listing
  • Changing the Appearance of Values
  • Controlling the Observations That Appear in Your Listing
  • Adding Additional Titles and Footnotes to Your Listing
  • Changing the Order of Your Listing
  • Sorting by More Than One Variable
  • Labeling Your Column Headings
  • Adding Subtotals and Totals to Your Listing
  • Making Your Listing Easier to Read
  • Adding the Number of Observations to Your Listing
  • Double-Spacing Your Listing
  • Listing the First n Observations of Your Data Set
  • Problems

Creating Customized Reports

  • Introduction
  • Selecting Variables to Include in Your Report
  • Comparing Detail and Summary Reports
  • Producing a Summary Report
  • Demonstrating the FLOW Option of PROC REPORT
  • Using Two Grouping Variables
  • Changing the Order of Variables in the COLUMN Statement
  • Changing the Order of Rows in a Report
  • Applying the ORDER Usage to Two Variables
  • Creating a Multi-Column Report
  • Producing Report Breaks
  • Using a Nonprinting Variable to Order a Report
  • Computing a New Variable with PROC REPORT
  • Computing a Character Variable in a COMPUTE Block
  • Creating an ACROSS Variable with PROC REPORT
  • Modifying the Column Label for an ACROSS Variable
  • Using an ACROSS Usage to Display Statistics
  • Problems

Summarizing Your Data

  • Introduction
  • PROC MEANS—Starting from the Beginning
  • Adding a BY Statement to PROC MEANS
  • Using a CLASS Statement with PROC MEANS
  • Applying a Format to a CLASS Variable
  • Deciding between a BY Statement and a CLASS Statement
  • Creating Summary Data Sets Using PROC MEANS
  • Outputting Other Descriptive Statistics with PROC MEANS
  • Asking SAS to Name the Variables in the Output Data Set
  • Outputting a Summary Data Set: Including a BY Statement
  • Outputting a Summary Data Set: Including a CLASS Statement
  • Using Two CLASS Variables with PROC MEANS
  • Selecting Different Statistics for Each Variable
  • Problems

Counting Frequencies

  • Introduction
  • Counting Frequencies
  • Selecting Variables for PROC FREQ
  • Using Formats to Label the Output
  • Using Formats to Group Values
  • Problems Grouping Values with PROC FREQ
  • Displaying Missing Values in the Frequency Table
  • Changing the Order of Values in PROC FREQ
  • Producing Two-Way Tables

Creating Tabular Reports

  • Introduction
  • A Simple PROC TABULATE Table
  • Describing the Three PROC TABULATE Operators
  • Using the Keyword ALL
  • Producing Descriptive Statistics
  • Combining CLASS and Analysis Variables in a Table
  • Customizing Your Table
  • Demonstrating a More Complex Table
  • Computing Row and Column Percentages
  • Displaying Percentages in a Two-Dimensional Table
  • Computing Column Percentages
  • Computing Percentages on Numeric Variables
  • Understanding How Missing Values Affect PROC TABULATE Output
  • Problems

Introducing the Output Delivery System

  • Introduction
  • Sending SAS Output to an HTML File
  • Creating a Table of Contents
  • Selecting a Different HTML Style
  • Choosing Other ODS Destinations
  • Selecting or Excluding Portions of SAS Output
  • Sending Output to a SAS Data Set
  • Problems

Generating High-Quality Graphics

  • Introduction
  • Some Basic Concepts
  • Producing Simple Bar Charts Using PROC GCHART
  • Creating Pie Charts
  • Creating Bar Charts for a Continuous Variable
  • Creating Charts with Values Representing Categories
  • Creating Bar Charts Representing Sums
  • Creating Bar Charts Representing Means
  • Adding Another Variable to the Chart
  • Producing Scatter Plots
  • Connecting Points
  • Connecting Points with a Smooth Line
  • Problems

Using Advanced INPUT Techniques

  • Introduction
  • Handling Missing Values at the End of a Line
  • Reading Short Data Lines
  • Reading External Files with Lines Longer Than Characters
  • Detecting the End of the File
  • Reading a Portion of a Raw Data File
  • Reading Data from Multiple Files
  • Reading Data from Multiple Files Using a FILENAME Statement
  • Reading External Filenames from a Data File
  • Reading Multiple Lines of Data to Form One Observation
  • Reading Data Conditionally (the Single Trailing @ Sign)
  • More Examples of the Single Trailing @ Sign
  • Creating Multiple Observations from One Line of Input
  • Using Variable and Informat Lists
  • Using Relative Column Pointers to Read a Complex Data Structure Efficiently
  • Problems

Using Advanced Features of User-Defined Formats and Informats

  • Introduction
  • Using Formats to Recode Variables
  • Using Formats with a PUT Function to Create New Variables
  • Creating User-Defined Informats
  • Reading Character and Numeric Data in One Step
  • Using Formats (and Informats) to Perform Table Lookup
  • Using a SAS Data Set to Create a Format
  • Updating and Maintaining Your Formats
  • Using Formats within Formats
  • Using Multilabel Formats
  • Using the INPUTN Function to Perform a More Complicated Table Lookup
  • Problems

Restructuring SAS Data Sets

  • Introduction
  • Converting a Data Set with One Observation per Subject to a Data Set with Several Observations per Subject: Using a DATA Step
  • Converting a Data Set with Several Observations per Subject to a Data Set with One Observation per Subject: Using a DATA Step
  • Converting a Data Set with One Observation per Subject to a Data Set with Several Observations per Subject: Using PROC TRANSPOSE
  • Converting a Data Set with Several Observations per Subject to a Data Set with One Observation per Subject: Using PROC TRANSPOSE
  • Problems

Introducing the SAS Macro Language

  • Introduction
  • Macro Variables: What Are They?
  • Some Built-In Macro Variables
  • Assigning Values to Macro Variables with a %LET Statement
  • Demonstrating a Simple Macro
  • Macro parameters
  • Another Example of Using a Macro Variable as a Prefix
  • Using a Macro Variable to Transfer a Value between DATA Steps
  • Problems

Introducing the Structured Query Language

  • Introduction
  • Some Basics
  • Joining Two Tables (Merge)
  • Left, Right, and Full Joins
  • Concatenating Data Sets
  • Using Summary Functions
  • Demonstrating an ORDER Clause
  • An Example of Fuzzy Matching
  • Problems


At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio.


  • Lorem ipsum dolor sit amet
  • Consectetur adipiscing elit
  • Integer molestie lorem at massa
  • Facilisis in pretium nisl aliquet
1. Does Jovi Soft Solutions offer job assistance ?

Jovi Soft Solutions actively provides placement assistance to all learners who have successfully completed the SAS training.

2. Do I get any discount on the course ?

Yes, you get two types of discounts. They are referral discount and group discount. Referral discount is offered when you are referred from someone who has already enrolled in our training and Group discount is offered when you join as a group.

3. Do Jovi Soft Solutions accept the course fees in installments ?

Yes, we accept payments in two installments.

4. What is the qualification of the trainer ?

The trainer is a certified consultant and has a significant amount of working experience with the technology.

5. Can I attend a Demo Session before enrolment ?

Yes. You can register or enroll for a free SAS demo session.


Please fill the form below for further queries