If you want to learn more about the particular course, click on its title:

**Introduction to Programming Concepts Using SAS Software****SAS Programming I: Essentials****SAS Programming II: Manipulating Data with the Data Step****SAS Macro Language****SAS Macro Programming: Advanced Topics****Querying and Reporting Using SAS Enterprise Guide****Categorical Data Analysis Using Logistic Regression****Data Preparation for Data Mining****Applying Data Mining Techniques Using Enterprise Miner****Mixed Models Analyses Using the SAS System****Multivariate Statistical Methods: Practical Research Applications****Decision Tree Modeling**

**INTRODUCTION TO PROGRAMMING CONCEPTS USING SAS SOFTWARE**

**Level:** 1 (course for beginners)

**Duration:** 2 days

**Software addressed:** Base SAS

**Audience**

This Level I course is designed for beginning computer users. If you have programming experience, you should take the “SAS Programming I: Essentials” course instead.

**Course Description**

This two-day entry level course teaches how to plan and write simple SAS programs to solve common data analysis problems. Workshops are included to provide practice running and debugging those programs in an interactive SAS session. The course highlights reading input data, creating simple list reports, creating simple summary reports, defining new data columns, and executing code conditionally. For a thorough understanding of programming concepts, this course should be followed by the “SAS Programming I: Essentials” course. If you do not plan to write SAS programs and prefer a menu-driven, point-and-click approach, you should consider taking the “Querying and Reporting Using Enterprise Guide” course instead of this course.

**Prerequisites**

No SAS experience or programming experience is required although you should have some computer experience and the need/desire to learn how to program beyond point-and-click techniques. Specifically, you should be able to

- log on and off a computer
- use a keyboard or mouse
- identify the operating system you use or will use to access the SAS System.

**Course Contents**

- Understanding Data Processing Concepts – explaining the use of computers in data processing; defining data processing terms; developing a program; differentiating file organizations in various operating systems.
- Learning the Concepts of SAS Programming – explaining the basic functionality of SAS; identifying the file types used in SAS; identifying a SAS program file and its components.
- Introducing the Course Scenarios – defining the lecture scenario; defining the course scenario.
- Reading a Raw Data File with the DATA Step – planning to read a raw data file; coding to read a raw data file with column input.
- Navigating the SAS Windowing Environment – defining the SAS windowing environment; identifying the three primary SAS programming windows; navigating SAS programming windows; editing and executing SAS code; saving and retrieving SAS code; using the Help facility.
- Creating a List Report with a PROC Step – planning to create a list report; coding to create a list report.
- Creating a Variable with the DATA Step – defining an assignment statement; planning and coding to create a variable.
- Performing Conditional Logic with the DATA Step – defining conditional logic; planning and coding to perform conditional logic to create a variable.
- Creating Statistical Reports with PROC Steps – defining a statistical report; planning and coding to create a summary report; planning and coding to create a frequency report.

**SAS PROGRAMMING I: ESSENTIALS**

**Level:** 2 (intermediate users)

**Duration:** 3 days

**Software addressed:** Base SAS, SAS/GRAPH

**Audience**

This Level II course is designed for those who want to learn to write SAS programs to accomplish typical data processing tasks and is a prerequisite to many other SAS courses.

**Course Description**

This foundation course focuses on the following key areas: reading raw data files and SAS data sets and writing the results to SAS data sets; sub setting data; combining multiple SAS files; creating SAS variables and recoding data values; and creating listing and summary reports. If you do not plan to write SAS programs and prefer a menu-driven, point-and-click approach, you should consider taking the “Querying and Reporting Using Enterprise Guide” or “the Introduction to SAS Enterprise Guide” course.

**Prerequisites**

Before attending this course, you should have programming experience in some language and an understanding of basic computer concepts. Specifically, you should be able to

- understand file structures and system commands on your operating system
- use a full-screen text editor
- write system commands to create and access system files
- understand programming logic concepts.

If you do not feel comfortable with the prerequisites or you are new to programming and you believe that the pace of this course may be too demanding, you can take the “Introduction to Programming Concepts Using SAS Software” course before attending this course. “Introduction to Programming Concepts Using SAS Software” is designed to introduce you to computer programming and covers a portion of the “SAS Programming I: Essentials” material at a slower pace.

**Course Contents**

