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.

SESUG 2022 is bring your own device for any tutorials and/or hands on workshops for which you want to follow along.

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 9 tutorials! Check out the list of tutorials below.

Saturday, 10/22/2022 1:00pm - 5:00pm
Tutorial Title Instructor
PROC Report - Step by Step Jane Eslinger

Sunday, 10/23/2022 8:00am - 12:00pm
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 Hadden
Dashboards Fundamentals by Example for SAS® Users Kirk Paul Lafler
Getting Started with SAS® Macro Language Basics Josh Horstman
CANCELED Hands-On Functions: How to Build Your Own User-Defined FCMP Functions and Macro Functions Troy Martin Hughes

Sunday, 10/23/2022 1:00pm - 5:00pm
Tutorial Title Instructor
Python Programming Techniques by Example for SAS® Users Kirk Paul Lafler
Fifty-Five Functions to Supercharge Your SAS® Code Josh Horstman
Hands-On Data-Driven Design: Developing More Flexible, Reusable, Configurable SAS® Software Troy Martin Hughes
CANCELED Moving Forward with ODS Graphics Procedures, Intermediate-Level Skills Jim Blum



Tutorial Details

Title: Proc Report Step by Step

Scheduled Time: Saturday, October 22nd, 1:00 pm - 5:00 pm
Instructor: Jane Eslinger

Abstract: In this hands-on training session, you will learn to create PROC REPORT code for multiple report types. Each concept and report type will be explained, then you will spend time writing code to create your own report. SESUG will not be providing laptops. Please bring your own device so you can get the most out of this training opportunity.

Instructor Bio: Jane Eslinger is a Senior Technical Training Consultant at SAS Headquarters in Cary, North Carolina.

 

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: Sunday, October 23rd, 8:00 am - 12:00 pm
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: Dashboards Fundamentals by Example for SAS® Users

Scheduled Time: Sunday, October 23rd, 8:00 am - 12:00 pm
Instructor: Kirk Paul Lafler

Abstract: Organizations around the world develop static and interactive reports, spreadsheets and dashboards for the purpose of displaying the current status of “point-in-time” data, charts, tables, reports, statistics, scorecards, metrics and key performance indicators. Effectively designed dashboards, along with the code behind them, involves the extraction of data from a variety of sources, the performance of a series of data cleaning steps, restructuring and reformatting data, and the production of charts, tables and reports with the purpose of highlighting important information, numbers, tables, statistics, metrics, performance information and other essential content on a single screen. Attendees learn best practice programming techniques to build static and interactive drill-down dashboards (containing hyperlinks) using the Base-SAS® software's DATA step; PROC FORMAT; PROC PRINT; PROC REPORT; PROC FREQ; PROC MEANS; PROC SQL; Output Delivery System (ODS); the macro language; Statistical Graphic procedures: PROC SGPLOT, PROC SGSCATTER, PROC SGPANEL, and PROC SGRENDER; and Graphics Template Language (GTL).

Instructor Bio: Kirk Paul Lafler is a SAS, SQL and Python programmer, consultant and adjunct professor at San Diego State University and the University of California San Diego Extension. As a SAS user since 1979, Kirk is an author of several books including, PROC SQL: Beyond the Basics Using SAS, Third Edition; an Invited speaker, educator, keynote and section leader at SAS conferences; and the recipient of 25 “Best” contributed paper, hands-on workshop (HOW), and poster awards.

 

Title: Getting Started with SAS® Macro Language Basics

Scheduled Time: Sunday, October 23rd, 8:00 am - 12:00 pm
Instructor: Josh Horstman

Abstract: 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 course you will understand how the Macro Language works, what the Macro Symbol Table is and how to store values 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.

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: CANCELED Hands-On Functions: How to Build Your Own
User-Defined FCMP Functions and Macro Functions


Scheduled Time: Sunday, October 23rd, 8:00 am - 12:00 pm
Instructor: Troy Martin Hughes

