September 7-9, 2016      
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 Reporting and Analysis Techniques for the SAS® Power User: 
It's Not Just About The PROCs!  
Tuesday September 6
8:30am - 4:30pm

(Carpenter)

Course Description/Abstract:
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. 

This one day course presents a series of those nuggets. It covers a broad range of SAS topics that have proved to be useful to the intermediate and advanced SAS programmer that is involved with the analysis and reporting of data. The intended audience is expected to have a firm grounding in Base SAS. For most of the covered topics, the course will introduce useful techniques and options, but will not ‘teach the procedure’. 

Course Outline:
The course includes options and techniques associated with: 

  • MEANS/SUMMARY - new and advanced techniques
  • User Defined Formats - directives, nesting, preloaded, multi-label
  • REPORT Compute Blocks
  • The Macro Language
  • Output Delivery System, ODS
  • Operating System Interfaces
  • DATA Step Functions and Options

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

Innovative Tips & Techniques: Doing More in the Data Step  
Friday September 9
1:30pm - 4:30pm
(Carpenter)

Course Description/Abstract:
In order for you use SAS® 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.

Course Outline:

  • 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
  • Introduction to Hashing
    1. and much more

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

Tasha Chapman

Tasha Chapman is a senior research analyst at the Oregon Department of Consumer and Business Services, supporting Oregon OSHA and the Workers Compensation System. In 2005, she received a Master’s degree from the University of California, Riverside in personality psychology research, with an emphasis on personality assessment and psychometrics.

Tasha has been using SAS since 2003, was a founding member of the State of Oregon SAS Users Group, and was the Local User Group Liaison for WUSS from 2012-2014. She is the founder and currently the chair of the State of Oregon Research Academy. She has presented technical papers at the Pacific Northwest SAS Users Group and the Western Users of SAS Software conferences (where she was twice awarded Best Contributed Paper), as well as a number of local SAS user groups.  Tasha has a passion for introducing new users to SAS and was the SAS Essentials instructor at WUSS 2014 in San Jose.

Chapman
PROC SQL: Double the syntax, double the fun
Tuesday September 6
8:30am - 4:30pm

(Chapman)

Course Description/Abstract:
SQL is a standardized database query language that is common across many computing platforms. PROC SQL allows you to use the SQL code in SAS, instantly doubling the tools in your coding toolbox! Learning SQL not only increases your ability to program in SAS, it will also make it easier to communicate with non-SAS programmers in a language they understand.

This course is appropriate for beginners who have never used SQL as well as intermediate level users who would like to strengthen their existing skills. The course will cover the basic syntax of SQL to develop a firm understanding of how the language is used, and then move to more advanced topics. With engaging activities and exercises, there will be plenty of opportunities to practice what you’ve learned both in and out of the classroom.

Course Outline:
By the end of the course attendees will have an understanding of:

  • Basic database concepts
  • SQL select statements
  • Restricting rows and sorting data
  • Creating tables
  • Joining tables
  • Group functions
  • CASE/WHEN expression
  • Subqueries
  • Using SAS syntax within PROC SQL
  • Using SAS SQL with non-SAS databases

Intended Audience: Beginner/Intermediate Levels.
Delivery Method: Seminar
Course Material:  Class notes/PowerPoint Slides
SAS Products Discussed in the Course:  Base SAS

AnnMaria De Mars
Chapman
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.
Yes, No and Maybe: Analyzing Categorical Data
Friday September 9
1:30pm - 4:30pm
(De Mars)

Course Description/Abstract:
Sometimes people really DO fit in neat little boxes. They are alive or dead. They voted for the Democrat, the Republican or Independent in the mayoral election. This class teaches students the basics (and more) of categorical data analysis with an emphasis on logistic regression. The first hour covers analysis with PROC FREQ, with uncorrelated data, pre-and post-tests and multiple raters. The second hour will cover the nuts and bolts of binary logistic regression – how to code it and how to interpret output, including estimates for individual predictors and model fit statistics. Model comparisons to find the best choice of predictors will also be discussed. If ROC and AIC are mysteries to you, well, wonder no more. The third hour will extend the students’ burgeoning knowledge to multinomial and ordinal logistic regression, those situations when your answers aren’t “yes or no” but “never”, “sometimes” and “always” or “cancer patient”, “in remission”  or “no cancer”.

