SESUG Proceedings 2018

These Proceedings are the official record of the 26th Annual SouthEast SAS Users Group (SESUG) Conference held in St. Pete Beach, FL on October 14-17, 2018. Neither SAS Institute Inc. nor SESUG is responsible for the accuracy or originality of this material.

The correct bibliographic citation for this publication is as follows:

SESUG 2018: The Proceedings of the SouthEast SAS Users Group, St. Pete, FL, 2018

SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. ® indicates USA registration. Other brand and product names are trademarks of their respective companies.

Copyright © 2018 by the SouthEast SAS Users Group.

Published in the USA

Papers are made available by the Institute for Advanced Analytics as a courtesy to the SESUG community. The Institute is not responsible for the accuracy or originality of this material.

Application/Macro Development
Kirk Paul Lafler, Saving and Restoring Startup (Initialized) SAS® System Options
Stephen Sloan and Kevin Gillette, Assigning agents to districts under multiple constraints using PROC CLP
Ben Cochran, Using SAS Macro Functions to Manipulate Data
Ben Cochran, Create a SAS Program that Can Read the Contents of a Directory
Shreyas Dalvi, Using PROC FORMAT to Automate Data correction process
Zemin Zeng and Yunzhi Ling, A User Defined SDTM Data Quality Checking and Tracking System
Stephanie Thompson, Knowing What You’ve Got
Ronald Fehd, A Sysparm Companion, Passing Values to a Program from the Command Line
Jonathan Duggins and Jim Blum, Web Scraping in SAS: A Macro-Based Approach
Thomas Billings, Efficient Use of Disk Space in SAS® Application Programs
Merry Rabb, Life in the Fast Lane: SAS Macro Language with Parallel Processing
Lisa Mendez and Andrew Kuligowski, Case Study: Using Base SAS to Automate Quality Checks of Excel Workbooks that have Multiple Worksheets
Laxminarayana Ganapathi, Synchronized tracking of dataset versions with programs and logs using Proc PRINTTO and other SAS tricks
Harry Droogendyk, Quick ‘n Dirty – Small, Useful Utility Macros
Soujanya Mandalapu, Yan Wang and Xuelei Ni, Building Neural Network model in BASE SAS ® (From Scratch)
Paul Dorfman, Sorting Arrays Using the Hash Object

Building Blocks
Seth Hoffman, Mining Bitcoins: A Step-by-Data Step Simulation
Kirk Paul Lafler, Introduction to Data-driven Programming Techniques Using SAS®
Sarah Woodruff, A Beginner’s Babblefish: Basic Skills for Translation Between R and SAS®
Michael Kola and Girish Patel, A Quick Bite on SAS(r) Studio Custom Tasks
Stephen Sloan, Twenty ways to run your SAS program faster and use less space
Emily Perry, Table Taming – Using ODS to Simplify Data Presentation
Thomas Billings, Emulating FIRST. and LAST. SAS® DATA Step Processing in SQL? Concepts and Review
Ronald Fehd, An Autoexec Companion, Allocating Location Names during Startup
Josh Horstman, Dating for SAS Programmers
Troy Hughes, When Reliable Programs Fail: Designing for Timely, Efficient, Push-Button Recovery
Davia Moyse, Tips and Tricks for Ensuring Accurate Routine Data Processing when Logs are Redirected to Text Files
John Cohen, Proc SQL in Twenty Minutes
Elizabeth Axelrod, Hash Beyond Lookups – Take Another Look
jinson erinjeri and Saritha Bathi, The Categorical Might of PROC FREQ

Coder’s Corner
Kirk Paul Lafle, A Visual Step-by-step Approach to Converting an RTF File to an Excel File
Megan McNeill and Gregory Weller, When SAS Doesn’t Behave As Expected
Aaron Brown, Easily Updating Programs with the SAS® Macro Language: an EDFacts Example
Imelda Go, Matching SAS Data Sets with Hash Objects: If at First You Don’t Succeed, Match, Match Again
Richann Watson, Using a Picture Format to Create Visit Windows
Suryakiran Pothuraju and Kiran venna, Improving Query performance by saying “NO” to Heterogeneous Joins
Shane Rosanbalm, You’re Doing It Wrong! Volume 001
Chuchun Chien, barbara Felts and Susan Myers, Use SAS® PROC Tabulate to create a PDF with Bookmarks
Evan Kwiatkowski, Automated Comparison Tables using PROC REPORT
Thomas Billings, Password Protection of SAS® Enterprise Guide® Projects
Jennifer Lindquist, Do the Loop De Loop !
Brandon Welch and Travis Mason, Accessing Password Protected Microsoft® Excel Files in A SAS® Grid Environment
Jenna Cody, Using PROC SQL to Generate Shift Tables More Efficiently
Troy Hughes, Abstracting and Automating Hierarchical Data Models: Leveraging the SAS® FORMAT Procedure CNTLIN Option To Build Dynamic Formats That Clean, Convert, and Categorize Data
jinson erinjeri and Pratap Kunwar, Recursive Programming Applications in Base SAS®
Justin Williams, Investigation of Impact on Tobacco Use due to Vaporizing Nicotine in High Schools
Pratap Kunwar, A Macro to Add SDTM Supplemental Domain to Standard Domain
Pratap Kunwar, SAS Generated Dashboard – Useful Tool for A SAS Programmer
Louise Hadden, Order, Order! Four Ways to Reorder Your Variables, Ranked by Elegance and Efficiency
Meredith Tayshetye and David Eppler, Divide and Conquer: A Macro to Split Data Based on Duplicate Values
Andrew Kuligowski, Quote the SASLOG
John Cohen, Tips for Pulling Data from Oracle® Using PROC SQL® Pass-Through
Kelly Schlessman, PROC SQL – GET “INTO:” IT!
Mykhael Walker, A beginner’s take on conditional logic using SAS Enterprise Guide 7.15 and SAS Macros
Imelda Go, Automation Methods: Using SAS to Write the Code for Repetitive Quality Control Checks
Imelda Go, Automation Methods: Using SAS to Write PROC SQL Joins for You

