Proceedings

Get Updates

Join our e-mail list:

MWSUG 2014 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 Thursday, 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,535
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.

The three day bundle price may be used for any combination of training courses equivalent to three full days (six half days). The three days need not be contiguous.

Courses Offered

Thursday, October 2, 2014

Course Title (click for description) Instructor Time
Advanced Reporting and Analysis Techniques: It's Not Just About The PROCs! Art Carpenter 8:00 AM - 5:00 PM
Mastering PROC SQL Christianna Williams 8:00 AM - 5:00 PM
An In-Depth Hot Topic for SAS® Professionals: Merge vs Join Programming Techniques Kirk Lafler 8:00 AM - 12:00 PM
Data Cleaning Ron Cody 8:00 AM - 12:00 PM
Introduction to ODS Statistical Graphics Using SAS® Software Kirk Lafler CANCELLED
Statistics for Non-statisticians Ron Cody 1:00 PM - 5:00 PM

Friday, October 3, 2014

Course Title (click for description) Instructor Time
Generating Colorful Reports with the SAS System Ben Cochran 8:00 AM - 5:00 PM
Best Practice Programming Techniques Using SAS® Software Kirk Lafler 8:00 AM - 12:00 PM
Getting Started with PROC TABULATE Art Carpenter 8:00 AM - 12:00 PM
Introduction to Proc Report Steve First 8:00 AM - 12:00 PM
Advanced SAS® Programming Techniques Kirk Lafler 1:00 PM - 5:00 PM
Powerful, Yet Less Commonly Used: Procedures and Techniques That You Should Know Art Carpenter 1:00 PM - 5:00 PM
Linear Regression and ANOVA Arthur Li 1:00 PM - 5:00 PM

Saturday, October 4, 2014

Course Title (click for description) Instructor Time
SAS Enterprise Guide Steve First 8:00 AM - 5:00 PM
Manipulating Data with SAS Functions Ben Cochran 8:00 AM - 5:00 PM
Getting Started with SAS Macro Language Basics Art Carpenter 8:00 AM - 12:00 PM
A Row Is a Row Is a Row, Or Is It? Get Comfortable with Transposing your Data Christianna Williams 8:00 AM - 12:00 PM
Building Dynamic Programs and Applications Using the SAS® Macro Language Art Carpenter 1:00 PM - 5:00 PM
Analysis of a Binary Outcome Variable Using Logistic Regression Arthur Li 1:00 PM - 5:00 PM

Sunday, October 5, 2014

Course Title (click for description) Instructor Time
Manipulating Data with SAS Arrays and DO Loops Ben Cochran 8:00 AM - 5:00 PM
Output Delivery System: The Basics and Beyond Kirk Lafler 8:00 AM - 12:00 PM
Macro Design Ideas: Theory, Template, Practice Ron Fehd 8:00 AM - 12:00 PM
SAS Efficiencies Steve First 8:00 AM - 12:00 PM
Exploring SAS® Hash Programming Techniques Kirk Lafler 1:00 PM - 5:00 PM
List Processing Program Design, Rules and Tools Ron Fehd 1:00 PM - 5:00 PM
Analysis of Survival Data Arthur Li 1:00 PM - 5:00 PM




Course Descriptions

Advanced Reporting and Analysis Techniques: It's Not Just About The PROCs!
Art Carpenter
Thursday, October 2, 2014, 8:00 AM - 5:00 PM, Location: Addams


There are literally hundreds of techniques used on a daily basis by the users of SAS® software as they perform analyses and generate reports. Although often obscure, most of these techniques are relatively easy to learn and generally do not require specialized training before they can be implemented. Unfortunately a majority of these techniques are used by only a very small minority of the analysts and programmers. They are not used more frequently, because a majority of SAS users have simply not been exposed to them. Left to ourselves it is often very difficult to discover the intricacies of these techniques and then to sift through them for the nuggets that have immediate value.


Mastering PROC SQL
Christianna Williams
Thursday, October 2, 2014, 8:00 AM - 5:00 PM, Location: Ogden


