September 9-11, 2015      
WESTERN USERS OF SAS SOFTWARE                                                                       
 
 
Pre/Post Conference Classes
 
Art Carpenter
Carpenter

Art Carpenter’s publications list includes five books, and numerous papers and posters presented at SUGI, SAS Global Forum, and other user group conferences. Art has been using SAS® since 1977 and has served in various leadership positions in local, regional, national, and international user groups. He is a SAS Certified Advanced ProgrammerTM and through California Occidental Consultants he teaches SAS courses and provides contract SAS programming support nationwide.

Advanced Techniques in the SAS® Macro Language
Tuesday September 8
8:30am - 4:30pm

(Carpenter)

Course Description/Abstract:
This one day course is designed for students with a good understanding of the DATA and PROC steps and who already understand the basic structure and syntax of the SAS Macro Language. The course will start with a short review of the macro basics and quickly move on topics selected to improve your macro language expertise. Several key macro functions will be introduced, explained and demonstrated.

Learn how the macro language thinks as you use it to write your programs.

Course Outline:

  • Brief Macro Language Review
  • Macro Functions, Using and Creating
  • Writing Dynamic Code
  • Controlling Your Environment
  • Working With SAS Data Sets
  • Using SAS Macro Libraries
  • Miscellaneous Advanced Macro Topics

Intended Audience:  Intermediate/Advanced Levels
Delivery Method:  Seminar
Course Material:  Course textbook: Carpenter's Complete Guide to the Macro Language, 2nd Edition required
SAS Products Discussed in the Course:  Base SAS

Cleaning, Validating, and Reshaping Your Data:
Taking Advantage of SAS® Tools
Friday September 11
1:30pm - 4:30pm
(Carpenter)

Course Description/Abstract:
The procedures of SAS along with the DATA step provide the programmer and data analyst access to flexible programming power unavailable in any other programming language. Along with that power comes the complexity of multiple solutions to many common programming tasks. This class covers a number of Intermediate and Advanced SAS programming topics that offer solutions that take advantage of techniques that are not employed by a majority of SAS programmers. Based on Art’s latest book, Carpenter’s Guide to Innovative SAS® Techniques, published in the spring of 2012, this course will extend the knowledge and tool set of SAS programmers that work with data.

Course Outline:

  • Learn to create user defined formats and functions to clean and validate your data
  • Use multiple techniques to sparse and display sparsed data
  • Extend PROC COMPARE with the Macro Language to automate data comparisons
  • Explore alternative techniques to PROC TRANSPOSE when reshaping your data
  • Discover how to display and report on all levels of classification variables, even when they are not in the data
  • Learn several ways to form various types of discrete buckets for continuous data

Intended Audience:  Intermediate/Advanced Levels
Delivery Method:  Seminar
Course Material:  Class notes
SAS Products Discussed in the Course: Base SAS

Full-Throttle Macros: Write Macros that Write Themselves (Hands-On Workshop)
With Mary Rosenbloom
Wednesday September 9
8:30am - 11:30am

(Carpenter & Rosenbloom)

Course Description/Abstract:
As an advanced programmer, you are familiar with creating and using some basic macros.  You have seen how macros can reduce redundant code, and how they are sometimes portable from project to project, but deep down you’ve always longed to drive them harder.  In this class, we’ll show you how to throttle your macros into top gear.  By writing and using data-driven macros, you can make code that is self-updating, code that requires little-to-no maintenance, and code that is portable from project to project and environment to environment. 

In this hands-on half day class, you will have the opportunity to learn and then practice creating and using macro lists, to write data-driven (self-updating) macros, and to explore and use several sources of control files that can fuel your code.

The ideal class participant will have a strong understanding of DATA and PROC steps and a good understanding of macro language basics.  This class will cover a number of fairly advanced macro language techniques.

Course Outline:

Six steps to take your macro code from manual to automatic (lecture)

Building and using horizontal and vertical lists (lecture and hands-on)

Exploring control files (lecture and discussion)
  • What is a control file?
  • Sources of control files