- Getting Started with the SAS System – accessing the SAS System; navigating among the SAS programming windows; understanding the difference between batch mode and interactive mode; opening and submitting a program in the Program Editor window; checking the SAS log for program errors; examining your program’s output; understanding data sets, variables, and observations; understanding DATA and PROC steps; diagnosing and correcting programming errors; explaining SAS syntax and SAS naming conventions.
- Getting Familiar with SAS Data Sets – explaining the concept of a SAS data library; differentiating between a permanent library and a temporary library; investigating a SAS data library using the CONTENTS procedure.
- Producing List Reports – generating simple list reports using the PRINT procedure; displaying selected columns and rows in a list report; displaying a list report with column totals; sorting observations in a SAS data set; controlling page breaks for subgroups; identifying observations using the ID statement.
- Enhancing Output – customizing report appearance; formatting data values; creating HTML reports.
- Creating SAS Data Sets – reading raw data files using column input and formatted input; examining data errors; assigning variable attributes; reading Microsoft Excel spreadsheets (self-study).
- Programming with the DATA Step – reading SAS data sets and creating variables; executing statements conditionally using IF-THEN logic; controlling the length of character variables explicitly with the LENGTH statement; selecting rows to include in a SAS data set; selecting variables to include in a SAS data set; using SAS date constants; reading date fields from Microsoft Excel spreadsheets (self-study).
- Combining SAS Data Sets – using the SET statement to concatenate two or more SAS data sets; using the RENAME= data set option to change the names of variables; using the SET and BY statements to interleave two or more SAS data sets.
- Producing Summary Reports – creating one-way and two-way frequency tables using the FREQ procedure; generating simple descriptive statistics using the MEANS procedure; using the REPORT procedure to create a listing report; using the RBREAK statement to produce a grand total; creating tabular summary reports using the TABULATE procedure (self-study).
- Introduction to Graphics (Optional) – producing bar and pie charts; enhancing output with titles, footnotes, color, and fonts; producing plots; controlling appearance of the axes.

**SAS PROGRAMMING II: MANIPULATING DATA WITH THE DATA STEP**

**Level:** 3 (advanced users)

**Duration:** 3 days

**Software addressed:** Base SAS

**Audience**

This Level III course is designed for experienced SAS programmers. This course builds on the concepts presented in the “SAS Programming I: Essentials” course and is not recommended for beginning SAS software users.

**Course Description**

This intermediate course focuses on how to manage SAS data set input and output, work with different data types, and manipulate data. Specifically, the course discusses using the DATA step to control SAS data set input and output, combine SAS data sets, summarize data, process data iteratively with DO loops and arrays, and perform data manipulations and transformations.

**Prerequisites**

Before attending this course, you should have completed the “SAS Programming I: Essentials” course or have at least six months of experience writing SAS programs. Specifically, you should be able to

- create and access files in your operating environment
- explain the structure of a SAS program
- explore the structure and contents of a SAS data set
- distinguish syntax and data errors
- debug a SAS program
- create a SAS data set from a fixed-format external file
- subset the rows and columns of a SAS data set
- create derived variables
- write conditional logic statements
- read and write SAS data values
- access SAS data libraries
- sort a SAS data set
- read one or more SAS data sets using a SET statement
- perform a simple merge using a MERGE statement
- create detail and summary reports from a SAS data set
- place titles and footnotes on reports.

**Course Contents**

- Introduction – review of SAS basics; review of DATA step processing; review of displaying SAS data sets; working with existing SAS data sets.
- Controlling Input and Output – outputting multiple observations; writing to multiple SAS data sets; selecting variables and observations; writing to external files.
- Summarizing Data – creating an accumulating total variable; accumulating totals for a group of data.
- Reading and Writing Different Types of Data – reading delimited raw data files; controlling when a record loads; reading hierarchical raw data files.
- Data Transformations – manipulating character variables; manipulating numeric variables; manipulating numeric variables based on dates; converting variable type.
- Processing Data Iteratively – performing DO loop processing; performing SAS array processing.
- Combining SAS Data Sets – match-merging two or more SAS data sets; performing simple joins using the SQL procedure (self-study).
- Learning More – identifying additional resources.

**SAS MACRO LANGUAGE**

**Level:** 4 (experienced users)

**Duration:** 2 days

