- MWSUG 2013
- Conference Overview
- Conference Wrap-Up
- Conference Invitation
- Schedule Overview
- Registration and Rates
- Important Dates
- Conference Committee
- Hotel Information
- Mobile App & Program
- Conference Content
- Paper Presentations
- Section Descriptions
- Special Events
- Experts Panel
- Innovation Area
- Schedule Grid
- SAS Super Demos
- Conference Extras
- Training Courses
- SAS Certification
- For Presenters
- Call for Papers
- Presenter Mentoring
- Presenter Resources
- Get Involved
- Be a Volunteer
- Scholarships
- Students
- Junior Professionals
- Best Paper Winners
Proceedings
MWSUG 2013 Training Classes
MWSUG offers a full menu of pre-conference training courses. These training classes are learning opportunities which allow you to delve more deeply into a topic. Classes are offered on the Friday, Saturday, and Sunday prior to the conference.
Registration Type | Half Day | Full Day | Three Day Bundle - BEST VALUE! |
Conference Attendee | $175 | $350 | $975 |
Without Conference | $275 | $550 | $1,300 |
Full-Time Student | $100 | $200 | N/A |
To register for a training class, please select the corresponding class during the registration process. Seating for the training classes are limited and registration will be accepted on a first-come, first-serve basis.
Courses Offered
Friday, September 20, 2013
Time | Course Title (click for description) | Instructor |
8:00 AM - 5:00 PM | From %MACRO to %MEND: An Introduction to the SAS Macro Language | Art Carpenter |
8:00 AM - 12:00 PM | Data Visualization with Minimal Coding: An Introduction to the SG (Statistical Graphics) Procedures | Taylor Lewis |
8:00 AM - 12:00 PM | ODS Basics and Beyond | Kirk Lafler |
8:00 AM - 12:00 PM | Statistical Review | Russ Lavery |
1:00 PM - 5:00 PM | Handy SAS Functions | Taylor Lewis |
1:00 PM - 5:00 PM | Generating Colorful Reports in SAS | Ben Cochran |
Saturday, September 21, 2013
Time | Course Title (click for description) | Instructor |
8:00 AM - 12:00 PM | An Introduction to Creating Prompts in SAS Enterprise Guide | Ben Cochran |
8:00 AM - 12:00 PM | Big File Techniques | Russ Lavery |
8:00 AM - 12:00 PM | Getting Started with PROC Report | Art Carpenter |
8:00 AM - 12:00 PM | PROC SQL Programming: Basics and Beyond | Kirk Lafler |
1:00 PM - 5:00 PM | Linear Regression and ANOVA | Arthur Li |
1:00 PM - 5:00 PM | Imputation Methods | Taylor Lewis |
1:00 PM - 5:00 PM | Building Dynamic Programs and Applications Using the SAS Macro Language | Art Carpenter |
1:00 PM - 5:00 PM | Exploring SAS Hash Programming Techniques | Kirk Lafler |
Sunday, September 22, 2013
Time | Course Title (click for description) | Instructor |
8:00 AM - 5:00 PM | Manipulating Data with SAS Functions | Ben Cochran |
8:00 AM - 12:00 PM | Innovative Tips and Techniques: Doing More in the DATA Step | Art Carpenter |
8:00 AM - 12:00 PM | Data Access, Discovery and Analytics Using JMP Software | Charlie Shipp |
8:00 AM - 12:00 PM | Logistic Regression | Russ Lavery |
1:00 PM - 5:00 PM | Advanced Proc REPORT: Understanding the Compute Block and the Report Process | Art Carpenter |
1:00 PM - 5:00 PM | Advanced PROC SQL Programming Concepts and Techniques | Kirk Lafler |
1:00 PM - 5:00 PM | Analysis of Survival Data | Arthur Li |
Course Descriptions
From %MACRO to %MEND: An Introduction to the SAS Macro LanguageArt Carpenter
Friday, September 20, 2013, 8:00 AM - 5:00 PM, Senate Room A
This one-day course is designed for the SAS programmer who is new to the Macro Language. We will start at the basics and cover the fundamentals necessary to start applying SAS macros in your programs. By the end of the day you will understand how the Macro Language works, what the Macro Symbol Table is and how values are stored in it, how the SAS System uses Macro Variables, key Macro Language concepts, important SAS Macro Language statements, and how to invoke Macros in your programs. The example Macros shown in the course materials demonstrate the power and flexibility of this part of the SAS System and will enable you to apply the functionality of the Macro Language to your own programs right away. This session is suited for the SAS user who already has a basic understanding of the Data Step and Procedure Steps, and who is new to the Macro Language facility in SAS System software. It is a beginning-level course that assumes no prior understanding of the SAS Macro Language. It is also suitable for SAS users who want to understand the Macros found in programs that have been "inherited" from other programmers.
Data Visualization with Minimal Coding: An Introduction to the SG (Statistical Graphics) Procedures
Taylor Lewis
Friday, September 20, 2013, 8:00 AM - 12:00 PM, Governors Ballroom D
It is no secret that SAS has not traditionally been known for its graphical capabilities. Although SAS/GRAPH is extremely flexible, one might argue it is too flexible in the sense that a substantial amount of coding can be required to conduct even the most basic of data visualization tasks. The suite of SG (Statistical Graphics) procedures within SAS/ GRAPH, however, offers the functionality to create presentable plots with much less syntax. The objective of this course is to demonstrate the utility of these procedures with examples of common data summarizations such as scatterplots, time series plots, histograms, and bar charts. To meet this objective, the course abides by a task-oriented structure as opposed to a procedure-oriented structure, but to be specific, attendees can expect to leave the course with a better understanding of PROC SGPLOT, PROC SGSCATTER, and PROC SGPANEL.
ODS Basics and Beyond
Kirk Lafler
Friday, September 20, 2013, 8:00 AM - 12:00 PM, Senate Room B
This course explores the various techniques associated with output formatting and delivery using the Output Delivery System (ODS). Numerous examples will be presented to command mastery of ODS capabilities while providing a better understanding of ODS statements and options to deliver output anyway that is needed. Topics include SAS-supplied Formatting statements and options; selecting output objects with Selection or Exclusion Lists; formatting Output as RTF, PDF, MS-Excel®, and HTML; using the Escape character to enhance output formats; exploring ODS statements and options; implementing scrollable tables in HTML output with static column headers; enabling/disabling borders; generating HTML hyperlinks in RTF output; adding images to RTF output; removing gridlines and shading in RTF output; creating a printable table of contents in PDF output; sending output to Microsoft Office; constructing drill-down applications with the DATA step, ODS, and SAS/GRAPH software; and techniques on creating thumbnail charts.
Prerequisites: SAS Essentials course or 6-months SAS software experience
Statistical Review
Russ Lavery
Friday, September 20, 2013, 8:00 AM - 12:00 PM, Governors Ballroom E
For those who need to talk with statisticians, and other statistically minded folks, this seminar will review several common statistical techniques. It presents the underlying concepts using cartoons and will allow non-statisticisns to understand concepts and how they relate. It will cover: the logic of hypothesis testing, ANOVA (SSE, SST, SSModel, P values) , regression, statistical power and Fishers Exact Test. An Excel tool will be given to attendees that will allow attendees to play with, and solidify understanding of, the techniques.
While this is lighthearted and cartoon based, it does provide insight. As an example, we will show the logic of the F test (though we will leave the derivation to the math stat people). An excellent refresher and only algebra is required.
Handy SAS Functions
Taylor Lewis
Friday, September 20, 2013, 1:00 PM - 5:00 PM, Senate Room B
This course highlights a number of extremely useful SAS functions that deserve a place in every SAS programmer’s repertoire. Driven by a broad range of examples, the course consists of four modules:
- Manipulating and Extracting Information from Character Variables
- Transforming and Calculating Descriptive Statistics about Numeric Variables
- Functions that Return Information about Attributes of a Data Set
- Date and Time Functions
Generating Colorful Reports in SAS
Ben Cochran
Friday, September 20, 2013, 1:00 PM - 5:00 PM, Governors Ballroom E
This course will show you how to take plain old SAS reports and splash them with lots of color. Not only will the student see how to control color, but other aspects of the report such as Font Weight, Font Size, and how to make your company logo appear in a Title or Footnote. Other 'tricks of the trade' such as linking your SAS reports to Excel data will be shown as well. This course is full of useful information that will make otherwise dull reports come alive!
This course is divided into 3 major parts:
- Intro to Reports: This section covers topics such as the vast report writing capability of SAS, a quick introduction to the Output Delivery System, and the PRINT, SORT and
FORMAT procedures.
- Graphical Reports: This section covers the GPLOT and GCHART procedures and through a series of examples, shows you how to generate a wide range of reports from fairly simple
to fairly complex. This section is concluded by a quick introduction to the
SAS/Graph Annotate facility. If time allows, a quick presentation will be made
to show the class 'How to create fantastic graphical reports in 10 seconds or
less using Enterprise Guide'.
- Summary Reports:This section covers the reports that can be generated from the FREQ, MEANS, SUMMARY, TABULATE, and REPORT procedures. With each procedure, the student is taken through a series of reports from very simple to fairly complex. This section is heavy on ODS techniques for the TABULATE and REPORT procedures.
An Introduction to Creating Prompts in SAS Enterprise Guide
Ben Cochran
Saturday, September 21, 2013, 8:00 AM - 12:00 PM, Executive Room B
Several years ago, Enterprise Guide was given the ability to create prompts. The developers at SAS have continually enhanced this process over the last several releases of Enterprise Guide (EG) and today the user can create quite a wide range of prompts to be deployed in the EG environment. This paper takes a look at some of the prompts that can be created.
Big File Techniques
Russ Lavery
Saturday, September 21, 2013, 8:00 AM - 12:00 PM, Executive Room A
This class covers the common, and some uncommon, SAS techniques that can be used on big files. Topics covered are:
- IORC lookup
- Format lookup (using a SAS data step to create a format from data instead of creating a format by typing in a PROC Format)
- Hash Tables
- SQL, the optimizer, and SQL use on large files
- How SAS uses an index and the data engine
- SQL pass through
- An introduction to fast access techniques for sorted files
Getting Started with PROC Report
Art Carpenter
Saturday, September 21, 2013, 8:00 AM - 12:00 PM, House Room B
Although PROC REPORT has been available since Version 6.07, the procedure is generallyunderutilized. One reason is that the syntax of the procedure is unique with the SAS System. Learning the basic structure in an organized way allows the programmer to easily transition fromsimple to increasingly more complex tables.This Seminar will show how PROC REPORT works and thinks through a series of increasingly more complex examples. Examples will include:
- An introduction to the basic syntax of the PROC stepIntroduction to the COLUMN, DEFINE, COMPUTE, BREAK, and RBREAK statements
- The demonstration of addition of text to headers and value descriptions
- The use of the DEFINE statement to form groups and columns
- The generation of breaks before and after groups
- The generation of breaks before and after the report
- The use of ODS with PROC REPORT, including STYLES and traffic lighting
PROC SQL Programming: Basics and Beyond
Kirk Lafler
Saturday, September 21, 2013, 8:00 AM - 12:00 PM, Executive Room C
This course teaches SAS users core concepts and features about accessing data stored in relational database tables. Attendees learn how to use PROC SQL to access data stored in relational tables; accomplish essential programming tasks including retrieving, subsetting, ordering, and grouping data; construct logic scenarios with case expressions; construct “virtual” tables known as views; explore one-to-one, one-to-many, many-to-one, 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 and Output Delivery System (ODS); interface PROC SQL with the macro facility to create single-value and multi-value (list) macro variables; understand basic index rules and strategies; and apply “select” query performance tuning techniques.
Prerequisites: SAS Essentials course or 6-months SAS software experience
Linear Regression and ANOVA
Arthur Li
Saturday, September 21, 2013, 1:00 PM - 5:00 PM, Executive Room A
Linear regression, which analyzes continuous response variables, is used extensively in many practical applications across different fields. It is the first type of regression analysis to be thoroughly learned because linear regression serves as a prerequisite to other types of regression.In addition to linear regression, this course also covers Analysis of Variance (ANOVA) and Covariance (ANCOVA) by using PROC REG and PROC GLM. Model building and selection methods, evaluating model fit, dealing with violations of model assumptions, and statistical graphics related to linear regression via ODS graphics facility in SAS 9.3 are also introduced in this seminar.
Pre-requisite: Basic knowledge of SAS.programming (such as creating SAS data sets and variables by using the DATA step) and basic knowledge of simple statistical concepts.
Imputation Methods
Taylor Lewis
Saturday, September 21, 2013, 1:00 PM - 5:00 PM, Executive Room B
Missing data present a dilemma to applied researchers. Although a common approach is to simply ignore the missing data and perform complete- or available-case analysis, an alternative is to impute, or fill in, the missing data, which can prove advantageous for a variety of reasons. This course begins by discussing some causes and patterns of missing data as well as the assumptions behind techniques to compensate for it. Following that is a blend of theory and examples demonstrating various imputation techniques, with a focus on the SAS syntax necessary to apply the methods in practice.
Skill Level: Intermediate to Advanced
Building Dynamic Programs and Applications Using the SAS Macro Language
Art Carpenter
Saturday, September 21, 2013, 1:00 PM - 5:00 PM, House Room B
This seminar shows you how to take advantage of SAS Macro Language capabilities that enable you to write dynamic programs and applications. By mastering the concepts and techniques presented in this class your programs will become free of hard-coded data dependencies, thus eliminating the need to re-write the code every time a data set name, variable name, or other data attribute, changes. Let “them” change the project's specifications as often as “they” want…your code is ready! The dynamic programming techniques that you will learn about during this seminar:
- Are flexible and are easily adaptable to changing data structures, data table names, and variable (field) attributes
- Reduce maintenance requirements by removing data dependencies from within the programs
- Provide significant resource savings during program/application development cycles
- Gives the end-user extensive control over program execution by using tables such as SAS data dictionaries, SAS data sets, and Excel tables
- Reduce program validation efforts by providing reusable and generalized code that can be applied to many different applications
- Establish controlled data environments, thus insuring data integrity throughout your organization
Intended Audience Level: Strong understanding of the macro language
Exploring SAS Hash Programming Techniques
Kirk Lafler
Saturday, September 21, 2013, 1:00 PM - 5:00 PM, Executive Room C
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.
Prerequisites: Minimum 1-year Base-SAS programming experience
Manipulating Data with SAS Functions
Ben Cochran
Sunday, September 22, 2013, 8:00 AM - 5:00 PM, Executive Room B
Oftentimes, SAS users receive data that is alleged to be cleaned, scrubbed, and ready for an application or placement into a Data Warehouse.Even though the data may be clean, many times further manipulation is needed. This training examines ways of manipulating data through the use of functions and arrays in the SAS System. This training is intended for the beginning and intermediate level SAS user. Functions and arrays are a part of the base SAS System.
Innovative Tips and Techniques: Doing More in the DATA Step
Art Carpenter
Sunday, September 22, 2013, 8:00 AM - 12:00 PM, House Room B
In order for you to write innovative DATA step solutions to complex coding problems, it is necessary for you to have more than a basic understanding of the individual statements. You need to understand how the various statements interact with each other and how their options can be leveraged to provide the kind of DATA step code that will provide innovative solutions to the toughest of problems. Based on Art’s latest book, Carpenter’s Guide to Innovative SASTechniques, published in the spring of 2012, this class is a must for the DATA step programmer that wants to take his or her programs to the ‘next’ level. Topics include:
- Data set options with impact
- New functions and old functions with new options
- Evaluating expressions
- Working with Data Component Objects - Hash Tables
- Transposing the data using arrays
- Using the DOW loop
- Using double SET statements effectively
- Look-ahead and Look-back techniques
- Using Multi-label formats to create running averages
- Table look-ups in the DATA step
- and much more
Data Access, Discovery and Analytics Using JMP Software
Charlie Shipp
Sunday, September 22, 2013, 8:00 AM - 12:00 PM, Executive Room C
The JMP® Data Access, Discovery and Analytics course covers the essentials of JMP software. It shows primary JMP features, the templates that are available, methods of viewing data, data discovery techniques, and powerful analytics. It is designed for those involved in data access, analysis and presentation. JMP discovery software is powerful and intuitive. Based on the best of statistical analysis it combines rigorous analytics with built-in choices and graphical presentation that fit your data. This course also contains specific examples you can put to use immediately. Attendees learn how to:
- Navigate the JMP interface
- Explore the many JMP features
- Drag-and-drop for data visualization
- Browse and use the Sample data sets
- Enter and manipulate your own data
- Access data from spreadsheets
- Create and save JMP scripts
- Create a JMP journal
- Discover where templates are stored
- Learn how to create and store your own templates
- Graphically look at the extent and distribution of your data (distribution analysis)
- Use statistical graphics to discover properties of your data
- Reliability and Confidence Intervals
- Identify best factor settings to optimize desired response levels
- Visualize and measure dependencies and correlations
- Use density ellipse analysis to validate competing cases
- Reporting and producing results
- Create and save your JMP programs and output results
- Learn Design of Experiments techniques.
Intended Audience: Engineers, Scientists, Data Analysts, Researchers, and anyone wanting to explore JMP features
Logistic Regression
Russ Lavery
Sunday, September 22, 2013, 8:00 AM - 12:00 PM, Executive Room A
This example-driven seminar will cover the basis and application of logistic regression. Topics covered are:
- The relationships between ways of thinking about event occurrances: probabilities, odds. Log odds and relative risk
- How to create dummy data so you can learn at home
- Problems with logistic solutions (failure to converge, complete separation and quasi-complete separation)
- The effect of the logit transform
- The effect of constants in the logistic equation ( Ln(odds)= a + Bx )
- Interpreting the SAS output for a simple logistic example
- ROC Curves (sensitivity vs specificity)
- A logistic example where the highest probability of the event is LT 100%
- Several examples of logistic analysis of 2 by 2 tables to practice reading SAS output and illustrate the meaning of the betas in the logistic regression equation
- An example on logistic regression on space shuttle data
- An example of logistic interactions - predicting death by drowning on the HMS Titanic
- Two examples of logistic regression using JMP software
Advanced Proc REPORT: Understanding the Compute Block and the Report Process
Art Carpenter
Sunday, September 22, 2013, 1:00 PM - 5:00 PM, House Room B
One of the unique features of the REPORT procedure is the Compute Block. This PROC step tool allows the use of most DATA step statements, logic, and functions. Through the use of the compute block you can modify existing columns, create new columns, write text, and more! As is so often the case, this power and flexibility comes at a price. The compute block can be complicated. There are a number of column identification and timing issues that can confound the PROC REPORT user. Of course to make matters even more interesting, there can be multiple compute blocks that can interact with each other and that can execute for different portions of the report table. What is one to do? This Seminar will discuss the essential elements of the compute block, its relationship to the Computed Summary Information, and how it interacts with temporary variables and report items. We will discuss timing issues and naming conventions through a series of example tables. The Seminar participant should have a working knowledge of the REPORT procedure andshould have at least attempted the occasional compute block.
Intended Audience Level: Familiar with basic PROC REPORT
Advanced PROC SQL Programming Concepts and Techniques
Kirk Lafler
Sunday, September 22, 2013, 1:00 PM - 5:00 PM, Executive Room A
This course teaches advanced PROC SQL concepts and techniques to exploit SQL as a programming language. Attendees learn how to use PROC SQL to construct logic scenarios with simple and searched CASE expressions; understand and explore the application of “virtual” tables known as views; create complex queries using inner and outer join constructs as well as with set operators; explore rule-based and cost-based optimization strategies; explore and influence the various join algorithms; explore the details associated with index rules and strategies; construct table validation rules using integrity constraints; and explore the various query performance tuning techniques.
Prerequisites: Introductory SQL course, SAS Essentials course or 6-months SAS software experience
Analysis of Survival Data
Arthur Li
Sunday, September 22, 2013, 1:00 PM - 5:00 PM, Executive Room C
Survival analysis is a common type of analysis that is not restricted in the health care industry but is also applied in other fields. This course will start with exploratory data analysis, such as plotting survival curves from PROC LIFETEST. Then the majority of the course will focus on analyzing survival data by using the Cox proportional hazards model (PROC PHREG). Related topics include validating model assumptions and assessing the fit of the model. New statements in PROC LIFETEST and PROC PHREG that are new to SAS 9.2 and ODS statistical graphics relating to survival analysis will also be presented. PRE-REQUISITE: Basic knowledge of SAS programming (such as creating SAS data sets and variables by using the DATA step) and basic knowledge of simple linear regression.