Practical examples (lecture and hands-on), including:
  • Break a dataset apart into an unknown number of sub-datasets based on a variable value (where the control file is the data itself)
  • Compare the contents of two data libraries with identical contents but extracted from the database at two time points (where the control file is the database structure and the records in the earlier extract)
  • Using .sas programs in a folder to drive a documentation process
  • Using the attributes of the analysis data to control the analysis
  • Driving a program using an Excel or CSV document
  • Drawing control information from DICTIONARY tables and SASHELP View

Intended Audience:  Advanced Level
Delivery Method:  Hands-on Workshop
Course Material:  Class notes, SAS code, and sample datasets
SAS Products Discussed in the Course: Base SAS

AnnMaria De Mars
AnnMaria De Mars is president of a statistical consulting firm, The Julia Group, CEO of tech start-up 7 Generation Games and adjunct professor at National University. She began her SAS career over 30 years ago at General Dynamics. In previous incarnations she has been Senior Statistical Consultant at the University of Southern California and Associate Professor at Jamestown College. She has a Ph.D. from the University of California, Riverside, an MBA from the University of Minnesota, and a BSBA from Washington University in St. Louis. She also has a sixth-degree black belt in judo, making her one of the few people who can honestly claim to be a coding ninja.
Chapman
Factor Analysis by Example
Wednesday September 9
8:30am - 11:30am

Course Description/Abstract:
Factor analysis is a technique for dimension reduction, that is, reducing those 120-item surveys to a half-dozen scales. This course provides a thorough introduction to conducting and a factor analysis, including selecting the numbers of factors to retain, rotation and communality estimates. Interpreting statistical results will be explained, including eigenvalues, factor loadings and the search for simple structure. We will walk through code using examples from diverse industries.

Course Outline:

  • The Basics
    • What is a factor analysis and why do I need one?
    • Common variance, error variance (test theory in ten minutes)
    • Factor analysis using SAS Enterprise Guide
  • Principal Components Analysis with Varimax Rotation
    • What did we just do, why and what does it mean
  • Principal Factors Analysis
    • Choices of communality estimates
    • Options for selecting the number of factors
    • Parallel Analysis Criterion macro
    • Factor scores – to weight or not to weight
  • Confirmatory Factor Analysis with PROC CALIS (easier than you think)

 Intended Audience:  Intermediate.
Delivery Method: Lecture
Course Material:  PowerPoint slides (available on-line)
SAS Products Discussed in the Course:  SAS/STAT

Steven First
First

Steven First, President of Systems Seminar Consultants (SSC), has provided SAS training for over 30 years at private companies across the globe, at local and regional user groups, and on the web.  His SAS experience includes hundreds of manufacturing, retail, government, marketing, and financial applications.  Steve has developed SSC into an esteemed provider of SAS solutions.  His commitment to quality has resulted in a successful, fast-growing business.  Steve founded Wisconsin Illinois SAS User Group and Wisconsin SAS User Group.  He is a regularly invited speaker at user group meetings.  Steve has a B.S. in Computer Science from the University of Wisconsin, La Crosse.

Introduction to SAS Enterprise Guide
Tuesday September 8
8:30am - 4:30pm

Course Description/Abstract:
Enterprise Guide brings users many functions of SAS through a simple point-and-click interface. Beginners without any programming experience can use the task wizards in Enterprise Guide to analyze data and create reports and graphs. Advanced users can save time by using code generated by Enterprise Guide as a starting point for more complicated programs. This overview discusses how to start a project in Enterprise Guide, access and analyze data, build queries, and produce reports and documents.

Course Outline:
•             Create a project in Enterprise Guide
•             Import, organize, and sort data
•             Join and filter data from multiple tables
•             Calculate basic statistics
•             Calculate a new column of data in a table
•             Create and customize summary reports
•             Create bar graphs, pie graphs, and scatter plots
•             Design documents and reports with output from several tasks
•             Create flexible tasks and queries using parameters
•             Automate and schedule processes
•             Format data using built-in and user-defined formats
•             Review and modify the code Enterprise Guide generates
•             Import and export SAS code to and from Enterprise Guide

Intended Audience:  All levels
Delivery Method:  Seminar
Course Material:  Course textbook: Introduction to SAS Enterprise Guide required
SAS Products Discussed in the Course:  SAS Enterprise Guide

Gerry Hobbs

