SOUTHEAST SAS USER GROUP CONFERENCE

Conference Tutorials

Conference Tutorials offer the bonus of additional educational experiences for SESUG Conference attendees. We have talented, recognized, and experienced instructors prepared to share their knowledge in these 4-hour sessions. The tutorials cover a wide variety of topics and skill levels, which appeal to everyone interested in exceptional in-depth training. Please note that tutorials are an extra fee event at SESUG.

If you have any questions regarding a tutorial, please contact our Tutorial Coordinators, Richann Watson and Lesa Caves, at e-mail tutorials@sesug.org .

SESUG has scheduled 10 virtual tutorials! Check out the list of tutorials below.

Sunday, 10/17/2021 1:00pm - 5:00pm EST
Tutorial Title Instructor
Building Reusable Tools Using the SAS® Macro Language Kirk Paul Lafler
Mapping SAS® Processing to R Brian Varney

Wednesday, 10/20/2021 8:00am - 12:00pm EST
Tutorial Title Instructor
Take Advantage of Public Use Datasets (PUFs) to Learn SAS® Analytical, Graphical and Reporting Techniques, Analytic and Data Management Tools, and Explore Specialized Techniques Louise S. Hadden
Advanced SAS® Macro Language Techniques for Building Dynamic Programs Josh M. Horstman

Wednesday, 10/20/2021 1:00pm - 5:00pm EST
Tutorial Title Instructor
Hands-On Data-Driven Design: Developing More Flexible, Reusable, Configurable SAS® Software Troy Martin Hughes

Thursday, 10/21/2021 8:00am - 12:00pm EST
Tutorial Title Instructor
Creating Reports in R Using the SASSY System David J. Bosak
Advanced DATA Step Programming Techniques Josh M. Horstman

Thursday, 10/21/2021 1:00pm - 5:00pm EST
Tutorial Title Instructor
Data Cleaning Techniques Using SAS® Kirk Paul Lafler

Friday, 10/22/2021 8:00am - 12:00pm EST
Tutorial Title Instructor
Professional Reporting: Beyond the Basics of PROC REPORT Jonathan Duggins

Friday, 10/22/2021 1:00pm - 5:00pm EST
Tutorial Title Instructor
Advanced Topics in ODS Graphics James Blum


Tutorial Details

Title: Building Reusable Tools Using the SAS® Macro Language

Scheduled Time: Sunday, October 17th, 1:00 pm - 5:00 pm EST
Instructor: Kirk Paul Lafler

Abstract: The SAS® Macro Language is a powerful feature in the Base SAS software for extending and customizing the capabilities of the SAS System. This course presents a practical approach to macro tool design and development, along with a collection of techniques for constructing reusable and effective macros tools. Attendees learn basic design principles in the development of reusable macro tools; how to build functional macros that process SAS statement code using efficient and portable code; the different methods of creating macro variables including using the macro – PROC SQL interface to create single-value and value-list macro variables; how to create user-defined macro routines that accept keyword and positional parameters; utilize and implement defensive programming techniques to make your macro routines smarter; explore how to build a library of macro utility tools; and macro debugging and troubleshooting code errors, warnings, and other special messages.

Instructor Bio: Kirk Paul Lafler is an entrepreneur, consultant, programmer and educator, and has been a SAS user since 1979. Kirk is a lecturer and adjunct professor at San Diego State University; an advisor and adjunct professor at the University of California San Diego Extension; and teaches dozens of SAS, SQL, Excel, R and Python courses, seminars, workshops, and webinars to users around the world. As the author of several books including PROC SQL: Beyond the Basics Using SAS, Third Edition (SAS Press. 2019) along with hundreds of papers and articles on a variety of SAS topics; Kirk has been selected as an Invited speaker, educator, keynote and section leader at SAS conferences and meetings worldwide; and is the recipient of 25 “Best” contributed paper, hands-on workshop (HOW), and poster awards.

 

Title: Mapping SAS® Processing to R

Scheduled Time: Sunday, October 17th, 1:00 pm - 5:00 pm EST
Instructor: Brian Varney

Abstract: The SAS and R coding languages are different enough that it is not straight-forward to convert a SAS program to an equivalent R program. This tutorial will examine differences and side by side examples in interactive development interfaces, variable and data structure differences, and data processing operations that are commonly carried out in SAS.

Instructor Bio: Brian Varney has been a SAS® consultant, trainer, and senior technical manager for over 30 years with the Experis Solutions Group. Located in Kalamazoo, Michigan, he keeps busy with providing SAS & R training, consulting support and business development (plus a few hours a week for soccer & rugby).

 

Title: Take Advantage of Public Use Datasets (PUFs) to Learn SAS® Analytical, Graphical and Reporting Techniques, Analytic and Data Management Tools, and Explore Specialized Techniques