Data Management/Big Data
Bruce Gilsen, Reducing the Length of Character Variables in a SAS ® Data Set
Harry Droogendyk, Data Integration Best Practices
Stephen Sloan, Reducing the space requirements of SAS data sets without sacrificing any variables or observations
Stephen Sloan and Kirk Paul Lafler, Fuzzy Matching Programming Techniques Using SAS Software
wayne hileman, A Shorter Path to Moving Data Profiles from SAS® Data Management Studio to SAS® Data Management Server
Kiran venna and Suryakiran Pothuraju, Obtain better data accuracy using reference tables
Louise Hadden, Taking XML’s Measure: Using SAS® to Read In and Create XML for Analytic Use and Websites
Troy Hughes, Parallel Processing Your Way to Faster Software and a Big Fat Bonus: Demonstrations in Base SAS®
Paul Dorfman, How To Dupe a Dedup

Education/Institutional Research
Marla Mamrick and Philip Moore, Enrollment Management Utilities
Anil Aggarwal, Opportunities and Challenges of Visual Business Intelligence Course for MBA Students
Stephanie Thompson, Developing In-House Student Success Models
Jennifer Richards, The “Why” and “How” of Teaching SAS to High School Students
Andre Watts, Redesigning Project Management Within Institutional Research in a SAS Environment
Rachel Straney, Going from Zero to Report Ready with PROC TABULATE
Kelly Smith and Paul Earls, From CSV to SAS®: Dealing with Empty Fields and Repeated Observations
Kelly Smith, Paul Earls and Bobbie Frye, Student Placement: Using SAS® to Combine and Prioritize Information
Lohit Bhandari, Undergraduate Student Retention, Can we catch them before they fall?
Sivateja Reddy Kandula, Predicting the Risk of Attrition for Undergraduate Students using SAS® Enterprise Miner
Shashikant Chebrolu, Text Mining to Predict College Admission Trends
Apoorva Chandrasekaran, Analysis of Factors Influencing Dropouts in Sophomore Enrollment
Ethan Ritchie, Using SAS® to create HTML codebooks and more!

Hands on Workshops
Kirk Paul Lafler, Hands-on SAS® Macro Programming Essentials for New Users
Jason Brinkley, Introduction to Monte Carlo Simulation
Richann Watson and Kriss Harris, Animate Your Data!
Ben Cochran, Using a Handful of SAS Functions to Clean Dirty Data
William E Benjamin Jr, Working with the SAS® ODS EXCEL Destination to Send Graphs, and Use Cascading Style Sheets When Writing to EXCEL Workbooks
William E Benjamin Jr, The ODS Excel Destination: Assorted Tips and Techniques to Simplify Writing SAS(R) Data to Excel Workbooks
Josh Horstman, Getting Started with the SGPLOT Procedure
Josh Horstman, Doing More with the SGPLOT Procedure
Jim Blum and Jonathan Duggins, Working in SGPLOT: Understanding the General Logic of Attributes

Life Sciences/Healthcare/Insurance
John R Gerlach and Keith Brown, Patient-Level Longitudinal Analysis Plots Showing Adverse Event Timelines and Dose Titration Levels
Gregory Weller, Hardcoding In Clinical Trials: A (Sometimes) Necessary Evil
Christine McNichol, SDTM – Just a Walk in the (Theme) Park: Exploring SDTM in the Most Magical Place on Earth
Tanmay Khole and Saigovind Chenna, Dynamic Program Tracker
Camillia Comeaux, Predictive Modeling for Healthcare Professionals: The use of time-series analysis for health-related data and the application of ARIMA modeling techniques in SAS for Public Health Practice
Kassandra McGlonn, Utilization of SAS® Input Statements for the Barell Injury Diagnosis Matrix to Categorize Senior Sports Injury by Body Region and Nature of Injury
Kimberly Andrews, Analyzing Hospital Medicare Cost Report Data Using SAS
Maura Stokes, SAS/STAT® 14.3 Round-Up: Modern Methods for the Modern Statistician