Course Outline:
PROC FREQ does more than you think

  • Simple warm-up, chi-square
  • For pre-post test and other paired data
  • Inter-rater reliability with Kappa
  • Binomial probability test

ODS Statistical Graphics
Introduction to logistic regression:

  • When to do it, when not to do it,
  • How to code a simple binary, logistic regression

Interpreting output

  •  What’s an odds ratio?
  • What’s a reference group and how do you change it?
  •  Quasi-complete separation and other problems
  • Model Fit Statistics
  • Maximum likelihood Estimates
  • ROC curve and other graphs

Ordinal logistic regression

  • Coding is a piece of cake
  • Cumulative logit
  • Interpreting proportional odds

Multinomial logistic regression

  • How to code it
  • How to interpret it

Intended Audience:  Intermediate level
Delivery Method:  Seminar
Course Material:  Class notes/PowerPoint Slides
SAS Products Discussed in the Course:  SAS/STAT

Leanne Goldstein

Leanne Goldstein has been programming in SAS for over 15 years. She has taught several Hands-On Workshops at WUSS, PharmaSUG, and SAS Global Forum. She obtained a doctorate of public health in Biostatistics from UCLA , under Rob Weiss and Catherine Sugar and has TA’ed numerous classes in her graduate work using SAS. For the past five years, Leanne has worked at City of Hope in Duarte, California for the Data Mining section of the Biostatistics Division. Along with mixed models, her interests include text mining, graphics, and working on REDCap APIs using SAS. Leanne also teaches biostatistics to first year Biology PhD students in the Irell and Manella Graduate School of Biological Sciences at City of Hope.

Goldstein
Longitudinal and Repeated Measures Data Analyses
Wednesday September 7
8:30am - 11:30am

(Goldstein)

Longitudinal and repeated Measures data are seen in nearly all fields of analysis. Examples of this data include weekly lab test results of patients or test scores by children from the same class. Statistics students and analysts alike may be overwhelmed when it comes to repeated measures or longitudinal data analyses. They may try to educate themselves by diving into text books or taking semester long or intensive weekend courses resulting in even more confusion. Some may try to ignore the repeated nature of data and take short cuts such as analyzing all data as independent observations or analyzing summary statistics such as averages or changes from first to last points and ignoring all the data in-between. This half day course will introduce longitudinal and repeated measures analyses without heavy emphasis on theory. Students in the workshop will have the opportunity to get hands-on experience graphing longitudinal and repeated measures data.  They will learn how to approach these analyses with tools like PROC MIXED and PROC GENMOD. Emphasis will be on continuous outcomes but categorical outcomes will briefly be covered given time allowance. Additionally, the course will cover the use of CONTRAST and ESTIMATE statement for digging deeper into the model to answer questions such as: “What is the predicted value of my outcome for a given combination of variables?” “What is the estimated difference between groups at a given time point?” or “What is the estimated difference between slopes for two of three groups?”  The student will walk away from this course feeling prepared with the tools to do mixed modeling, some graphing, and answer estimation questions from their models.

Course Outline:

Introduction to Repeated Measures Models
Proc Mixed versus Proc REG
Random Effects
Fixed Effects
Estimate Statements
Contrast Statements
Non-Linear Mixed Models

Intended Audience:  Beginner/Intermediate/Advanced Levels, Familiarity with Linear and Logistic Regression
Delivery Method:  Hands-On Workshop
Course Material:  Class Notes/PowerPoint Slides
SAS Products Discussed in the Course:  SAS/STAT

Kirk Paul Lafler
Lafler

Kirk Paul Lafler has been programming in SAS® since 1979 and is founder of Software Intelligence Corporation. Kirk teaches SAS programming classes at UC San Diego Extension, is a SAS Certified Professional, SAS application developer, programmer, data scientist, mentor, and provider of IT consulting services and education to SAS users around the world.  As the author of six books including Google® Search Complete! (Odyssey Press. 2014) and PROC SQL: Beyond the Basics Using SAS, Second Edition (SAS Institute. 2013); Kirk has written more than five hundred papers; been an Invited speaker at five 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.

 