Scheduled Time: Wednesday, October 20th, 8:00 am - 12:00 pm EST
Instructor: Louise S. Hadden

Abstract: Interest in data sources useful for demonstrating statistical, graphical and reporting techniques has increased with the exponential growth of interest and activity in the fields of Data Science, Machine Learning, and Natural Language Processing. Thus, freely available and reliable banks of data have become highly sought after. This tutorial will introduce three high quality and robust data sources for analytic work suitable for journal submissions, and explore in depth public use data sets and BASE SAS tools that can be used to analyze and graphically represent measures and trends. These data sets include USAID’s Demographic and Health Surveys which include health survey data from Afghanistan to Zimbabwe; the Centers for Medicare and Medicaid Services' Care Compare Tool (data.medicare.gov and data.cms.gov) focusing on nursing homes; and CDC’s National Health and Nutrition Examination Survey (NHANES) which will demonstrate how to work with a complex sampling design. Exploration of the NHANES survey will also include the use of National Cancer Institute (NCI) macros to analyze usual daily intake. The tutorial will prepare attendees to construct an analysis plan (AP) and standard operating procedures (SOPs) for researching, analyzing and documenting PUFs. SAS tools used will be standard statistical and reporting tools available in BASE SAS, as well as geographic tools including PROC GEOCODE.

Instructor Bio: Ms. Hadden is a Lead Programmer Analyst at Abt Associates Inc., a social science research firm. She is an expert SAS programmer, focusing on health and environmental issues. She works on numerous government contracts, including with CMS, CDC and state governments. She is co-author on multiple peer reviewed journal articles, as well as more than one hundred SAS papers, a number of which earned best contributed paper. Several journal articles were published using public use data sets. She has presented, volunteered and participated on conference teams at multiple SAS user group conferences. She is also the girl with the SAS tattoo.

 

Title: Advanced SAS® Macro Language Techniques for Building Dynamic Programs

Scheduled Time: Wednesday, October 20th, 8:00 am - 12:00 pm EST
Instructor: Josh M. Horstman

Abstract: 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. Topics will include how to build and process macro variable lists, using the macro language to control the data environment, using control files, working with datasets and libraries in the macro language, accessing the SAS data dictionaries, and other miscellaneous macro topics that will help you create dynamic code.

Instructor Bio: Josh Horstman is an independent statistical programmer based in Indianapolis with over 20 years’ experience using SAS in the life sciences industry. He specializes in analyzing clinical trial data, and his clients have included major pharmaceutical corporations, biotech companies, and research organizations. A SAS Certified Advanced Programmer, Josh loves coding and is a frequent presenter and trainer at SAS Global Forum and various regional and local SAS users group. Josh holds a bachelor's degree in mathematics and computer science, and a master's degree in statistics from Colorado State University.

 

Title: Hands-On Data-Driven Design: Developing More Flexible, Reusable, Configurable SAS® Software

Scheduled Time: Wednesday, October 20th, 1:00 pm - 5:00 pm EST
Instructor: Troy Martin Hughes

Abstract: Students will receive a complimentary copy of the author’s 2019 book SAS Data-Driven Development: From Abstract Design to Dynamic Functionality, a $40 value! The course follows the book’s outline and teaches data-driven techniques in which software customization, configuration, business rules, data models, data cleaning/validation, report style, and other dynamic elements are maintained in external data structures – NOT in the underlying code. Data-driven development techniques allow software to adapt flexibly to various organizations, environments, and objectives. This design facilitates highly configurable (i.e., “codeless”) software whose functionality can be modified by changing only the underlying control tables, configuration files, parameters, user-specified options, and other control data.

In the first half of the course, participants will learn the basics of data-driven design and how static, hard-coded software can be transformed into external data structures (control data):

  • Compare data-driven software design with functionally equivalent code-driven design, exploring the strengths and weaknesses of these contrasting methods.
  • Identify dynamic elements within software and learn the benefits of extracting these elements from code so they can be controlled remotely.
  • Create and read various file types that contain dynamic data elements, including batch files, configuration files, control files/tables, decision tables, business rule repositories, hierarchical taxonomies, and other data models.
  • Create and read various control data file formats, such as Excel spreadsheets, SAS data sets, XML files, CSS files, and custom-formatted text files.
  • Create and read various in-memory control data structures, including arrays, macro lists, macro matrices, and hash objects.
In the second half of the course, participants will use data-driven methods to solve real-world problems more efficiently and effectively, with all examples demonstrated in SAS:
  • Learn SAS-specific components that support data-driven development, including the CALL EXECUTE statement, CNTLIN statement in PROC FORMAT, SYSPARM option, SAS dictionary tables, and the CSSSTYLE option in PROC REPORT.
  • Clean, standardize, and categorize data using dynamic data formats, informats, and dynamic data models.
  • Create quality control exception reports that use dynamic data dictionaries and data models to identify erroneous data.
  • Transform data using dynamic business rules and conditional logic maintained outside of software.
  • Create control tables that validate program/process success, indicate program/process failure, and which can be used as input by subsequent programs/processes to ensure that prerequisite steps completed successfully.
