### Base SAS 9 Programming: The SAS Environment

**Overview/Description**

There is a variety of SAS environments available to you as a SAS programmer, and the one you use will depend on the underlying SAS system. This course introduces SAS and the various systems including the SAS Studio web interface and SAS Windowing Environment. This course is one of a series that prepares you for the SAS certification exam, SAS Certified Base Programmer for SAS 9.

**Target Audience**

Learners interested in programmatically working with data in SAS systems.

**Base SAS 9 Programming: The SAS Environment**

- start the course
- describe the purpose of SAS programming
- describe the various SAS environments used for SAS programming
- describe ways in which a SAS environment is obtained
- list the attributes of the three main interfaces to SAS – SAS Studio, SAS Enterprise Guide, and SAS Windowing Environment
- create a simple SAS program
- run a simple SAS program
- list the characteristics of the SAS Studio environment
- list SAS Studio interface elements
- use the SAS Studio navigation pane
- use the SAS Studio Code Tab
- use the SAS Studio Log Tab
- use the SAS Studio Results Tab
- work with autocomplete in SAS Studio
- work with tasks in SAS Studio
- work with libraries in SAS Studio
- create and run a simple SAS program in one of the SAS environments

### Base SAS 9 Programming: Introduction to Data Sets

**Overview/Description**

SAS data sets are collections of data that SAS creates and can process, and understanding their structure and utility is key to grasping the power of Base SAS. This course covers the basics of data sets, and how to create them from various sources. This course is one of a series that prepares you for the SAS certification exam, SAS Certified Base Programmer for SAS 9.

**Target Audience**

Learners interested in programmatically working with data in SAS systems.

**Base SAS 9 Programming: Introduction to Data Sets**

- start the course
- describe the components of a SAS data set
- use the CONTENTS procedure to view a data set descriptor, and the PRINT procedure to display the data
- describe SAS libraries, including temporary and permanent libraries
- browse a SAS library using the SAS Explorer and the CONTENTS procedure
- use the LIBNAME statement to assign a library reference name to a relational database in SAS
- reference a relational database table using a SAS two-level name
- describe different scenarios for reading from a data source in SAS
- use the DATA statement to begin a data step in SAS
- use the SET statement to read observations from a SAS data set
- use the WHERE statement with conditionals to subset an observation in SAS
- use the DROP and KEEP statements to specify variables for omission or retention in a SAS data set
- use the LABEL statement to add labels to the descriptor portion of a SAS data set
- use the FORMAT statement to add formats to the descriptor portion of a SAS data set
- create a data set from an Excel sheet using the PROC step in SAS
- read from an Excel sheet using the libname statement
- use the PROC step to create an Excel sheet in SAS
- use the ODS to create an Excel sheet in SAS
- use the IMPORT wizard to import data from an Excel sheet in SAS
- use the EXPORT wizard to write to an Excel Sheet in SAS
- create a data set from a delimited raw data file using the DATA step in SAS
- use the LENGTH statement to define the length of a variable in SAS
- read nonstandard data in SAS using informants
- use additional SAS statements to process nonstandard data in the DATA step
- read consecutive delimiters as missing values using the DSD option in SAS
- recognize missing data at the end of a record with the MISSOVER option
- read data from a variety of sources in SAS

### Base SAS 9 Programming: Working with Data Sets

**Overview/Description**

Manipulating data sets is a big part of mastering SAS, and often the data you want to work with is not clean, containing errors or missing data. This course covers handling data errors, and validating and cleaning data. It goes on to cover further manipulation of data sets, including merging and combining sets. This course is one of a series that prepares you for the SAS certification exam, SAS Certified Base Programmer for SAS 9.

**Target Audience**

Learners interested in programmatically working with data in SAS systems.

**Base SAS 9 Programming: Working with Data Sets**

- start the course
- describe how SAS handles errors in raw data files
- describe procedures and techniques for validating and cleaning data in SAS
- use the SAS log to examine data errors
- use conditionals to handle data errors in SAS
- use the PRINT procedure with the WHERE statement to validate data in SAS
- use the FREQ procedure with the TABLES statement to validate data in SAS
- use the MEANS procedure with the VAR statement to validate data in SAS
- use the UNIVARIATE procedure with the VAR statement to validate data in SAS
- open the source data to clean data for SAS
- use assignment statements in the DATA step to clean data in SAS
- use IF-THEN and ELSE statements in the DATA step to clean data in SAS
- use the assignment statement in the DATA step to create variables in SAS
- use operators, including SAS functions, to create data values
- use the IF-THEN statement and the IF-THEN DO statement to execute statements conditionally in SAS
- use the ELSE statement to execute alternative actions in an IF-THEN statement in SAS
- use the subsetting IF statement and the WHERE statement to subset observations in SAS
- use the IF-THEN DELETE statement to subset observations in SAS
- describe the methods for combining data sets in SAS
- use the APPEND procedure to append a SAS data set to another SAS data set
- use the FORCE option with the APPEND procedure to append one SAS data set to another SAS data set
- use the SET statement in a DATA step to concatenate two or more SAS data sets
- use the RENAME= data set option to change the names of variables in SAS
- merge SAS data sets one-to-one based on a common variable using MERGE and BY statements in a DATA step
- merge SAS data sets one-to-many based on a common variable using MERGE and BY statements in a DATA step
- use the IN= option to control the observations in the output SAS data set
- validate and clean data sets and combine them with an append operation and a concatenation

### Base SAS 9 Programming: Creating Reports