**Software addressed:** Base SAS

**Audience**

This Level IV course is for experienced SAS programmers who want to build complete macro-based systems using the SAS macro facility.

**Course Description**

This two-day course focuses on the components of the SAS macro facility and how to design, write, and debug macro systems. Emphasis is placed on understanding how programs with and without macro code are processed.

**Prerequisites**

Before attending this course, you should have completed the “SAS Programming II: Manipulating Data with the DATA Step” course or have equivalent knowledge. Specifically, you should be able to

- use a DATA step to read from or write to a SAS data set or external file
- use DATA step programming statements such as IF-THEN/ELSE, DO WHILE, DO UNTIL, and iterative DO
- use SAS data set options such as DROP=, KEEP=, and OBS=
- use character functions such as SUBSTR, SCAN, INDEX, and UPCASE
- form subsets of data using the WHERE clause
- create and use SAS date values and constants
- use SAS procedures such as SORT, PRINT, CONTENTS, MEANS, FREQ, TABULATE, and CHART.

**Course Contents**

- Overview of the Macro Facility – understanding applications for the SAS macro language; understanding how a SAS program is tokenized, compiled, and executed; understanding how the macro processor affects program flow.
- Using Macro Variables – using automatic macro variables; creating macro variables; substituting the value of a macro variable anywhere in a program; using macro variables; printing macro variable values in the SAS log; using macro quoting functions.
- Macro Facility Interfaces – creating macro variables during DATA step execution; understanding how macro variables can be indirectly referenced; resolving macro variables during DATA step execution; understanding the types of applications that require the functionality of the SYMGET function and SYMPUT routine; creating macro variables during PROC SQL execution using the INTO clause.

**SAS MACRO PROGRAMMING: ADVANCED TOPICS**

**Level:** 4 (experienced users)

**Duration:** 1 day

**Software addressed:** Base SAS

**Audience**

This Level IV course is for experienced SAS programmers who have completed the SAS Macro Language course and need additional, higher-level instruction on the SAS macro facility.

**Course Description**

This one-day course emphasizes advanced techniques that will enable students to take advantage of macro functionality. Portability, productivity, and efficiency issues are discussed. Other topics include handling special characters within macro parameters; processing data using macro techniques; performing debugging and troubleshooting tasks; and creating a library of macro utilities. After completing the course, students will be able to apply advanced macro techniques to write dynamic code and interface with data sets and other files.

**Prerequisites**

Before attending this course, you should have completed the SAS Macro Language course or have equivalent knowledge and experience.

**Course Contents**

- Handling Special Characters – applying compile-time quoting functions; applying execution-time quoting functions.
- Processing Data using Macro Techniques – performing numerical calculations; calling functions and routines; reading and writing data; coordinating macro with the DATA step.
- Building a Library of Macro Utilities – enhancing functionality; using autocall macros; using stored compiled macros.
- Developing Macro Applications – applying best practices; debugging and troubleshooting; creating portable applications.

**QUERING AND REPORTING USING ENTERPRISE GUIDE**

**Level:** 1 (beginners)

**Duration:** 2 days

**Software addressed:** SAS Enterprise Guide

**Audience**

This Level I course is designed for end users who are not programmers but who need to retrieve information from different sources, summarize it, and present it in tables and graphs.

**Course Description**

This two-day course focuses on how to access, manage, summarize, and present data using SAS Enterprise Guide. The course teaches students how to navigate the menu-driven interface of SAS Enterprise Guide to accomplish tasks such as accessing local SAS and Excel tables and remote relational databases; creating user-defined formats; managing, manipulating, and joining data using the SQL query builder; generating descriptive statistics, tabular summary reports, and ActiveX graphs; and automating and scheduling tasks. This course does not cover statistical analysis tasks.

**Prerequisites**

This course is designed for end users with no programming experience or SAS knowledge. Before attending this course, you should be familiar with Windows and other software, such as Microsoft Office or spreadsheet programs.

**Course Contents**

