SAS Institute Of Management Studies - Doing More with SAS Programming
- Offered byCoursera
Doing More with SAS Programming at Coursera Overview
Duration | 24 hours |
Start from | Start Now |
Total fee | Free |
Mode of learning | Online |
Difficulty level | Intermediate |
Official Website | Explore Free Course |
Credential | Certificate |
Doing More with SAS Programming at Coursera Highlights
- Shareable Certificate Earn a Certificate upon completion
- 100% online Start instantly and learn at your own schedule.
- Flexible deadlines Reset deadlines in accordance to your schedule.
- Intermediate Level
- Approx. 24 hours to complete
- English Subtitles: Arabic, French, Portuguese (European), Italian, Vietnamese, German, Russian, English, Spanish
Doing More with SAS Programming at Coursera Course details
- 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.
- In this course you learn how to understand and control DATA step processing, create an accumulating column and process data in groups, manipulate data with functions, convert column type, create custom formats, concatenate and merge tables, process repetitive code, and restructure tables. This course addresses Base SAS software.
- Before attending this course, you should be able to write DATA step code to access data, subset rows and columns, compute new columns, and process data conditionally. You should also be able to sort tables using the SORT procedure and
- apply SAS formats.
Doing More with SAS Programming at Coursera Curriculum
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)
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