Customize the style (e.g., format, font, color scheme, graphics, etc.) and content of reports, graphs, and other data products through configuration files and dynamic style sheets.

Note: With the conference less than a week away and with the nationwide mail delays, the book that is provided as training material for this class will not arrive before the start of the class. However, rest assured it will eventually arrive.

Instructor Bio: Troy Martin Hughes has been a SAS practitioner for more than 20 years, has managed SAS projects in support of federal, state, and local government initiatives, and is a SAS Certified Advanced Programmer, SAS Certified Base Programmer, SAS Certified Clinical Trials Programmer, and SAS Professional V8. He has given more than 100 presentations, trainings, and hands-on workshops at SAS conferences, including at SAS Global Forum, SAS Analytics Experience, WUSS, SCSUG, SESUG, MWSUG, PharmaSUG, BASAS, and BASUG. He has authored two groundbreaking books that model software design and development best practices: • SAS® Data-Driven Development: From Abstract Design to Dynamic Functionality, Second Edition (2021) • SAS® Data Analytic Development: Dimensions of Software Quality (2016) Troy has an MBA in information systems management as well as other credentials, including: PMP, PMI-RMP, PMI-PBA, PMI-ACP, SSCP, CISSP, CSSLP, Network+, Security+, CySA+, CASP+, CISA, CGEIT, CISM, CRISC, ITIL Foundation, CSM, CSD, A-CSD, CSPO, CSP, CSP-SM, CSP-PO, and SAFe Government Practitioner (SGF). He is a US Navy veteran with two tours of duty in Afghanistan.

 

Title: Creating Reports in R Using the SASSY System

Scheduled Time: Thursday, October 21th, 8:00 am - 12:00 pm EST
Instructor: David J. Bosak

Abstract: This tutorial will explore how to create statistical reports using R and the SASSY system. The SASSY system is a set of packages designed to make R easier for SAS® Programmers. The system includes tools to create a log, declare a libname, perform a datastep, define a format, generate a report, and more. The overall experience makes writing code in R more similar to writing code in SAS. If you are a SAS programmer who wants to be more comfortable and productive in R, then this tutorial is for you!

Instructor Bio: David is the Chief Software Architect at Archytas Clinical Solutions, and author of the SASSY system. Prior to his current position, he was a consultant to pharma and non-pharma companies for 23 years. He has extensive experience creating solutions in SAS, R, .NET, database, and Web Technology. Currently obsessed with R, he has become an active package developer, and has five R packages published on CRAN.

 

Title: Advanced DATA Step Programming Techniques

Scheduled Time: Thursday, October 21th, 8:00 am - 12:00 pm EST
Instructor: Josh M. Horstman

Abstract: To solve complex coding problems with the SAS® DATA step, one must go beyond 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 build DATA step code that provides innovative solutions to the toughest of problems. Based on Art Carpenter’s book, Carpenter’s Guide to Innovative SAS® Techniques, this class is a must for the DATA step programmer who wants to take his or her programs to the ‘next’ level. Topics include working across multiple observations using look-ahead and Look-back techniques, employing the DOW loop, taking advantage of double SET statements, working with hash objects, performing table lookups, using arrays to transpose data from columns to rows and back again, evaluating complex expressions, applying data set options, adopting new DATA step functions (and old function with new options), and more. This course is designed to be taken by a student who has a basic understanding of the DATA step and its primary statements. The material will focus on advanced topics that will give the student a deeper understanding of the operation of the DATA step. Through examples, students will be exposed to innovative techniques for solving difficult programming problems.

Instructor Bio: Josh Horstman is an independent statistical programmer based in Indianapolis with over 20 years’ experience using SAS in the life sciences industry. He specializes in analyzing clinical trial data, and his clients have included major pharmaceutical corporations, biotech companies, and research organizations. A SAS Certified Advanced Programmer, Josh loves coding and is a frequent presenter and trainer at SAS Global Forum and various regional and local SAS users group. Josh holds a bachelor's degree in mathematics and computer science, and a master's degree in statistics from Colorado State University.

 

Title: Data Cleaning Techniques Using SAS®

Scheduled Time: Thursday, October 21th, 1:00 pm - 5:00 pm EST
Instructor: Kirk Paul Lafler