Gerry Hobbs is on the faculty in the West Virginia University Department of Statistics.  He has served as a consultant to the Education Division at the SAS Institute for over 30 years and has written educational materials used by that division.  Gerry co-chaired SUGI’13 held in Orlando, Florida in 1988 and serves on the SAS Global Forum Executive Board.

Hobbs
Decision Trees: The Details
Friday September 11
1:30pm - 4:30pm

Course Description/Abstract:
Prediction models based on recursive partitioning (decision trees) have gained popularity in recent times and are now widely used in target marketing, churn prevention, and numerous other business areas.  Decision Trees are available through PROC DTREE in the latest release of SAS.  Tree based models can be applied to problems in which the response (target) variable is continuous or categorical and in which the predictors are any combination of continuous and categorical variables.  In our discussion we will explore the algorithms that are used in order to grow decision trees including some of the variations that lead to named methodologies such as C4.5, CART and CHAID.  In particular, we will discuss the concept of reducing node impurity in the context of both classification trees and regression trees.  We will discuss the ways in which decision tree predictions can be improved using ancillary techniques that combine predictions from many trees.

Course Outline:

  • Decision trees, the general ideas
  • Choosing the best place(s) to split based on a variable
  • Which variable is the best “splitter”?
  • When to quit splitting.
  • Do I prune the tree back?
  • If so, how?
  • How to combine trees to improve performance

Intended Audience:  Beginner/Intermediate Levels
Delivery Method:  Seminar
Course Material:  PowerPoint slides
SAS Products Discussed in the Course:  Base SAS, SAS/OR, JMP

Kirk Paul Lafler
Lafler

Kirk Paul Lafler has been programming in SAS® since 1979 and is consultant and founder of Software Intelligence Corporation. He is a SAS Certified Professional, application developer, programmer, data scientist, mentor, and provider of IT consulting services and training to SAS users around the world. As the author of six books including Google® Search Complete! (Odyssey Press. 2014), PROC SQL: Beyond the Basics Using SAS, Second Edition (SAS Institute. 2013) and PROC SQL: Beyond the Basics Using SAS (SAS Institute. 2004), he has written more than five hundred papers and articles, been an Invited speaker at four hundred-plus SAS International, regional, special-interest, local, and in-house user group conferences/meetings, and is the recipient of 23 “Best” contributed paper, hands-on workshop (HOW), and poster awards.

Exploring SAS® Hash Programming Techniques
Friday September 11
1:30pm - 4:30pm

Course Description/Abstract:
Beginning in Version 9, SAS® software supports a DATA step programming technique known as hash that can help improve the way table lookup, search, sort, and join operations are performed. This course explores what a hash object is, how it works, and the syntax required. Topics include how the hash object can be used to perform in-memory data sorts, search memory-resident data using a simple key to find a single value, use a hash object to reduce the number of steps in a program, allocate memory on demand, as well as more complex programming techniques that use a composite key to search for multiple values.

  • A Review of the Merge/Join Process
    • The Matching Process Explained
    • Data Relationship Types
    • What Happens During a Merge / Join
    • DATA Step Match Merge Example
    • PROC SQL Match Join Example
  • What is a Hash Object?
  • How Does a Hash Object Work?
    • Process Uses Keys
  • Hash Object Syntax
    • Basic Syntax Rules
    • Key and Data Items
    • Introduction to Hash Object Methods
    • Hash Object Actions and Methods
  • Hash Application Examples
    • Search and Retrieve
    • Save Hash Object Data
    • Using Merge Keys
    • Merge with Duplicates
    • Ascending and Descending Sorts

Intended Audience:  All levels
Delivery Method:  Seminar
Course Material:  Class notes and PowerPoint slides
SAS Products Discussed in the Course:  Base SAS

PROC SQL Programming: The Basics and Beyond
Tuesday September 8
8:30am - 4:30pm

Course Description/Abstract:
This popular course teaches SAS® and SQL users core concepts and features about PROC SQL. Attendees learn how to use PROC SQL to access data in SAS datasets (tables); accomplish essential programming tasks including retrieving, subsetting, ordering, and grouping data; construct logic scenarios with case expressions; explore one-to-one, one-to-many, and many-to-many data relationships; understand the similarities and differences between DATA step merges and joins; create complex queries using inner and outer join constructs as well as with set operators; use summary (statistical) functions to aggregate data; create new tables; produce “quality” looking output using PROC SQL options with Output Delivery System (ODS); interface PROC SQL with the macro facility to create single-value and multi-value (list) macro variables; create simple and composite indexes; assign table integrity constraints; and debugging and troubleshooting queries.