- Getting Started – introducing SAS Enterprise Guide.
- Working with Data in a Project – introducing tabular data; adding a local SAS table; accessing remote data; adding local data in other software formats; importing text files; working with tables in the Data Grid (self-study).
- Getting Started with Tasks – introducing task dialogs; creating a listing report; creating a frequency report; creating a two-way frequency report.
- Creating Simple Queries – introducing the Query task; setting a filter and selecting columns; creating new columns in a query; replacing values in a query; joining tables; performing outer joins (self-study).
- Creating Summarized Output – generating and exporting summary statistics; creating and applying custom formats; creating a tabular summary report; creating a graph; interacting with an ActiveX graph (self-study).
- Creating Advanced Queries – controlling query output; creating parameterized queries; grouping and filtering data in a query (self-study).
- Working with Results and Automating Projects – customizing the output style; combining results; building a Process Flow Diagram; automating projects and processes.
- Introducing SAS Programming – getting started with SAS syntax; editing SAS code; working with SQL syntax.

**CATEGORICAL DATA ANALYSIS USING LOGISTIC REGRESSION **

**Level:** 3 (advanced users)

**Duration:** 3 days

**Software addressed:** SAS/STAT

**Audience**

This Level III course is designed for biostatisticians, epidemiologists, social scientists, and physical scientists who are analyzing categorical response data. This course is not designed for predictive modelers in the business fields. Predictive modeling is covered in the Predictive Modeling Using Logistic Regression course.

**Course Description**

This three-day course focuses on analyzing categorical response data in scientific fields. The SAS procedures addressed are PROC FREQ, PROC LOGISTIC, and PROC GENMOD. The topics include performing stratified data analysis, using model-building strategies, assessing the fit of a binary logistic regression model, detecting interactions and nonlinear effects, building ordinal logistic regression models, and building nominal logistic regression models. There is also an introduction to longitudinal data analysis using Generalized Estimating Equations (GEEs).

**Prerequisites**

Before attending this course, you should

- be able to execute SAS programs and create SAS data sets. You can gain this experience by completing the “SAS Programming I: Essentials course”.
- have experience analyzing frequency tables using SAS software.
- have completed a course in statistics that covers linear regression and logistic regression. You can gain this experience by completing the “Statistics I: Introduction to ANOVA, Regression, and Logistic Regression” course.

**Course Contents**

- Contingency Table Analysis – using measures and tests of association; performing stratified data analysis.
- Binary Logistic Regression – fitting the model; using model selection strategies; assessing the fit of the model.
- Advanced Regression Topics – performing longitudinal data analysis; performing ordinal logistic regression; performing nominal logistic regression.

**DATA PREPARATION FOR DATA MINING**

**Level:** 4 (experienced users)

**Duration:** 3 days

**Software addressed:** Base SAS, SAS Enterprise Miner, SAS/STAT

**Audience**

This Level IV course is intended for data mining and IT professionals interested in transforming raw data into meaningful inputs for predictive models.

**Course Description**

Data preparation is universally held as the key to successful data mining. This three-day course introduces programming techniques used by analysts to transform raw data into a form suitable for predictive modeling. The course teaches you how to extract appropriate data from raw data sources and transform transactions or event data to a form that predictive models can utilize. You also learn how to effectively incorporate non-numeric data in predictive models as well as manage exceptional and extreme data. After completing this course, you also will be able to document the data preparation process.

**Prerequisites**

This course assumes some experience in both data mining and SAS programming. Before attending this course, you should

- have experience with common predictive modeling techniques, which you can gain from the “Predictive Modeling Using Enterprise Miner Software” course
- have experience with creating, managing, and manipulating SAS data sets, which you can gain from the “SAS Programming I: Essentials” and “SAS Programming II: Manipulating Data with the DATA Step” courses.

**Course Contents**

- Introduction – raw data structures; predictive modeling data structure; over view of data preparation challenges.
- Extracting Relevant Data – data difficulties; assessing available data; accessing available data; drawing a representative target sample; drawing an uncontaminated input sample.
- Transforming Transactions or Event Data – advantages and disadvantages of transactions data; common transaction structures; defining the time horizon; fixed and variable time horizon methods; implementing common transaction transformations.
- Using Non-Numeric Data – definitions and difficulties of non-numeric data; miscoding and multicoding detection; controlling degrees of freedom; geocoding.
- Managing Exceptions and Extremes – difficulties with outliers, missing and non-applicable values, and extreme distributions; detection of exceptions and extremes; remedies for exceptional and extreme values.

**APPLYING DATA MINING TECHNIQUES USING ENTERPRISE MINER**

**Level:** 3 (advanced users)