Abstract: If you are spending too much time and money dealing with data quality issues, then this course is for you. SAS® users often turn to off-the-shelf, or user-built, tools to handle messy data issues. Unfortunately, and all too often, many tools in use today fall short and/or have steep learning curves to master. This course explores the problems found in data, the types of data quality issues, and the various programming techniques users can learn and use to clean their data, once and for all. Attendees learn how to check and clean character and numeric data issues, handle missing data, remove duplicate data based on the row’s values and/or keys, read and write date/time variables, and apply data integrity rules to prevent messy data from creeping into a data set or table. Using PROC FREQ, PROC MEANS, PROC PRINT, PROC SORT, PROC SQL, PROC SUMMARY, DATA step programming techniques including BY-group and FIRST. and LAST. processing, and numerous SAS functions to clean data issues and anomalies.

Instructor Bio: Kirk Paul Lafler is an entrepreneur, consultant, programmer and educator, and has been a SAS user since 1979. Kirk is a lecturer and adjunct professor at San Diego State University; an advisor and adjunct professor at the University of California San Diego Extension; and teaches dozens of SAS, SQL, Excel, R and Python courses, seminars, workshops, and webinars to users around the world. As the author of several books including PROC SQL: Beyond the Basics Using SAS, Third Edition (SAS Press. 2019) along with hundreds of papers and articles on a variety of SAS topics; Kirk has been selected as an Invited speaker, educator, keynote and section leader at SAS conferences and meetings worldwide; and is the recipient of 25 “Best” contributed paper, hands-on workshop (HOW), and poster awards.

 

Title: Professional Reporting: Beyond the Basics of PROC REPORT

Scheduled Time: Friday, October 22nd, 8:00 am - 12:00 pm EST
Instructor: Jonathan Duggins

Abstract: This tutorial covers various uses of PROC REPORT for producing professional reports -- an essential skill for SAS programmers regardless of industry. The tutorial begins with an overview of PROC REPORT, DEFINE usages, and an introduction to COMPUTE blocks. Techniques to customize appearance such as fonts and colors as well as techniques to affect the structure of the report, such as nesting, aliasing, including summary rows, and deriving new columns are covered next. Finally, advanced customizations such as drilldown reports and integrating images into a report are covered to round out this thorough introduction to generating high-quality reports. No experience with PROC REPORT is expected at the outset of this tutorial; however, by the end of the tutorial, participants will have the skills necessary to create a variety of professional reports.

Instructor Bio: Jonathan Duggins is an Associate Teaching Professor in the Department of Statistics at North Carolina State University. He has worked in industry as a biostatistician where he regularly handled and analyzed data with SAS and has taught at multiple universities. Jonathan has always been dedicated to education and that is his main role at NCSU where he teaches both face-to-face and distance education courses at undergraduate and graduate levels. The majority of his courses focus on statistical programming in SAS. More information and public course materials are available at jonathanduggins.com.

 

Title: Advanced Topics in ODS Graphics

Scheduled Time: Friday, October 22nd, 1:00 pm - 5:00 pm EST
Instructor: James Blum

Abstract: This tutorial covers advanced graph, chart, and map construction with PROCs SGPLOT, SGPANEL, SGMAP, and SGRENDER. The tutorial begins with an overview of PROC SGPLOT plotting statements and options, along with styling statements and options. Advanced SGPLOT topics begin with annotations, and alternatives to standard SAS/GRAPH annotations using SGPLOT statements and options. Next, the lesson adds in attribute maps and their uses. These are used as part of the next topic, the POLYGON statement in PROC SGPLOT, which is compared and contrasted with the SGMAP Procedure. PROC SGPLOT concepts are then extended to the SGPANEL Procedure, for which various layout and styling options are covered. For graphs, charts, and maps from all of these procedures, methods for embedding tool-tips and hyperlinks to create interactive/drill-down results are also covered. Finally, some time is given to creating custom graphs with PROC SGRENDER (and PROC TEMPLATE). Foundational experience with PROC SGPLOT is expected at the outset of this tutorial; and, by the end of the tutorial, you will have the skills necessary to extract much of the power of the ODS graphics procedures.

Instructor Bio: Jim Blum is a co-author of Fundamentals of Programming in SAS: A Case Studies Approach, published in 2019. Since August of 2000, he has been a Professor of Statistics at the University of North Carolina Wilmington where he has developed and taught original courses in SAS programming for the university. These courses cover topics in Base SAS, SAS/SQL, SAS/STAT, and SAS Macros. He also regularly teaches courses in regression, experimental design, categorical data analysis, and mathematical statistics; and he is a primary instructor in the Master of Data Science program at UNC Wilmington which debuted in the fall of 2017. He has experience as a consultant on data analysis projects in clinical trials, finance, public policy and government, and marine science and ecology. He earned his MS in Applied Mathematics and PhD in Statistics from Oklahoma State University.

 



If you have any questions regarding a tutorial, please contact our Tutorial Coordinators, Richann Watson and Lesa Caves, at e-mail tutorials@sesug.org .