Doing More with SAS Programming

  • 4.8
Approx. 24 hours to complete

Course Summary

This advanced SAS programming course teaches students how to write and debug SAS code, work with advanced data sets, and automate programming tasks.

Key Learning Points

  • Learn how to write and debug SAS code
  • Work with advanced data sets
  • Automate programming tasks

Job Positions & Salaries of people who have taken this course might have

    • USA: $65,000 - $110,000
    • India: ₹3,50,000 - ₹10,00,000
    • Spain: €30,000 - €50,000
    • USA: $65,000 - $110,000
    • India: ₹3,50,000 - ₹10,00,000
    • Spain: €30,000 - €50,000

    • USA: $75,000 - $130,000
    • India: ₹4,00,000 - ₹12,00,000
    • Spain: €35,000 - €60,000
    • USA: $65,000 - $110,000
    • India: ₹3,50,000 - ₹10,00,000
    • Spain: €30,000 - €50,000

    • USA: $75,000 - $130,000
    • India: ₹4,00,000 - ₹12,00,000
    • Spain: €35,000 - €60,000

    • USA: $90,000 - $150,000
    • India: ₹6,00,000 - ₹20,00,000
    • Spain: €40,000 - €70,000

Related Topics for further study


Learning Outcomes

  • Write and debug SAS code
  • Work with advanced data sets
  • Automate programming tasks

Prerequisites or good to have knowledge before taking this course

  • Basic knowledge of SAS programming
  • Access to SAS software

Course Difficulty Level

Advanced

Course Format

  • Online self-paced
  • Video lectures
  • Hands-on exercises

Similar Courses

  • SAS Programming for Data Science
  • Applied Data Science with Python
  • R Programming

Related Education Paths


Notable People in This Field

  • Kirk Paul Lafler
  • Susan Slaughter

Related Books

Description

This course is for business analysts and SAS programmers who want to learn data manipulation techniques using the SAS DATA step and procedures to access, transform, and summarize data. The course builds on the concepts that are presented in the Getting Started with SAS Programming course and is not recommended for beginning SAS software users.