From the most basic query to extract selected rows and columns to the intricacies of set operators, multi-table joins and nested queries, this workshop will help you master the SAS® implementation of Structured Query Language from the ground up. This seminar is a sort of PROC SQL boot camp and will present a series of increasingly complex examples to illustrate the function of each of PROC SQLs clauses, with particular focus on summarization, aggregation and a variety of joins. We will also cover how SAS has adapted SQL to give you access to some useful DATA step functionality within PROC SQL. The goal of the course is not only to help you learn the syntax of this powerful but sometimes intimidating Base SAS procedure, but also to illustrate how SQL thinks about rows and columns, some of which can cause unexpected results for the unwary user. Afterwards, you should be able to write queries to achieve a variety of complex data manipulation tasks, some of which would be nearly impossible without your newfound mastery of PROC SQL.


An In-Depth Hot Topic for SAS® Professionals: Merge vs Join Programming Techniques
Kirk Lafler
Thursday, October 2, 2014, 8:00 AM - 12:00 PM, Location: Horner


As a new generation of SAS® user emerges, current and prior generations of users have an extensive assortment of procedures, programming tools, approaches and techniques to choose from for conducting merges and joins. This class introduces and teaches one of the hottest areas in the world of the professional SAS user: Merges and Joins. Attendees learn essential concepts and coding techniques, as well as whats important when performing merge and join data transformations and data manipulations. Topics include a brief introduction of what it means to merge and join a dataset or table, point-and-click programming techniques using Enterprise Guide, PROC SQL coding techniques, and Hash object DATA step programming techniques.


Data Cleaning
Ron Cody
Thursday, October 2, 2014, 8:00 AM - 12:00 PM, Location: Wright


This half-day workshop discusses ways to look for data errors using both DATA step programming and Base SAS procedures. We start with programs and procedures to detect errors in character data. Functions such as NOTDIGIT and NOTALPHA are especially useful in this regard. For numeric data, we investigate methods for detecting data points outside of fixed ranges and continue on to develop programs for automatic outlier detection.

This workshop does much more than just showing you techniques for detecting and fixing data errorsits also aims to make you a better SAS programmer. Whether you are new to SAS programming or are a veteran programmer, you will take valuable programming tips and tricks away with you.

Although this course does not require you to know the SAS macro language, you will be taught how to run macros that perform a variety of data cleaning functions. For example, one macro, called AUTO_OUTLIERS, checks for possible data errors in numeric data, using a concept called trimmed statistics.

The workshop ends with a demonstration of integrity constraints and audit trails. They allow you to define rules or constraints on one or more data values. For example, you may require that values for Gender must be Ms or Fs. As another example, you may define valid ranges for each of your numeric variables. All of these constraints are stored in the data descriptor portion of your SAS data set. Once these constraints are in place, they can prevent new data that violates one or more constraints, from being added to your data set.

Most of the material for this workshop is based on the two-day course, Data Cleaning Techniques, offered by SAS Institute.


Statistics for Non-statisticians
Ron Cody
Thursday, October 2, 2014, 1:00 PM - 5:00 PM, Location: Wright


This half-day course is designed for non-statisticians who would like to develop a familiarity with commonly used statistical techniques. Besides covering basic statistical concepts, the SAS procedures needed to perform these statistical techniques will be covered, as well as a discussion of the assumptions that need to be met before these techniques can be used. Examples of statistical tests, as well as annotated SAS output will help bring these concepts down to Earth.


Generating Colorful Reports with the SAS System
Ben Cochran
Friday, October 3, 2014, 8:00 AM - 5:00 PM, Location: Wright


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:
  1. 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.
  2. 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'.
  3. 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.

Another feature of this course is that there are multiple workshops placed throughout it. All of these exercises use data that ship with the SAS System (SASHELP library). So, students can do these workshops whenever they please at their own pace. At the end of each workshop is an Exercise Solutions section.


Best Practice Programming Techniques Using SAS® Software
Kirk Lafler
Friday, October 3, 2014, 8:00 AM - 12:00 PM, Location: Horner


This course provides SAS users with a comprehensive overview of programming conventions, guidelines and techniques when using the Base-SAS software. Core concepts and examples are illustrated to ensure that code is readable, clearly written, understandable, structured, portable, and maintainable. Attendees learn how to apply good programming techniques including implementing naming conventions for datasets, variables, programs and libraries; code appearance and structure using modular design, logic scenarios, controlled loops, subroutines and embedded control flow; code compatibility and portability across applications and operating platforms; developing readable code and program documentation; applying statements, options and definitions to achieve the greatest advantage in the program environment; and implementing program generality into code to enable its continued operation with little or no modifications.