Abstract: Attend and receive a FREE copy of the author’s 600-page book, SAS® Data-Driven Development: From Abstract Design to Dynamic Functionality, Second Edition, released in 2022! “User-defined” functions represent those functions that are created by SAS users, as contrasted with "built-in" functions, which are part of the out-of-the-box Base SAS module and the SAS language. SAS provides two methods to build user-defined functions, including the SAS macro language and the SAS Function Compiler (aka PROC FCMP). This introductory course demonstrates how to build user-defined functions (and subroutines)—including both macro functions and FCMP functions. No prior experience with the SAS macro language or PROC FCMP syntax is required. User-defined functions improve software reusability—that is, the ability of code modules to be reused in future software projects, and to be reused by multiple SAS practitioners within a team or organization. This code reuse enables a function to be developed once but used repeatedly, which reduces the workload of the SAS practitioners who are writing programs, by enabling us to rely on previously built (and fully tested) code modules. Thus, user-defined functions lead to not only more flexible and configurable software but also a more productive, efficient SAS team. This HANDS-ON workshop enables students to run all programs in real-time using SAS Display Manager, SAS Enterprise Guide, or SAS OnDemand for Academics. SESUG will not be providing laptops. Please bring your own device. Macro function topics include:

  • Gentle introduction to the SAS macro language, including differentiation between SAS macros and SAS macro functions
  • Differentiation between positional and keyword parameters
  • Defining optional parameters and default parameter values
  • Passing macro lists and two-dimensional data structures to functions
  • Use of the PARMBUFF option in the %MACRO statement to facilitate multi-element arguments
  • Macro function argument validation, exception handling, and use of global macro variables as return values / return codes
FCMP function topics include:
  • Gentle introduction to PROC FCMP syntax and the construction of user-defined functions and subroutines (with the FUNCTION and SUBROUTINE statements, respectively)
  • Use of the VARARGS option in the FUNCTION statement to enable multi-element arguments to be passed to functions, and OUTARGS option to modify multiple arguments (within a subroutine)
  • Passing character and/or numeric data types to functions
  • Passing arrays to functions, and utilizing arrays within functions
  • Declaring, initializing, and referencing hash objects within functions
  • Calling functions and subroutines from the DATA step, and from %SYSFUNC and %SYSCALL, respectively
  • Calling functions from PROC FORMAT

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 (2022)
  • 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+, Cloud+, CISA, CGEIT, CISM, CRISC, ITIL Foundation, CSM, CSP-SM, CSD, A-CSD, CSP-D, CSPO, CSP-PO, CSP, and SAFe Government Practitioner (SGF). He is a US Navy veteran with two tours of duty in Afghanistan.

 

Title: Python Programming Techniques by Example for SAS® Users

Scheduled Time: Sunday, October 23rd, 1:00 pm - 5:00 pm
Instructor: Kirk Paul Lafler

Abstract: As a general purpose programming language used by millions of users and developers around the world, Python offers clear syntax, scalability, versatility, and a vast collection of libraries that add a tremendous amount of features. Python's use cases include analytics, data science, web development, game development, web scraping, text processing, image recognition, artificial intelligence, machine learning, and Internet of Things. What seems to be propelling Python's dominance is that its relatively easy to learn, consists of a large community of users, and is freely available as open source. Attendees learn valuable programming techniques through the application of real-world examples. Topics include data access, data cleaning, chaining of comparison operators, functions as powerful building blocks, positional and keyword arguments, object oriented programming with classes, built-in data structures using lists and iterables, identify the most frequent value in a list, reverse lists, collect unordered key-value pairs as a dictionary, collect unordered distinct hashable objects as a set, collect immutable values as a tuple, sort data, append / concatenate data, and merge / join data.

Instructor Bio: Kirk Paul Lafler is a SAS, SQL and Python programmer, consultant and adjunct professor at San Diego State University and the University of California San Diego Extension. As a SAS user since 1979, Kirk is an author of several books including, PROC SQL: Beyond the Basics Using SAS, Third Edition; an Invited speaker, educator, keynote and section leader at SAS conferences; and the recipient of 25 “Best” contributed paper, hands-on workshop (HOW), and poster awards.

 

Title: Fifty-Five Functions to Supercharge Your SAS® Code

Scheduled Time: Sunday, October 23rd, 1:00 pm - 5:00 pm
Instructor: Josh Horstman