Course Outline:

  • Introducing the SQL Procedure
  • Constructing Simple Queries
  • Exploring the World of Views – Creating and Using Views
  • Constructing Complex Queries – Joins and Set Operators
  • Exploring Logic Scenarios – Constructing Simple and Searched Case Expressions
  • Formatting SQL Output / Results with ODS
  • Creating Tables with PROC SQL
  • Creating Simple and Composite Indexes
  • Accessing SAS Metadata Dictionary Tables and SASHELP Views
  • Exploring the PROC SQL and Macro Interface
  • Designing and Constructing Database Tables
  • Populating, Updating and Modifying Tables
  • Assigning Table Integrity Constraints
  • Debugging and Troubleshooting Queries

Intended Audience:  Beginner/Intermediate Levels
Delivery Method:  Seminar
Course Material:  Class notes, PowerPoint slides, and course textbook (additional fee may apply; textbook: PROC SQL: Beyond the Basics using SAS, Second Edition recommended, but not required)
SAS Products Discussed in the Course:  Base SAS

Russell Lavery

Russ Lavery has been a SAS programmer since 1985 and still loves it.  He has won multiple “best paper awards” at SAS conferences and has presented over sixty presentations at SAS conferences.  He has been a technical review for four books by SAS Press.  He is a contract programmer in the Philadelphia Area and also teaches SAS and Statistics at local Universities. He has lead SAS/Statistical seminars all over the U.S, in Europe and in Asia.

Lavery
Introduction to Forecasting using SAS ETS
Wednesday September 9
8:30am - 11:30am

Course Description/Abstract:
Time Series Forecasting has some elegant mathematical models that assume what happened in the past will predict the future.  If the assumptions of the elegant models are met, they make excellent predictions.  However, business actions (advertising, new product introductions, couponing, etc.) are designed to make sure that the patterns in the past are NOT carried forward to the future.  As a result practitioners have found that elegant models have a hard time outperforming simple forecasting techniques in the short term.  Studies have also shown that management adjustments often make forecasts less accurate.

This Seminar focuses on the simple forecasting techniques (Exponential Smoothing), the automatic techniques (X12), and creating a business process that can reduce the negative effects of adjustments to the forecast.

Course Outline:

  • Forecasting reality: Simple techniques are hard to beat
  • Managing the forecasting process: Jedi mind tricks to keep people from adjusting, and hurting, the forecast
  • PROC ESM: How to select the proper exponential smoothing method
  • PROC X12: How to decompose data into trend, season and error
  • Automated ARIMA: Run all the 20 common ARIMA Models and have SAS pick the best five models for your review

Intended Audience:  Beginner / Intermediate Levels
Delivery Method:  Seminar
Course Material:  Class notes
SAS Products Discussed in the Course:  SAS/ETS

Pete Lund
Lund

Pete Lund is a 25-year veteran of using SAS on a daily basis and is responsible for managing reporting solutions at Looking Glass Analytics in Olympia, WA.  Customers in criminal justice, social services, public health and education give him ample opportunity to push the envelope on SAS reporting technologies. He’s won Best Paper awards at SUGI/SAS Global Forum three times and was the 2012 SAS User Feedback Award winner in Orlando.  Pete was on the PNWSUG Executive Committee for 15 years and chaired three conferences.  He has taught numerous classes at WUSS, PNWSUG, NWSUG, SCSUG and SUGI/SAS Global Forum.

Reporting Your Way Using ODS LAYOUT and the Report Writing Interface
Wednesday September 9
8:30am - 11:30am

Course Description/Abstract:
I have a passion for reporting – more specifically, a passion for reporting using SAS. For those of us who love developing reports, SAS 9.4 brings exciting news. Two powerful features, which have been available in some form for quite a while, are finally considered production: ODS LAYOUT and the Data Step Report Writing Interface. These open up a whole new world of flexible report design and development.