**Duration:** 3 days

**Software addressed:** SAS Enterprise Miner

**Audience**

This Level III course serves as an introduction to data mining and Enterprise Miner software. It is designed for data analysts and qualitative experts as well as those with less of a technical background who want a general understanding of data mining.

**Course Description**

This three-day course provides extensive hands-on experience with Enterprise Miner. It covers the basic skills required to assemble analyses using the rich tool set of Enterprise Miner, and it teaches how to perform cluster analysis and association and sequence analysis. The course also covers concepts fundamental to understanding and successfully applying data mining methods. You learn how to train, assess, and compare regression models, neural networks, and decision trees.

**Prerequisites**

Before attending this course, you should be familiar with Microsoft Windows and Windows-based software. No previous SAS software experience is necessary.

**Course Contents**

- Background – growth in computing power and operational databases; challenges presented by massive, opportunistic data; prediction and understanding of business outcomes; contributing disciplines: statistics, machine learning, pattern recognition.
- Problem Formulation – formulating business objectives that can be translated into suitable analytical methods; applying predictive modeling to database marketing, credit scoring, fraud detection, and healthcare informatics; applying and recognizing the pitfalls of cluster analysis and association rule discovery.
- Data Difficulties – data structure and organization; errors, outliers, and missing values; sampling and oversampling; dimension reduction and the curse of dimensionality.
- Introduction to Enterprise Miner – exploring workspace components; setting up projects; constructing analysis flow diagrams; conducting initial data exploration; employing variable selection techniques; imputing missing values.
- Regression – performing regression using a target marketing example; examining stepwise regression methods.
- Neural Networks – constructing multilayer perceptrons; visualizing network complexity; performing stopped training.
- Decision Trees – constructing a decision tree using a credit scoring example; examining the functionality of the Decision Tree node; constructing decision trees with binary and multiway splits; pruning and assessing decision trees.
- Model Evaluation and Implementation – comparing candidate models; constructing simple ensemble models; generating and using score code.
- Cluster Analysis – performing cluster analysis using sales data; using the Clustering node for k-means cluster analysis clustering with self-organizing maps; visualizing clusters using the Insight node.
- Associations and Sequences – using the Associations node in a consumer banking example; quantifying the associations among items; exploring sequences among items.

**MIXED MODELS ANALYSIS USING THE SAS SYSTEM**

**Level:** 4 (experienced users)

**Duration:** 3 days

**Software addressed:** SAS/STAT

**Audience**

This Level IV course is designed for data analysts, experimental designers, and researchers with sound statistical knowledge who want to learn how to analyze linear and nonlinear mixed models using the MIXED and NLMIXED procedures, respectively. Applications in several areas are presented, such as the semiconductor, agricultural, pharmaceutical, educational, and environmental industries.

**Course Description**

This three-day course teaches you how to use the MIXED procedure to build a linear mixed model, accounting for different variance-covariance structures. Applications of mixed models in some basic designed experiments are discussed, including randomized complete block designs, two-way mixed models, nested mixed models, incomplete block designs, split-plot designs, and crossover designs. Hierarchical linear modeling, random coefficient regression, analysis of covariance, and repeated measures data analysis are also discussed. Issues associated with unbalanced data, zero variance parameter estimates, and nonconvergence are addressed. In addition, the course teaches you how to use the %GLIMMIX macro to analyze generalized linear mixed models and the NLMIXED procedure to analyze nonlinear mixed models.

**Prerequisites**

Before attending this course, you should

- know how to create and manage SAS data sets
- have experience performing analysis of variance using the GLM procedure of SAS/STAT software
- have completed and mastered the Statistics II: ANOVA and Regression course or completed a graduate-level course on general linear models.
- Exposure to matrix algebra will enhance your understanding of the material. Some experience manipulating SAS data sets and producing graphs using SAS/GRAPH software is also recommended.

**Course Contents**