Brian Varney, What’s the Difference? – Comparing SAS® Artifacts After a Migration or Upgrade
Victoria Garcia, Learnin’ about Churnin’
Louise Hadden, Get Smart! Eliminate Kaos and Stay in Control – Creating a Complex Directory Structure with the DLCREATEDIR Statement, SAS® Macro Language, and Control Tables
Christine McNichol, Are You Ready for It? Preparing for Your Next Technical Interview
Josh Horstman, So You Want To Be An Independent Consultant
Spencer Hayes, Michael Shealy, Rebecca Hayes and Don B. Hayes, Planning for Migration from SAS® 9.4 to SAS® Viya®
Troy Hughes, Accredited, Bona Fide, Certified, Diploma’ed, and Edumacated: The ABCDEs of Automating the Validation and Monitoring of Professional Requirements for Employees and Job Candidates Through Dynamic, Data
Chuck Kincaid, How to HOW: Hands-on-Workshops Made Easy

Abbas Tavakoli, Otis Owens and Nikki Wooten, Using SAS® to test the Psychometric Properties of Computer-Based Prostate Cancer Screening Decision Aid Acceptance Scale among African-American Men
Richann Watson and Lynn Mullins, Let’s Get FREQy with our Statistics: Data-Driven Approach to Determining Appropriate Test Statistic
Victoria Garcia, The Art of Accurate Reports
Yunzhi Ling and Helen Wang, Tips on Developing SDTM Datasets for Complex Long-Term Safety Studies
John Schreiber and Elizabeth Schreiber, Comparison of SAS®, SAS University Edition®, and Microsoft Excel® in Collaborative Data Analysis of Physical Properties by Scientist and Statistical Programmer
Surabhi Arya, Sentiment Analysis of Users’ Review to Improve 5 Star Rating Method

Melvin Alexander, Interrelationship Digraphs and Sociograms Using SAS®
Barbara Okerson, Does Anybody Really Know What Time It Is? Mapping Time Zones with SAS
Barbara Okerson, Backsplash patterns for your world: A look at SAS OpenStreetMap (OSM) tile servers
Louise Hadden, Wow! You Did That Map With SAS®?! Round II
Wendi Wright, Using PROC TABULATE and ODS Style Options to Make Really Great Tables
Dennis Beal, A Macro for Creating Time Trend Plots with Four Y Axes
David Mintz, Five Crazy Good Visualizations and How to Plot Them
Troy Hughes, The Doctor Ordered a Prescription…Not a Description: Driving Dynamic Data Governance Through Prescriptive Data Dictionaries That Automate Quality Control and Exception Reporting
Shane Rosanbalm, CONSORT Diagrams with SG Procedures: Adding Efficiencies
Carlos Piemonti, Active Students Filing an Intent to Graduate at the University of Central Florida (UCF)
Andrew Henshaw, Lauren Staples and Dr. Joe DeMaio, Graph Visualization for PROC OPTGRAPH
Ryan Norris, Tips and Techniques for Designing the Perfect Layout with SAS® Visual Analytics
Chevell Parker, Insights from a SAS Technical Support Guy: A Deep Dive into the SAS® ODS Excel Destination
Mira Shapiro and Lorraine Johnson, Transformation of Patient Reported Outcome Survey Reponses Made Simple with JMP
Nat Wooding, A Map is Just a Graph Without Axes

Statistics/Data Analysis
Bruce Gilsen, Using the R interface in SAS ® to Call R Functions and Transfer Data
Dave Dickey, Forecasting: Something Old, Something New
Bogdan Gadidov and Linh Le, A Case Study of Mining Social Media Data for Disaster Relief: Hurricane Irma
Jason Brinkley, Regression Models for Count Data
Stephen Sloan and Lindsey Puryear, Advanced Project Management beyond Microsoft Project, Using PROC CPM, PROC GANTT, and Advanced Graphics
Stuti Mehrotra and Miriam McGaugh, Fight Human Trafficking with Text Analytics
Tom Ferrara, Data Driven Approach in the NBA Pace and Space Era
Deanna Schreiber-Gregory and Karlen Bader, Logistic and Linear Regression Assumptions: Violation Recognition and Control
Deanna Schreiber-Gregory and Karlen Bader, Regularization Techniques for Multicollinearity: Lasso, Ridge, and Elastic Nets
Alyssa Venn and Joe DeMaio, Worker safety in energy production in America: A comparative analysis of fuel sources and accompanying occupational risk
Soumya Ranjan Kar Choudhury, Understanding Crime Pattern in United States by Time Series Analysis using SAS Tools
Paul Dorfman and Lessia Shajenko, Efficient DATA Step Random Sampling Out Of Thin Air
Tyler Hicks, A Flexible Approach to Computing Bayes Factors with PROC MCMC
Ramon Littell, James McClave and Jamie Baldwin, Computing Predicted Values and Residuals from Data Sets containing Classification Variables with Larger Numbers of Levels