Best Practice Programming Techniques Using SAS® Software
Tuesday September 6
8:30am - 4:30pm
(Lafler)

Course Description/Abstract:
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.

Course Outline:
Best practice programming defined; why is best practices important; best practice techniques including naming conventions, structured (modular) design, logic scenarios, controlled loops, subroutines, portability strategies, readable code and program documentation, and “select” system options.

Intended Audience:  Beginner/Intermediate Levels
Delivery Method:  Seminar
Course Material:  Class Notes/PowerPoint Slides
SAS Products Discussed in the Course:  Base SAS

Advanced SAS Programming Techniques
Wednesday September 7
8:30am - 11:30am

(Lafler)

Course Description/Abstract:
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 DATA step programming techniques such as reading and writing data/output from/to MS-Excel spreadsheets; input buffer and program data vector (PDV) details; creating and using user-defined formats; reshaping columns and rows of data with the TRANSPOSE procedure; coding and using one dimensional arrays, loops, and ranges; using operators and modifiers to search data; exploring the details associated with index rules and strategies; using specialized ODS techniques for improved output including ODS statistical graphics; and drill-down techniques.

Course Outline:
Advanced DATA step programming techniques; Reading MS-Excel data into SAS and sending output and results to MS-Excel; Details about the PDV; Creating user-define formats; Using PROC TRANSPOSE; Creating one-dimensional arrays, loops and ranges; SAS Index Rules and Usage; ODS SG; and Drill-down techniques.

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

Quick Results with PROC SQL
Hands-On Workshop
Friday September 9
1:30pm - 4:30pm
(Lafler)

Course Description/Abstract:
Structured Query Language (SQL) is a universal language that allows you to access data stored in relational databases or tables. This hands-on workshop presents core concepts and features on using PROC SQL to access data stored in relational database tables. Attendees learn how to define, access, and manipulate data from one or more tables using PROC SQL quickly and easily. Numerous code examples are presented on how to construct simple queries; subset data; produce simple and effective output; join two tables; summarize data with summary functions; construct BY-groups; and identify FIRST., LAST., and BETWEEN rows within BY-groups.

Course Outline:
Introduction to PROC SQL
Construct simple queries to access data, subset data, manipulate data, and produce simple and effective output
Join two tables
Summarize data using summary functions
Construct BY-groups
Identify FIRST., LAST., and BETWEEN rows within BY-groups

Intended Audience:  Beginner/Intermediate Levels
Delivery Method:  Hands-On Workshop
Course Material:  Class Notes/PowerPoint Slides
SAS Products Discussed in the Course:  Base SAS

Russell Lavery

Russ is a frequent presenter, and multiple award winner, at SAS conferences.  He has been a technical reviewer for four books by SAS.

 

Lavery
A Cartoon Guide to SAS Macros: beginner to advanced
Tuesday September 6
8:30am - 4:30pm
(Lavery)

Course Description/Abstract:
This seminar, and its animated cartoon of how SAS processes macros, makes it easy to understand the internals of SAS macro processing.  The seminar provides a “picture” – an animated picture – of Macro processing.  Having that picture in your mind helps you write and debug macros.

Course Outline:
Topics covered are:
Four essential macro skills shown using 6 examples:              
Skill 1) wrap code in a macro and call it with different parameters              
Skill 2) Automate jobs (have your program write your program)                               
          a) % do loop and the&&state&i                               
          b) automate with SQL and the %scan loop               
Skill 3) Conditionally executing code with a %if               
Skill 4) Making “macro code snippets” (macros that generate part of a SAS statement)
Components of the SAS system
Tokenization and the 4 types of tokens
The three compiles/executes that happen when running a macro program
The Macro Symbol Table and the Macro Catalog
Moving tokens into and out of the Macro Symbol Table and the Macro Catalog
Evaluating multiple ampersands (&StateNo &&StateNo  &&&StateNo&&&&StateNo)
The basic/simple effect of single vs double quotes             
Global vs local variables
Rules that are applied to tokens as they flow into the Macro Catalog
Rules that are applied to tokens as they flow out of the Macro Catalog
Call symput Basics           
Symget Basics                  
An example of Call Symput and Symget
Call execute: automating a series of reports with Call Execute and a'driver" file
The rules for the parameters in: Call Symput, Symget and Call Execute. 
Single vs double quotes in Call Execute parameters.