- Mixed Model Applications in Some Designed Experiments – writing contrasts to test hypotheses and estimate linear combination of means for mixed models; fitting linear mixed model for randomized complete block designs, two-way mixed models, nested mixed models, incomplete block designs, split-plot designs, and crossover designs; discussing the analysis of covariance for mixed models.
- Random Coefficient Regression and Hierarchical Linear Modeling – performing random coefficient regression analysis; conducting hierarchical linear modeling.
- Best Linear Unbiased Prediction (Optional) – explaining what BLUPs and EBLUPs are; producing parameter estimates associated with the fixed effects and random effects; explaining the difference between LSMEANS and EBLUPs; computing LSMEANS and EBLUPs using the MIXED procedure.
- Analysis of Repeated Measures – discussing issues on repeated measures analysis, including modeling covariance structure; analyzing repeated measures design using the MIXED procedure.
- More on Mixed Models – discussing estimation of variance parameters, degrees of freedom, the estimated GLS inference, and nonconvergence problems.
- Introduction to Nonlinear Mixed Models – discussing the situations where nonlinear mixed models analysis are needed; performing the analysis using the %GLIMMIX macro and the NLMIXED procedure.

**MULTIVARIATE STATISTICAL METHODS: PRACTICAL RESEARCH APPLICATIONS**

**Level:** 4 (experienced users)

**Duration:** 3 days

**Software addressed:** SAS/STAT; SAS/GRAPH; SAS/IML

**Audience**

This Level IV course is for researchers who need to apply multivariate statistical methods to research data in academic and industrial situations.

**Course Description**

This three-day course focuses on the application of multivariate statistical methods in a research environment. The topics include multivariate linear modeling techniques such as MANOVA, multivariate regression, discriminant function analysis, and canonical correlation analysis; multivariate models for repeated measures analysis; dimension reduction techniques such as principal components analysis; exploratory factor analysis; analysis of structure including confirmatory factor analysis and structural equation modeling techniques. The course concludes with a chapter on multivariate data preparation, assumptions checking, and multiple imputation methods.

**Prerequisites**

Before attending this course, you should:

- know how to create and manage SAS data sets
- have experience performing analysis of variance using the GLM procedure of SAS/STAT software
- have completed and mastered the material covered in the Statistics II: ANOVA and Regression course or completed a graduate-level course on general linear models.

Exposure to matrix algebra will enhance your understanding of the material. Some experience manipulating SAS data sets and producing graphs using SAS/GRAPH software is also recommended.

**Course Contents**

- Overview and Examples of Multivariate Methods – introduction and examples of multivariate statistics; review of univariate statistics.
- Analysis of Groups: Multivariate Analysis of Variance – introduction to multivariate analysis of variance; factorial MANOVA; contrasts; the MULTTEST procedure for multiple comparisons (self study).
- More Multivariate Linear Models – multivariate multiple regression; canonical correlation; multivariate repeated measures; doubly multivariate repeated measures.
- Classification Into Groups: Discriminant Analysis – canonical discriminant analysis; Fisher linear discriminant analysis; discriminant analysis and crossvalidation; stepwise discriminant analysis.
- Variable Reduction and Extraction of Meaningful Factors – principal components analysis; principal components regression (self study); exploratory factor analysis; Cronbach’s coefficient alpha for scale reliability.
- Analysis of Structure Using the CALIS Procedure – introduction to structural models and confirmatory factor analysis; confirmatory factor analysis; structural equation models with repeated measurements.
- Additional Data Topics – preparing data for multivariate analysis; checking assumptions; multiple imputation.

**DECISION TREE MODELLING**

**Level:** 4 (experienced users)

**Duration:** 2 days

**Software addressed:** SAS Enterprise Miner

**Audience**

This Level IV course is designed for predictive modelers and data analysts who want to build decision trees using SAS Enterprise Miner software.

**Course Description**

This two-day course covers tree-structured predictive models and the methodology for growing, pruning, and assessing decision trees. In addition, this course discusses many of the auxiliary uses of trees such as exploratory data analysis, dimension reduction, and missing value imputation.

**Prerequisites**

Before attending this course, you should

- have an understanding of basic statistical concepts. You can gain this knowledge from the “Statistics I: Introduction to ANOVA, Regression, and Logistic Regression” course.
- be familiar with SAS Enterprise Miner software. You can gain this knowledge from the Predictive Modeling Using Enterprise Miner Software course.

**Course Contents**

- Tree-Structured Models – classification trees; regression trees.
- Recursive Partitioning – binary and multiway splits; splitting criteria; missing values.
- Pruning – p-value adjustments; profit/loss considerations; class probability trees; cross-validation.
- Forests – bagging; arcing.