Getting Started with PROC TABULATE
Art Carpenter
Friday, October 3, 2014, 8:00 AM - 12:00 PM, Location: Addams


The non-standard syntax of PROC TABULATE can make the procedure difficult to learn. Difficult that is if the programmer does not know the organizational aspects of the driving statements. Understanding the organization of the TABLE statement helps the programmer move from simple to complex tables. This Seminar will show how PROC TABULATE works and thinks through a series of increasingly more complex examples. Examples will include:
  • An introduction to Singular, Nested, and Concatenated tables
  • The creation of groups and summaries including percentages
  • The application of formats and text to augment the appearance of the tables
  • Explanation of cell, row, and column attributes and how to make them work for you
  • Using ODS including STYLES and traffic lighting



Introduction to Proc Report
Steve First
Friday, October 3, 2014, 8:00 AM - 12:00 PM, Location: Ogden


SAS software can be used to solve a broad range of data processing problems including generating reports. The Introduction to PROC Report class is designed to give students the background they need to create reports using this powerful report writing tool. This course will deal specifically with PROC Report in a batch environment, not as an interactive programming tool.


Advanced SAS® Programming Techniques
Kirk Lafler
Friday, October 3, 2014, 1:00 PM - 5:00 PM, Location: Horner


SAS users who have acquired basic skills presented in a SAS Software Basics course and want to expand their programming knowledge in the DATA and PROC steps will want to attend this Advanced SAS Programming Techniques course. Attendees learn complex programming topics and techniques in the areas of data access, data manipulation, data management, data presentation, and more. Topics include intensive DATA step programming techniques such as reading and writing data/output from/to MS-Excel spreadsheets; creating and using user-defined formats and functions; using specialized ODS techniques for improved output including ODS statistical graphics; reshaping columns and rows of data with the TRANSPOSE procedure along with equivalent DATA step approaches; coding and using one-dimensional and multi-dimensional arrays, loops, and ranges; exploring the details associated with index rules and strategies; performing dataset transformations using PROC SQL join constructs and DATA step hash objects; using operators and modifiers to search data; and drill-down techniques.


Powerful, Yet Less Commonly Used: Procedures and Techniques That You Should Know
Art Carpenter
Friday, October 3, 2014, 1:00 PM - 5:00 PM, Location: Addams


The SAS® System includes a vast array of tools that provide the programmer with a vast amount of power to do all sorts of things. Just in the Base system alone there are over 50 procedures and more are being added with each new release of the software. Some of these procedures and techniques you will probably never use, and some although very useful are very underutilized. A few of these underutilized procedures are new, some of the techniques are perceived to be difficult to learn. All offer huge benefits to the programmers that can make use of them.


Linear Regression and ANOVA
Arthur Li
Friday, October 3, 2014, 1:00 PM - 5:00 PM, Location: Ogden


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.


SAS Enterprise Guide
Steve First
Saturday, October 4, 2014, 8:00 AM - 5:00 PM, Location: Ogden


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 EG 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.


Manipulating Data with SAS Functions
Ben Cochran
Saturday, October 4, 2014, 8:00 AM - 5:00 PM, Location: Wright


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.


Getting Started with SAS Macro Language Basics
Art Carpenter
Saturday, October 4, 2014, 8:00 AM - 12:00 PM, Location: Addams


This half-day seminar 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 to values 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 examples shown in the course materials demonstrate the power and flexibility of this part of the SAS System and will enable you to apply its functionalities to your own programs right away.


A Row Is a Row Is a Row, Or Is It? Get Comfortable with Transposing your Data
Christianna Williams
Saturday, October 4, 2014, 8:00 AM - 12:00 PM, Location: Horner