As the name implies, ODS LAYOUT allows you to “layout” the page for placement of multiple output objects. This means you can easily put tables, charts, graphs, and text all on the same page for a polished report look, with very little additional code. The output objects can be the results of any procedure or data step that produces output. With “gridded” LAYOUT you specify row and column information, and the output goes into those “cells.” In “absolute” LAYOUT you specify the actual size and location of regions on the page and the output that goes into those regions.

If you can’t get exactly what you want from PROC REPORT or TABULATE, the Report Writing Interface comes to the rescue. The Report Writing Interface is just a fancy way of saying you’re using the ODSOUT object in a data step. This object allows you to layout the page, create tables, embed images, add titles and footnotes and more – all from within a data step, using whatever data step logic you need. Also, all the style capabilities of ODS are available to you so that your data step created output can have fonts, sizes, colors, backgrounds and borders to make your report look just like you want.

This seminar will cover the basics of both of these new features. Examples will be based on “real-world” reports – the kind that makes people ask, “You did that report in SAS?” No longer do you have to tremble a bit when someone sends you a document or spreadsheet with their desired report mockup. Most likely, you’ll be able to meet their demands and maybe even improve on it.

Course Outline:

  • Resources Available
  • ODS Layout
    • What is it?
    • Gridded Layout
    • Absolute Layout
    • Which Do I Use?
  • Report Writing Interface
    • Objects and Methods
    • General Methods
    • Table-related Methods
    • Layout-related Methods
  • “Real World” Examples

Intended Audience:  Intermediate/Advanced levels
Delivery Method:  Seminar
Course Material:  Class notes and PowerPoint slides
SAS Products Discussed in the Course: 
Base SAS, SAS/Graph

Chris Riddiough
Christine Riddiough is a Principal Technical Training Consultant with SAS in Rockville, Maryland. She started working as a SAS instructor in 1999. She has a bachelor's degree in astronomy from Carleton College, and a master's degree and Ph.D. candidacy in astrophysics from Northwestern University. She also has certificate in information systems from the University of the District of Columbia. Before coming to SAS she taught computer programming, science and math, database management, Web design, and astronomy at various schools and universities. She also conducted research on public health/environmental health physics and has consulted with non-profit organizations on database design and web authoring. She teaches SAS programming courses, statistics courses and business intelligence courses. Her time out of the classroom is often spent delving into science fiction and mysteries. Watching movies, working logic puzzles and snuba diving (a cross between scuba diving and snorkeling) provide off-time enjoyment as well. She is also involved in community organizations.
Riddiough
Preparing for the SAS Base Programming Certification Exam
Wednesday September 9
8:30am - 11:30am
The SAS Base Programming Exam is the ideal certification exam for those relatively new to SAS programming or new to SAS certification. This seminar will look at the specifics of the exam and resources available for preparing for the exam. The five content areas of the exam will be discussed in detail and sample questions will be presented.
Making the Most of Your Statistical Analysis with SAS® Programming
and the Output Delivery System
Friday September 11
1:30pm - 4:30pm

This seminar teaches students how to use the SAS Output Delivery System to customize the output from their statistical analyses, and how to generate reports based on that output for consumption by business users and other information consumers in their organization. It starts with a review of ODS basics, focusing on the data destination and using the ODS Output statement. The ODS Trace as a mechanism for determining what output objects are created will be explored. We will then examine some examples of how we can easily capture statistical information and report on it in a concise way. Questions addressed will include:

• Which correlations are statistically significant? – use ODS to output correlation statistics to a data set and then use a data step to eliminate those that are non-significant.
• How can I get predicted values based on parameter estimates? – use ODS to capture parameter estimates and the use them to calculate predicted values.
• How can I compare a series of models from linear regression based on several statistics? – use ODS to capture the statistics and use data step programming and macro to produce a comparison table.With SAS 9.2 Graph Template Language (GTL), you can create complex graphs frequently used in many industries including Health and Life Sciences, Insurance, Finance and more. This half-day course will cover the key features of GTL using examples from the above industries, including graphs commonly used for analysis of safety data for clinical trials. We will build graphs such as the Forest Plot, LFT Patient Profiles, Adverse Event Timelines, Survival Plot, Most Frequent AE and more using the GTL.