Outline

  • Course Overview and Data Setup
  • Welcome to the Course!
  • Practicing in This Course
  • Learner Prerequisites
  • Using Forums and Getting Help
  • Access SAS Software and Set Up Practice Files (REQUIRED)
  • Controlling DATA Step Processing
  • Overview
  • DATA Step Review
  • DATA Step Processing
  • DATA Step Processing: Compilation
  • DATA Step Processing: Execution
  • Demo: DATA Step Processing in Action
  • Viewing Execution in the Log
  • Controlling DATA Step Processing
  • Implicit and Explicit Output
  • Sending Output to Multiple Tables
  • Demo: Directing Row Output
  • Controlling Column Output
  • Demo: Directing Column Output
  • Columns in the PDV
  • Syntax Review
  • Activity 1.01
  • Activity 1.02
  • Practice: Using PUTLOG Statements to Examine Execution Steps
  • Activity 1.03
  • Activity 1.04
  • Question 1.05
  • Level 1 Practice: Conditionally Creating Multiple Output Tables
  • Level 2 Practice: Conditionally Creating Columns and Output Tables
  • Controlling DATA Step Processing
  • Summarizing Data
  • Overview
  • Demo: Creating an Accumulating Column
  • Retaining Values in the PDV
  • Using the Sum Statement
  • Answering Questions about Groups
  • Processing Sorted Data in Groups
  • Demo: Identifying the First and Last Row in Each Group
  • Subsetting Rows in the Execution Phase
  • Demo: Creating an Accumulating Column within Groups
  • Using Multiple BY Columns
  • Syntax Review
  • Activity 2.01
  • Question 2.02
  • Level 1 Practice: Producing a Running Total
  • Level 2 Practice: Producing Multiple Totals
  • Activity 2.03
  • Activity 2.04
  • Activity 2.05
  • Question 2.06
  • Level 1 Practice: Generating an Accumulating Column within Groups
  • Level 2 Practice: Generating an Accumulating Column within Multiple Groups
  • Summarizing Data
  • Manipulating Data with Functions
  • Overview
  • Review of Functions
  • Specifying Columns Lists
  • Using a CALL Routine to Modify Data
  • Using Numeric Functions
  • Demo: Using Numeric Functions
  • SAS Date, Datetime, and Time Values
  • Extracting Data from a Datetime Value
  • Calculating Date Intervals
  • Shifting Date Values
  • Demo: Shifting Date Values Based on an Interval
  • Useful Character Functions
  • Extracting Words from a String
  • Demo: Using Character Functions to Extract Words from a String
  • Searching for Character Strings
  • Replacing Character Strings
  • Handling Column Type
  • Converting Column Type
  • Converting Character Values to Numeric Values
  • Using a Generic Informat to Read Dates
  • Converting the Type of an Existing Column
  • Converting Numeric Values to Character Values
  • Demo: Using the INPUT Function to Convert Column Types
  • Demo: Using the PUT Function to Convert Column Types
  • Using Numeric Functions to Change Precision
  • Removing Characters from a String
  • Identifying Character Positions
  • Building Character Strings
  • Syntax Review
  • Activity 3.01
  • Activity 3.02
  • Activity 3.03
  • Activity 3.04
  • Question 3.05
  • Level 1 Practice: Using the LARGEST and ROUND Functions
  • Level 2 Practice: Working with Date/Time Values
  • Activity 3.06
  • Activity 3.07
  • Activity 3.08
  • Activity 3.09
  • Level 1 Practice: Using the SCAN and PROPCASE Functions
  • Level 2 Practice: Searching for Character Strings
  • Activity 3.10
  • Activity 3.11
  • Question 3.12
  • Activity 3.13
  • Manipulating Data with Functions
  • Creating and Using Custom Formats
  • Overview
  • Formatting Data Values
  • Creating and Applying a Custom Format
  • Using Ranges
  • Demo: Creating and Using Custom Formats
  • Reading a Table of Values for a Format
  • Demo: Creating Custom Formats from Tables
  • Storing Custom Formats
  • Syntax Review
  • Activity 4.01
  • Activity 4.02
  • Activity 4.03
  • Level 1 Practice: Creating Custom Formats Based on Single Values
  • Level 2 Practice: Creating Custom Formats Based on a Range of Values
  • Activity 4.04
  • Activity 4.05
  • Level 1 Practice: Creating a Custom Format from a Table
  • Level 2 Practice: Using Conditional Processing to Create a Format from a Table
  • Creating and Using Custom Formats
  • Combining Tables
  • Overview
  • Concatenating Tables with Matching Columns
  • Demo: Concatenating Tables
  • Handling Column Attributes
  • What is a Merge?
  • Processing a One-to-One Merge
  • Processing a One-To-Many Merge
  • Demo: Merging Tables
  • Merging Tables with Nonmatching Rows
  • Identifying Matches and Nonmatches
  • Demo: Merging Tables with Nonmatching Rows
  • Merging Tables with Matching Column Names
  • Merging Tables without a Common Column
  • DATA Step Merge and PROC SQL Join
  • Syntax Review
  • Activity 5.01
  • Level 1 Practice: Concatenating Like-Structured Tables
  • Level 2 Practice: Concatenating Unlike-Structured Tables
  • Question 5.02
  • Activity 5.03
  • Question 5.04
  • Activity 5.05
  • Level 1 Practice: Performing a One-to-Many Merge
  • Level 2 Practice: Writing Matches and Nonmatches to Separate Tables
  • Combining Tables
  • Processing Repetitive Code
  • Overview
  • Processing Repetitive Code
  • Iterative DO Loops
  • Demo: Executing an Iterative DO Loop
  • Output Inside and Outside the DO Loop
  • Demo: Using Iterative DO Loops
  • Conditional DO Loops
  • Checking the Condition
  • Demo: Using Conditional DO Loops
  • Combining Iterative and Conditional DO Loops
  • Demo: Combining Iterative and Conditional DO Loops
  • Syntax Review
  • Activity 6.01
  • Level 1 Practice: Using Nested Iterative DO Loops (DATA Step with No SET Statement)
  • Level 2 Practice: Using an Iterative DO Loop (DATA Step with a SET Statement)
  • Activity 6.02
  • Level 1 Practice: Using a Conditional DO Loop
  • Level 2 Practice: Using an Iterative and Conditional DO Loop
  • Processing Repetitive Code
  • Restructuring Tables
  • Overview
  • Understanding Table Structure
  • Restructuring Data
  • Demo: Creating a Narrow Table with the DATA Step
  • Creating a Wide Table with the DATA Step
  • The Transpose Procedure
  • Transposing Values within Groups
  • Demo: Creating a Wide Table with PROC TRANSPOSE
  • Creating a Narrow Table with PROC TRANSPOSE
  • Changing Column Names
  • Syntax Review
  • Question 7.01
  • Activity 7.02
  • Level 1 Practice: Restructuring a Table Using the DATA Step: Wide to Narrow
  • Level 2 Practice: Restructuring a Table Using the DATA Step: Narrow to Wide
  • Activity 7.03
  • Activity 7.04
  • Level 1 Practice: Restructuring a Table Using PROC TRANSPOSE: Wide to Narrow
  • Level 2 Practice: Restructuring a Table Using PROC TRANSPOSE: Narrow to Wide
  • Restructuring Tables

Summary of User Reviews

Read reviews for the SAS Programming Advanced course on Coursera. Overall, users have found the course to be informative and helpful. One key aspect that many users thought was good is the level of detail provided in the course material.

Pros from User Reviews

  • Course material is well-organized and easy to follow
  • Instructors are knowledgeable and responsive to questions
  • The course provides hands-on experience with SAS programming

Cons from User Reviews

  • The course can be time-consuming and requires a significant time commitment
  • Some users found the course material to be too advanced for their level of experience
  • Not all users found the course to be engaging or interesting
English
Available now
Approx. 24 hours to complete
Stacey Syphus
SAS
Coursera

Instructor

Stacey Syphus

  • 4.8 Raiting
Share
Saved Course list
Cancel
Get Course Update
Computer Courses