**Overview/Description**

Creating reports, visualization, and charts from your data adds immediate impact, and can allow your audience to glean information quickly and effectively. This course covers reporting in SAS, and how to create impactful graphics. It is one of a series that prepares you for the SAS certification exam, SAS Certified Base Programmer for SAS 9.

**Target Audience**

Learners interested in programmatically working with data in SAS systems.

**Base SAS 9 Programming: Creating Reports**

- start the course
- create a basic report in SAS
- create an enhanced report using SAS system options, and by adding titles and footnotes
- add column headings to a report using LABEL statements
- create formatted output by using the FORMAT statement
- use the FORMAT procedure to create user-defined formats, and apply them to variables in reports
- use the WHERE and BY statements to subset and group a report
- use ODS statements to direct output to various ODS destinations
- specify a style definition using a STYLE= option in the ODS destination statement in SAS
- use the FREQ procedure to create one-way and two-way frequency tables in SAS
- use various options to enhance frequency tables in SAS
- use the MEANS procedure to create summary statistics and multilevel summaries in SAS
- use the SUMMARY procedure to create summaries in SAS
- use various options to enhance summary tables in SAS
- use the TABULATE procedure to create one-dimensional, two-dimensional, and three-dimensional tabular reports
- use the OUT= option in the TABULATE procedure to produce output data sets
- describe the capabilities of the SAS/GRAPH statistical graphics procedures
- create pie charts using the SAS/GRAPH statistical graphics procedures
- create bar charts using the SAS/GRAPH statistical graphics procedures
- create histogram charts SAS/GRAPH statistical graphics procedures
- create scatter plots using SAS/GRAPH statistical graphics procedures
- create and chart a summary report and a frequency table in SAS

### Base SAS 9 Programming: Inputs and Outputs

**Overview/Description**

Effectively getting data into and out of SAS is key for a SAS programmer. Data will come in a variety of formats, and different output formats will be required. This course covers inputs and outputs from the SAS system. It also covers various functions for data transformation, and some methods for debugging your programs. This course is one of a series that prepares you for the SAS certification exam, SAS Certified Base Programmer for SAS 9.

**Target Audience**

Learners interested in programmatically working with data in SAS systems.

**Base SAS 9 Programming: Inputs and Outputs**

- start the course
- control when SAS writes an observation to a data set using an OUTPUT statement
- write to more than one SAS data set
- control SAS variable input and output with DROP and KEEP
- control SAS observation input and output with OBS and FIRSTOBS
- use the RETAIN statement to create an accumulating variable in SAS
- use the SUM statement to create an accumulating variable in SAS
- summarize data by groups using BY-Group processing in SAS
- summarize data by multiple groups using BY-Group processing in SAS
- use column input to read input data that is arranged in columns or fixed fields in SAS
- use formatted input to read both standard and nonstandard data that is arranged in fixed fields in SAS
- use multiple INPUT statements to read a group of records in a raw data file as a single observation in a new data set in SAS
- use a line-hold specifier to prevent the second INPUT statement in a DATA step from moving to the second line in a raw data file in SAS
- using the MISSOVER and DSD options to control behavior with missing values in raw data in SAS
- use various SAS functions to perform transforms or calculations on variables
- use SAS functions to extract and transform character values, including SUBSTR, LEFT, RIGHT, CHAR, PROPCASE and LENGTH
- create pie charts using the SAS/GRAPH Statistical Graphics Procedures
- use SAS functions to find and modify character values, including FIND, SUBSTR, COMPRESS and TRAINED
- use descriptive SAS statistical functions, such as SUM, MIN, MAX and MEAN
- truncate numerical SAS values by using the ROUND, INT, FLOOR, and CEIL functions
- convert between SAS data types using INPUT and PUT functions
- debug SAS programs using the PUTLOG statement
- debug logic errors in SAS programs
- create a program that manipulates input data

### Base SAS 9 Programming: Data Structures

**Overview/Description**

Combining loops and arrays opens up some of the more powerful features of SAS programming. This course covers various do loop types, and introduces arrays in SAS. It goes on to cover further techniques for restructuring and combining data including match merges. Finally, it takes a brief look at SQL database connectivity in SAS. This course is one of a series that prepares you for the SAS certification exam, SAS Certified Base Programmer for SAS 9.

**Target Audience**

Learners interested in programmatically working with data in SAS systems.

**Base SAS 9 Programming: Data Structures**

- start the course
- create a simple DO loop in SAS
- create a DO WHILE loop in SAS
- create a DO UNTIL loop in SAS
- create a nested DO loop in SAS
- reduce redundant code in a SAS program by creating a DO loop
- describe the characteristics of arrays in SAS
- create an array in SAS
- process all the elements of an array in a SAS program
- create variables in an array in SAS
- perform calculations using arrays and the keyword OF in SAS
- assign initial values in an ARRAY statement in SAS
- use the TRANSPOSE procedure to manipulate data sets in SAS
- use the TRANSPOSE procedure to rotate data sets in SAS
- perform a match-merge on SAS data sets
- control a match-merge with OUTPUT, DROP, KEEP, FIRST and LAST
- merge data sets with no common variable by using a series of separate DATA steps
- use SAS/ACCESS LIBNAME to match-merge a SAS data set with an Excel workbook
- use RENAME to match-merge data sets with same-named variables
- describe PROC SQL and use it to connect to a data set
- use PROC SQL to query a table in SAS
- use PROC SQL to join tables in SAS
- create and process an array and merge data sets in SAS