Course outline:
• Brief overview of ODS Graphics.
• Review of key GTL features.
• Single cell graphs.
• Multi-cell graphs.
• Customizing SAS procedure templates.
• Review of key SAS 9.3 features.
• Using ODS Graphics Designer for fast graph prototyping.

Prerequisites:
This course is suitable for users with intermediate to advanced SAS programming knowledge.

Mary Rosenbloom
Rosebloom

Mary Rosenbloom is a Principal Statistical Programmer at Edwards Lifesciences in Irvine, California.  She has been using SAS for almost 20 years and is especially interested in using macros to generate data-driven code, DDE, and program validation methods.  She has been involved with WUSS and SAS Global Forum for the past several years, and has co-authored award-winning papers at both conferences.  Mary has an MS in Biostatistics from the University of North Carolina at Chapel Hill.  She spends much of her free time gazing adoringly at her two-year-old identical twin sons, Harlan and Magnus. 

Full-Throttle Macros: Write Macros that Write Themselves (Hands-On Workshop)
With Art Carpenter
Wednesday September 9
8:30am - 11:30am

Course Description/Abstract:
As an advanced programmer, you are familiar with creating and using some basic macros.  You have seen how macros can reduce redundant code, and how they are sometimes portable from project to project, but deep down you’ve always longed to drive them harder.  In this class, we’ll show you how to throttle your macros into top gear.  By writing and using data-driven macros, you can make code that is self-updating, code that requires little-to-no maintenance, and code that is portable from project to project and environment to environment. 

In this hands-on half day class, you will have the opportunity to learn and then practice creating and using macro lists, to write data-driven (self-updating) macros, and to explore and use several sources of control files that can fuel your code.

The ideal class participant will have a strong understanding of DATA and PROC steps and a good understanding of macro language basics.  This class will cover a number of fairly advanced macro language techniques.

Course Outline:

Six steps to take your macro code from manual to automatic (lecture)

Building and using horizontal and vertical lists (lecture and hands-on)

Exploring control files (lecture and discussion)
  • What is a control file?
  • Sources of control files
Practical examples (lecture and hands-on), including:
  • Break a dataset apart into an unknown number of sub-datasets based on a variable value (where the control file is the data itself)
  • Compare the contents of two data libraries with identical contents but extracted from the database at two time points (where the control file is the database structure and the records in the earlier extract)
  • Using .sas programs in a folder to drive a documentation process
  • Using the attributes of the analysis data to control the analysis
  • Driving a program using an Excel or CSV document
  • Drawing control information from DICTIONARY tables and SASHELP View

Intended Audience:  Advanced Level
Delivery Method:  Hands-on Workshop
Course Material:  Class notes, SAS code, and sample datasets
SAS Products Discussed in the Course: Base SAS

Susan Slaughter
Susan Slaughter is best known as half of the team that wrote The Little SAS Book which is published by SAS Institute. For many years, a copy of this best-selling book was shipped with every copy of SAS software. She has presented over 90 papers at local, regional, and international SAS user group meetings, and currently works as a consultant through her company, Avocet Solutions.
Slaughter
SAS Essentials Workshop
Wednesday September 9
How SAS Thinks: SAS Basics I
This presentation introduces SAS programming at the most basic level.  Topics include the structure of SAS data sets, DATA versus PROC steps, the DATA step’s built-in loop, character versus numeric data, SAS date values, and the various ways of running SAS programs and getting data into SAS.  By the end of this presentation you will have a clear idea of what SAS is and how you can use it.
Introduction to DATA Step Programming: SAS Basics II
The DATA step is the workhorse of SAS.  It has the flexibility of a regular programming language but with SAS’s own unique built-in structure.  Topics include assignment statements, functions, conditional logic, and subsetting and combining SAS data sets.  This will be a quick overview of the endless ways you can use DATA steps to manipulate your data.
Introduction to SAS Procedures: SAS Basics III
I SAS procedures are the powerhouses of SAS.  They are subroutines you can use to perform tasks from the simple to the extremely complex.  The focus will be on sorting and reporting.  Procedures covered will include CONTENTS, SORT, PRINT, FREQ, and MEANS.