Sometimes life would be easier for the busy SAS programmer if information stored across multiple rows were all accessible in one observation, using additional columns to hold that data. Sometimes it makes more sense to turn a short, wide data set into a long, skinny one  converting columns into rows. Base SAS® provides two primary methods for converting rows into columns or vice versa  PROC TRANSPOSE and the DATA step. How do these methods work? Which is best suited to different transposition problems, such as situations requiring multi-row arithmetic or transposing multiple variables? And, why would you ever want to TRANSPOSE your data twice?! The purpose of this example-packed tutorial is to demonstrate various types of transpositions using the DATA step and to unpack the TRANSPOSE procedure. Afterwards, you should be the office go-to gal/guy for reshaping data.


Building Dynamic Programs and Applications Using the SAS® Macro Language
Art Carpenter
Saturday, October 4, 2014, 1:00 PM - 5:00 PM, Location: Addams


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



Analysis of a Binary Outcome Variable Using Logistic Regression
Arthur Li
Saturday, October 4, 2014, 1:00 PM - 5:00 PM, Location: Horner


The data with dichotomous outcomes is widely encountered across different scientific fields and industries. This type of data can be analyzed by building a logistic regression model, which allows you to estimate the probability of success in a certain outcome.

The starting point of building a logistic regression model is to perform exploratory data analysis (creating logit plots and conducting frequency data analysis) to identify relevant variables to be included in the model. Confounders and effect modifiers also need to be identified during the model-building process. Once the model is built, it is critical to exam how well the model fits the data, such as performing the goodness-of-fit test and how to interpret model coefficients and results.

In this seminar, students will learn how to build a logistic regression model by using the LOGISTIC procedure. Some statements in PROC LOGISTIC that are new to SAS 9.2 and ODS statistical graphics relating to logistic regression will also be introduced in this course.


Manipulating Data with SAS Arrays and DO Loops
Ben Cochran
Sunday, October 5, 2014, 8:00 AM - 5:00 PM, Location: Wright


The DATA step has been described as the best data manipulator in the business. One of the constructs that gives the DATA step so much power is the SAS array. This presentation takes the user on a tour of SAS array applications starting from a very elementary level to more advanced examples.


Output Delivery System: The Basics and Beyond
Kirk Lafler
Sunday, October 5, 2014, 8:00 AM - 12:00 PM, Location: Addams


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; producing ODS statistical graphics; 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.


Macro Design Ideas: Theory, Template, Practice
Ron Fehd
Sunday, October 5, 2014, 8:00 AM - 12:00 PM, Location: Horner


This seminar is a survey course for those who are polishing macros in prepa- ration for peer review, publication, or testing. This course has two halves: theory and practice.

In the theory section we will review the topics of logic, quality, testing and a common vocabulary expressed as a style guide, a necessary document for your peer reviews.

In the practicum, we will review documentation ideas, issues and standards, and proceed through a checklist of the common parts of good macros. We will compare and contrast the author's works with macros from other on-line sources. Attendees are encouraged to bring their own macros for commentary and polishing.


SAS Efficiencies
Steve First
Sunday, October 5, 2014, 8:00 AM - 12:00 PM, Location: Ogden


This course will cover how SAS processes large data files and will show several techniques for improving a SAS program. Emphasis will be on the DATA step, with a brief look at improving the use of several SAS PROCS.


Exploring SAS® Hash Programming Techniques
Kirk Lafler
Sunday, October 5, 2014, 1:00 PM - 5:00 PM, Location: Addams


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.


List Processing Program Design, Rules and Tools
Ron Fehd
Sunday, October 5, 2014, 1:00 PM - 5:00 PM, Location: Horner


This seminar is for those who want to automate repetitive tasks, such as processing a list of dates, data sets, les, folders, or variables.

This course covers theory of lists, how to implement lists in SAS software, and reviews a set of rules developed during the author's 25 years of programming which make the development of lists and reporting subroutines fast and easy.

The handout includes both the slides, utility programs for making lists, pro- grams to process lists, and examples from the author's library of list-processing applications.


Analysis of Survival Data
Arthur Li
Sunday, October 5, 2014, 1:00 PM - 5:00 PM, Location: Ogden


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.


istanbul evden eve nakliyat istanbul eşya depolama uluslararası lojistik uluslararası ev taşıma istanbul evden eve nakliye istanbul ev taşıma istanbul nakliyat şirketi evden eve nakliyat istanbul ev eşyası depolama istanbul depo kiralama gebze nakliyat