Abstract: The SAS System includes an extensive collection of nearly five hundred DATA step functions that can provide great utility and convenience for the programmer. Many of these are relatively new and unknown. In this half-day course, we’ll look at some SAS functions that should be in every programmer’s toolbox. Each function will be presented with concrete examples so you’ll be able to take what you’ve learned and put it to use right away. We will cover functions from a broad range of categories such as string manipulation functions, functions for controlling program logic, functions for handling dates and times, mathematical functions, and much more. This course is suitable for beginning SAS programmers, but even seasoned veterans will probably find something new!

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: Sunday, October 23rd, 1:00 pm - 5:00 pm
Instructor: Troy Martin Hughes

Abstract: Attend and receive a FREE copy of the author’s 600-page book, SAS® Data-Driven Development: From Abstract Design to Dynamic Functionality, Second Edition, released in 2022. Sample code will also be provided electronically so students can run all programs in real-time using SAS Display Manager, SAS Enterprise Guide, or SAS OnDemand for Academics.

This HANDS-ON workshop installs the student as the new SAS consultant within Scranton, Pennsylvania’s most infamous paper supply company — charged with improving software functionality and performance through data-driven software design. Navigate office intrigue and antics to gather software requirements, analyze hardcoded legacy SAS programs, and refactor (improve) software through data-driven design principles and methods. Help Jim, Dwight, Phyllis, and Stanley sell more paper through higher quality data-driven software! SESUG will not be providing laptops. Please bring your own device.

Data-driven design describes software in which configuration items, business rules, data validation rules, data models, data dictionaries, report style, and other dynamic elements are maintained in external data structures — NOT in underlying code. Benefits include increased software flexibility, reusability, maintainability, modularity, readability, interoperability, extensibility, and configurability. In other words, data-driven design improves your software quality.

Topics include:

  • Compare undesirable hardcoded design with preferred data-driven design, and demonstrate the methods to help SAS practitioners refactor from the former to the latter
  • Build reusable procedures, functions, and call routines (subroutines) using SAS macros and PROC FCMP (the SAS function compiler)
  • Demonstrate built-in and user-defined data structures (including parameters, macro lists, arrays, hash objects, control tables, configuration files, data sets, Excel spreadsheets, CSV files, and CSS files)
  • Use SAS components that support data-driven development (including CALL EXECUTE, CNTLIN option in PROC FORMAT, SYSPARM option, SAS dictionary tables, and CSSSTYLE option in PROC REPORT)
  • Ingest positional flat files, CSV files, SAS data sets, and other transactional files, and dynamically identify altered or invalid file format/structure through prescriptive data dictionaries
  • Create color-coded, “traffic light” quality control reports that automatically identify bad data while standardizing good data
  • Configure the style (e.g., format, font, color scheme, graphics) of data products using user-defined SAS formats and CSS files
  • Learn how user-defined configuration files can facilitate software flexibility, by enabling different users to achieve dynamic functionality based on user-specified preferences that can be saved, modified, and shared with other users
  • Understand how master data management (MDM) can support data structures that are leveraged by SAS, Python, and other languages/applications simultaneously

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 (2022)
  • 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+, Cloud+, CISA, CGEIT, CISM, CRISC, ITIL Foundation, CSM, CSP-SM, CSD, A-CSD, CSP-D, CSPO, CSP-PO, CSP, and SAFe Government Practitioner (SGF). He is a US Navy veteran with two tours of duty in Afghanistan.

 

Title: CANCELED Moving Forward with ODS Graphics Procedures, Intermediate-Level Skills

Scheduled Time: Sunday, October 23rd, 1:00 pm - 5:00 pm
Instructor: Jim Blum

Abstract: This tutorial covers intermediate level features for use in various graphs and charts constructed with PROC SGPLOT and SGPANEL. It begins with a review of common SGPLOT/SGPANEL plotting statements and options, along with graph styling statements and options. Overlays of graphs are covered, as are graphs that include grouping variables, with comparison and contrasting of these two methods, particularly with respect to ease of coding and how styles are applied. Special graphical elements including: axis tables, insets, reference lines, drop lines, data labels, and text plots are also covered. A breif review annotations is given, primarily to show alternatives to standard SAS/GRAPH annotations using these special graphical elements. Finally, the lesson concludes with attribute maps and their uses. Basic familiarity with PROC SGPLOT is expected at the outset of this tutorial; and, at the end of the tutorial, you will have the skills necessary to produce a variety of professional quality graphics in a range of styles.

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.