Intended Audience:  Beginner/Intermediate Levels
Delivery Method:  Seminar
Course Material:  Class Notes/PowerPoint Slides/Code Used in Class
SAS Products Discussed in the Course:  Base SAS

Design of Experiments – Theory and Practice
Wednesday September 7
8:30am - 11:30am

(Lavery)

Course Description/Abstract:
This seminar, with its animated cartoon format, introduces Design of Experiments (DOE) by familiarizing attendees with the common terminology and the underlying theory involved in DOE. Examples will be presented and explained using hand calculations. These will also be illustrated using JMP as time and interest permit. SAS/STAT procedures will be introduced and used to perform analysis of results.

Course Outline:
Topics covered are:
Review of Hypothesis testing
One-Way and Two-Way ANOVA and the F test
Interactions
Internal and External Validity
A/B tests
Screening Designs
Fractional designs and Confounding
An introduction to Nested Designs and Expected Mean Squares

Intended Audience:  Beginner/Intermediate Levels
Delivery Method:  Seminar
Course Material:  Class Notes/PowerPoint Slides
SAS Products Discussed in the Course:  Base SAS, SAS/STAT

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 with the Report Writing Interface
Wednesday September 7
8:30am - 11:30am

(Lund)

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 the report writing interface and then walk through a number of 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 them.

Course Outline:

  • Resources available
  • Data Step Report Writing Interface (RWI)
    • What is it?
    • RWI Methods
    • Styling and formatting text
    • Creating Tables
    • Using Layout in RWI
  • “Real World” Examples
    • Table of contents
    • “Replacement” for PROC REPORT
    • Highly styled crosstab report
    • Conditional notes, anywhere on the page
    • Filling out a complex form
    • Formatted, multi-table spreadsheet

Intended Audience:  Intermediate level
Delivery Method:  Seminar
Course Material:  Class notes
SAS Products Discussed in the Course:  Base SAS, SAS/Graph

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 7
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
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. 
Cynthia Zender
CZender
Cynthia Zender is a Technical Trainer and Curriculum Consultant for SAS Education. She teaches the Base Programming courses, the Report and Graph courses and many of the Business Intelligence courses. Cynthia is the co-author, with Lauren Haworth Lake and Michele Burlew of the book ODS: The Basics and Beyond. Cynthia lives in Chicago with her husband.
Under the Hood: How to Use the ExcelXP Tagset
Wednesday September 7
8:30am - 11:30am

(Zender)
This workshop provides an overview of the TAGSETS.EXCELXP destination. Then, concrete examples of using TAGSETS.EXCELXP will be demonstrated. Programs shown will include: using the ExcelXP suboption list; getting the ExcelXP internal help file to display in the SAS log; creating and naming multiple worksheet files; controlling when a new sheet starts; setting column width defaults; using an INI file to set defaults such as orientation or zoom level; sending Excel formats from SAS so that leading zeroes or decimal places are shown when the file opens in Excel, and by group processing will be discussed. In addition, some style templates designed specifically for the ExcelXP destination will be demonstrated.
Creating Complex Reports
Friday September 9
1:30pm - 4:30pm
(Zender)
This 3-4 hour seminar is based on the SAS Global Forum paper of the same name (http://www2.sas.com/proceedings/forum2008/173-2008.pdf ). This seminar is for intermediate SAS programmers. In the seminar, we will investigate how eight (8) complex reports were produced with SAS. All the code that produced the reports will be covered, in detail. All report output is produced using ODS (rather than LISTING) output. The reports to be covered include three versions of a standard demographic report, producing a color-banded report with PROC TABULATE, producing a report which uses special fonts (Bissantz SparkFonts) to produce a sparkline report, several graph examples and several unique report ordering examples. Procedures/Topics to be covered include: REPORT, TABULATE, FORMAT, MEANS, FREQ, Macro processing and DATA _NULL_ programming (as used to produce the reports) . Refer to the SAS Global Forum paper to see the actual reports which will be discussed in detail.