- Conference Overview
- Conference Home
- Important Dates
- Registration & Rates
- Schedule Overview
- Conference Committee
- Conference Hotel
- Conference Content
- Section Descriptions
- Presentations
- The Quad
- Conference Extras
- Training Seminars
- For Presenters
- Call for Presentations
- Presenter Resources
- Scholarships
- Students
- Junior Professionals
- Get Involved
- Be A Volunteer
Proceedings
MWSUG 2024 Papers and Presentations
Presentations by users are the heart of a SAS users group meeting. MWSUG 2024 will feature a variety of papers and presentations organized into several academic sections covering many different topics and experience levels.
Note: Content and schedule are subject to change. Last updated 07-Nov-2024.
- Analysis & Advanced Analytics
- Anything Data
- Basics and Beyond
- Business Leadership
- Hands-On Workshop
- Pharma, Healthcare & More
Analysis & Advanced Analytics
Anything Data
Basics and Beyond
Business Leadership
Paper No. | Author(s) | Paper Title (click for abstract) |
BL-009 | Kirk Paul Lafler | Soft Skills to Gain a Competitive Edge in the 21st Century Job Market |
BL-012 | Kirk Paul Lafler | A Quick Start Guide to Writing a Technical or Research Paper |
BL-014 | David Corliss | Predicting the Impact of Storms on Utility Customers |
BL-036 | Jayanth Iyengar | SAS Job Searching and Interviewing tips – Strategies in the Post-Pandemic era |
BL-057 | Josh Horstman & Richann Watson |
Adventures in Independent Consulting: Perspectives from Two Veteran Consultants Living the Dream |
BL-065 | David Corliss | Being A Statistical Expert Witness |
BL-074 | Charu Shankar | How to Land Work as a SAS Professional |
BL-094 | Zeke Torres | Is your resume "RAW DATA" or does it convey useful information for Decision Support? |
BL-098 | Sai Suresh Marreddy & Kusuma Lanka |
The Premium Pricing Dilemma |
BL-103 | Kent Phelps & Ronda Phelps |
Simplify Complex SAS® Logic through the Power of Bit Level Data Comparison |
Hands-On Workshop
Paper No. | Author(s) | Paper Title (click for abstract) |
HW-013 | Kirk Paul Lafler | Dashboards Made Easy Using SAS® Software |
HW-039 | Richann Watson & Josh Horstman |
Complex Custom Clinical Graphs Step by Step with SAS® ODS Statistical Graphics |
HW-055 | Josh Horstman | Advanced Topics in ODS Graphics: Annotations, Attribute Maps, and Axis Tables |
HW-064 | Russ Lavery | An Animated Guide to the Internals of GIT |
Pharma, Healthcare & More
Paper No. | Author(s) | Paper Title (click for abstract) |
PH-037 | Jayanth Iyengar | NHANES Dietary Supplement component: a parallel programming project |
PH-038 | Yanfang Pang | Harnessing the Power of PROC CONTENTS and SELECT INTO: SEPARATED BY |
PH-081 | John LaBore | Tapping the Power of SAS PRX Functions |
PH-092 | Brandy Sinco | SAS Programming And Generic Techniques for Cohort Creation and Consort Diagrams |
PH-097 | Zeke Torres | Deploy a fresh new project folder based on the previous one using SAS® since you still havent gotten with GIT. |
PH-099 | Vijay Susmitha Bommini | From Paper To Pedigrees: A Beginners Approach with SAS |
Abstracts
Analysis & Advanced Analytics
AL-027 : Calculating Cardinality Ratio in Two StepsRonald Fehd, Fragile-Free Software
The cardinality of a set is the number of elements in the set. The cardinality of a SAS software data set is the number of observations of the data set, n-obs. The cardinality of a variable in a data set is the number of distinct values (levels) of the variable, n-levels. The cardinality ratio of a variable is n-levels / n-obs; the range of this value is from zero to one. Previous algorithms combined output data sets from the frequency and contents procedures in a data step. This algorithm reduces multiple frequency procedure steps to a single call, and uses scl functions to fetch contents information in the second data step. The output data set, a dimension table of the list of data set variable names, has variable cr-type whose values are in (few, many, unique, empty); this variable identifies the three main types of variables in a data set, few is discrete, many is continuous, unique is a row-identifier, and empty is a single value. The purpose of this paper is to provide a general-purpose program, ml-names-card-ratios.sas, which provides enhanced information about the variables in a data set. The author uses this list-processing program in Fast Data Review, Exploratory Data Analysis (EDA) and in Test-Driven Development (TDD), a discripline of Agile and Extreme Programming.
AL-035 : The Everytown Research database: Using SAS® analytic procedures to analyze mass shootings
Jayanth Iyengar, Data Systems Consultants LLC
With mass shootings occurring every week, It can accurately be stated that mass shootings in the U.S. have reached the level of an epidemic. Everytown Research and Policy conducts independent methodically rigorous research and supports evidence-based policies to reduce the incidence of gun violence. In 2009, Everytown Research started assembling a Mass Shooting database which records key data on every mass shooting in the U.S. In this paper, I examine and explore the database using SAS® procedures to produce a series of tables, reports, graphics and visualizations. The goal of this project is to generate insights from the SAS analytics that guide the building of effective programs and policies to reduce the epidemic of mass shootings.
AL-043 : %SURVEYCANCORR Macro: Canonical Correlation for Complex Survey Data
Mark Pickering, Indiana University-School of Public Health, Bloomington
Taylor Lewis, George Mason University-Department of Statistics
Raul Cruz, Indiana University-School of Public Health, Bloomington
Classic Canonical Correlation Analysis (CCA) is a valuable statistical tool for exploring associations between two sets of variables. However, existing SAS 9.4 procedures lack the capability to incorporate complex survey design (CSD) features, such as replicate weights, clusters, and strata, as recommended in the literature when implementing CCA on variables appearing on a complex survey data set. To address this gap, we introduce the %SURVEYCANCORR macro in this paper. We begin by outlining the theoretical underpinnings of our algorithm, discuss the functionalities of the corresponding macro, and demonstrate its implementation through example analyses using publicly available nationally representative survey datasets. Our findings underscore the critical importance of accounting for CSD features in determining the statistical significance of canonical correlations.
AL-046 : Teaching Your Computer to See: Using Computer Vision to Detect Defects
Scott Koval, Pinnacle Solutions, Inc
A classic problem in manufacturing is the manual inspection of items produced. By using SAS Viya and Machine Learning, a neural network can be trained in order to assist in the inspection process. This presentation will demonstrate how computer vision can be applied to automatically assess if a casting unit produced is considered defective or not using a picture of the product.
AL-049 : Evaluating Internal Consistency of Questionnaire Data
Yida Bao, University of Wisconsin Stout
Zheng Zhang, Murray State University
Jiafeng Ye, Auburn University
In the field of questionnaire data analysis, evaluating the internal consistency of scales is crucial for ensuring the reliability of measurement instruments. This paper explores the use of SAS for analyzing questionnaire data, focusing on methods that assess internal consistency and reliability. It presents the application of several statistical techniques, including Split-Half Reliability, Cronbach's Alpha, and McDonald's Omega, using both simulated and real datasets. The primary objective is not merely to evaluate these reliability measures but to illustrate how to utilize SAS effectively for conducting reliability analysis in questionnaire research. By demonstrating the implementation of these methods in SAS, this paper aims to provide researchers with a practical guide for assessing questionnaire quality, where the focus on methodology supersedes the importance of results.
AL-051 : What if Proc Power Can't Help? Calculating Power via Simulation, Example with Count Regression
Brandy Sinco, University of Michigan
Joceline Vu, Temple University
Pasithorn Suwanabol, University of Michigan
Background: Reviewers for an article comparing opioid use after surgery questioned the amount of power for a Zero-Inflated Negative Binomial (ZINB) model. Power was estimated by simulation because Proc Power does not have a ZINB option. Objectives. For a given dataset, show how to use Procs GenMod or CountReg to estimate the distribution parameters for Poisson, Negative Binomial, ZIP, and ZINB models. Then, use the streaminit() and RAND() functions to simulate distributions in a data stop. Run the outcomes model on the simulated data and compute the power. Methods. Begin with one simulation. After calculating the ZINB parameters with Proc GenMod, compare the simulated distribution to the actual data with graphics and descriptive statistic from Procs Freq and Univariate. Next, simulate 1,000 datasets. Put an index on _REPLICATION_ to maximize execution speed. Run the outcomes procedure 1,000 times and compute the simulation-based power as the percentage of times when the outcome is significant. I.E., compute power based on the definition of the probability of observing a significant difference between treatment and control, given that a significant difference is present in the data. To calculate power for the model with covariates, use bootstrapping. Compare the actual data to the simulated data with Procs Freq, Means, T-Test, and NPar1Way. Results. After outputting the results of Proc GenMod by _REPLICATION_ into an ODS dataset, the original dataset with 562 patients had 78% power to detect a significant difference in opioid use between surgical procedures without adjustment for additional covariates.
AL-058 : Developing Artificial and Convolutional Neural Networks with Python's Keras API for TensorFlow
Ryan Paul Lafler, Premier Analytics Consulting, LLC
Anna Wade, Premier Analytics Consulting, LLC
Capable of accepting and mapping complex relationships hidden within structured and unstructured data, neural networks are built from layers of neurons and activation functions that interact, preserve, and exchange information between layers to develop highly flexible and robust predictive models. Neural networks are versatile in their applications to real-world problems; capable of regression, classification, and generating entirely new data from existing data sources, neural networks are accelerating recent breakthroughs in Deep Learning methodologies. Given the recent advancements in graphical processing unit (GPU) cards, cloud computing, and the availability of interpretable APIs like the Keras interface for TensorFlow, neural networks are rapidly moving from development to deployment in industries ranging from finance, healthcare, climatology, video streaming, business analytics, and marketing given their versatility in modeling complex problems using structured, semi-structured, and unstructured data. This paper explores fundamental concepts associated with neural networks including their inner workings, their differences from traditional machine learning algorithms, and their capabilities in supervised, unsupervised, and generative AI workflows. It also serves as an intuitive, example-oriented guide for developing Artificial Neural Network (ANN) and Convolutional Neural Network (CNN) architectures using Python's Keras and TensorFlow libraries for regression and image classification tasks.
AL-059 : Charting Your Organization's Machine Learning Roadmap
Ryan Paul Lafler, Premier Analytics Consulting, LLC
Machine learning is experiencing a golden age of investment, democratization, and accessibility across all domains in the life sciences, natural sciences, and social sciences with applications to industry for business decision-making, risk management, consumer marketing, clinical trials, financial forecasting, security recognition, video remastering, digital twin simulations, and more. But what exactly is machine learning (ML)? How is it connected to Artificial Intelligence (AI)? And most importantly, how can data scientists, programmers, software engineers, and/or researchers start their endeavors into machine learning? This paper answers these questions, and more, by providing a roadmap to help navigate the complexities of machine learning in an application-oriented guide. This paper covers the main aspects of machine learning including supervised, unsupervised, and semi-supervised approaches as well as deep learning. The roadmap for supervised machine learning starts with linear regression and progressively builds towards more complex and flexible algorithms with discussions about the advantages and disadvantages of using certain models over others. This paper discusses the real-world applications of both labeled and unlabeled data; supervised and unsupervised machine learning algorithms; overfitting and underfitting; cross-validation; and the importance of hyperparameter tuning to better fit algorithms to their data.
AL-061 : Revelation and Exploration for COVID-19 Data: Visual Data Insights™ and an InfoGeographic Atlas
LeRoy Bessler, Bessler Consulting and Research
A COVID-19 Tableau dashboard posted in the Data Visualization Group at LinkedIn was so underinforming and visually disappointing that I decided to see what could be done better with the SuperPower tool of SAS® ODS Graphics and by applying my (software-independent) principles of communication-effective use of graphics tools and color.
AL-070 : The Business Value of Diversity Combined with Data Science
Stephen Sloan, Dawson D R
Having strong diversity programs, being sensitive to diversity issues, and being able to apply rigorous data science techniques can provide significant value to an organization. Many business problems and challenges begin with the statement of a problem, and the problem sometimes seems to relate to issues with diversity. Many organizations are aware of both the importance of diversity and the fact that problems sometimes manifest themselves as diversity issues, even when they have other causes. At other times there are issues where awareness of the value of diversity can help an organization achieve its goals. In addition, there are areas where diversity can have a direct impact on the organization in terms of compliance and scientific value. In this paper I cite examples where diversity combined with SAS analytical PROCs and functions has proven to have business value for an organization.
AL-089 : Getting Started with SAS Visual Statistics
Melodie Rush, SAS
You are a business analyst, statistician or data scientist responsible for data exploration and model creation, but you are new to SAS Visual Statistics. This presentation will introduce you to SAS Visual Statistics – what it is, the value that it provides, and its capabilities for visually exploring data using statistical modeling techniques. The presentation and accompanying demonstration will provide a preliminary view into the following components of SAS Visual Statistics: • Getting to SAS Visual Statistics– from the Hub, SAS Visual Analytics both directly and from analysis graphs • Creating Models – decision trees and logistic regression • Comparing Models – looking at different criterion including Lift, ROC and Misclassification • Score Code – how to create score code and score new data The goal of this session is to help you start using and deriving value from SAS Visual Statistics as quickly as possible.
AL-090 : Introduction to Machine Learning in SAS
Melodie Rush, SAS
This presentation answers the questions of What is Machine Learning? And What does SAS offer for Machine Learning? Examples of specific machine learning techniques such as Random Forest, Gradient Boosting, Support Vector Machines, Neural Networks and K-means are covered.
AL-091 : Using SAS/STAT: A Gentle Introduction to Some Frequently Used Tools
Melodie Rush, SAS
Frequently, business interventions are evaluated by comparing two groups with respect to some outcome measure(s). For example, we might want to compare customers who received a marketing campaign with customers who did not receive the campaign, with respect to whether they bought additional products or services, quantity of a product purchased, or other measures. We might need to compare two, or more than two, groups of customers; and the outcome measure(s) might be dichotomous (e.g., product buy-up vs. no buy-up) or continuous (e.g., quantity of a product purchased) with a variety of distributions. SAS/STAT provides several easy-to-use tools for such analytic situations, including PROC FREQ (chi-square tests, Fisher's exact test), PROC TTEST and PROC NPAR1WAY. This presentation will cover some of the tests most frequently used in the types of analytic situations outlined above. We will cover basic guidelines for using different tests and provide examples. This presentation is intended as an introduction for SAS users with a minimal Statistics background.
AL-096 : Making Text Analytics More Approachable: From Traditional to Generative AI for Business Applications.
Vikranth Reddy Chapaala, Oklahoma State University
In today's digital age, businesses are generating and accumulating vast amounts of unstructured text data at an unprecedented pace. The vast scale, complexity, and evolving nature of this data pose significant challenges in extracting meaningful insights. Traditional approaches often struggle to efficiently parse and categorize such diverse datasets, leading to gaps in understanding and decision-making. This paper explores the use of advanced topic modeling techniques and Generative AI to address these challenges, demonstrating how models capture underlying themes and patterns in large text datasets. Utilizing SAS Viya and Python, the study employs robust text analytics techniques, to offer a comprehensive strategy for managing unstructured text data. The paper presents a comparative analysis of topic modeling algorithms, highlighting their unique approaches to capturing the semantic essence of documents. Additionally, it introduces an innovative method using Generative AI to automatically classify topics into business-specific categories, thereby enhancing the interpretability and utility of the extracted insights. This approach provides a substantial boost in coherence scores to 0.60 and achieves a prediction accuracy of 88% for categorization tasks. The findings underscore the effectiveness of integrating traditional analytics with Generative AI, providing businesses with a powerful tool for extracting actionable insights from vast amounts of textual information. This paper assumes a basic understanding of text analytics in SAS.
Anything Data
AD-004 : Data Literacy 101: Understanding Data and Extracting InsightsKirk Paul Lafler, SasNerd
Data is all around us and growing at extraordinary rates, so anyone working with, or planning to work with, data should acquire a solid foundation in this essential skill. In this presentation, join Kirk Paul Lafler as he focuses on the fundamentals of data literacy, how to derive insights from data, and how data can help with decision-making. This presentation uses SAS® software to explore data with graphs and describes data with statistics to help anyone improve their understanding of data and to enable more informed data-driven decisions. Attendees learn about the different types of data - nominal, ordinal, interval, and ratio; how to assess the quality of data; explore data with scatterplots, line charts, and box plots; and use selected statistical methods to describe data. By the end of this presentation, you'll have a much better understanding of why data literacy is so important in the 21st century, as well as learning how to identify the correct types of data for you to use.
AD-020 : Using LaTeX document class sugconf to write your paper
Ronald Fehd, Fragile-Free Software
SAS software conferences now accepts papers produced by the LaTeX document preparation system which produces a .pdf. Purpose: This paper illustrates use of the LaTeX document class sugconf, shows a basic paper template and provides references to basic and advanced usage of LaTeX. Audience: SAS user group authors, particularly those using Jupyter Notebook
AD-023 : Q&A with the macro maven: is sql our lingua franca?
Ronald Fehd, Fragile-Free Software
SAS software provides an implementation of Structured Query Language (sql). Usage of the sql procedure creates an opportunity for the user to learn database terminology and consider how to address their programming problems and reporting as a matter of the design of the data structure. The purpose of this Q\&A dialogue is to review the suitability of sql as a common language for users and programmers. Its benefits include a knowledge of design of data structure for ease of reporting as well as the ability to research the SAS global symbol table. The dialogue is an exposition of how we learn both natural and artificial languages, and how we use them to communicate.
AD-048 : Using SAS To Manage And Maintain Your Data Repository
Jose Centeno, NORC at the University of Chicago
In real life applications, data is typically collected and stored in different systems and with different structures. End-users might not have access to the backend data source(s), or it can become confusing to keep track of these data locations. Building a centralized data repository helps your project bringing data together for more effective analysis. This paper explores how base SAS can be used by applying dynamic techniques to perform tasks for managing and maintaining your SQL-based data repository. This paper assumes a basic understanding of SAS macro programming and basic understanding of database concepts.
AD-056 : Creating and Customizing High-Impact Excel Workbooks from SAS with ODS EXCEL
Josh Horstman, Nested Loop Consulting
Love it or hate it, Microsoft Excel is used extensively throughout the business world. As a SAS user, you can enhance the impact of your work by using the ODS EXCEL destination to create high-quality, customized output in Excel format directly from SAS. This paper walks through a series of examples demonstrating the flexibility and power of this approach. In addition to complete control over visual attributes such as fonts, colors, and borders, the ODS EXCEL destination allows the SAS user to take advantage of Excel features such as multiple tabs, frozen or hidden rows and columns, and even Excel formulas to deliver the high-impact results you and your customers want!
AD-060 : Bessler's Principles of Communication-Effective Data Visualization
LeRoy Bessler, Bessler Consulting and Research
Let me show you how to best get beyond your graphics software defaults. My list of principles is a L O N G list, but this paper and presentation is a short list. The long list is from 44 years as a data artist working to get the best out of SAS® graphics software. (In the words of Alan Bates, "Just think of it as a hobby that has gotten out of hand.") Come to see a subset story, demonstrated with widely applicable data graphics examples that you, too, can use. All, but a dangerous but popular archaism, are rendered with SAS ODS Graphics, The Graphics SuperPower Tool. If you have SAS software, you already have SAS ODS Graphics, at no added expense, but you can, and dare I say SHOULD, use my principles for graphic design and color use with ANY software. (This topic features principles from the book Visual Data Insights Using SAS ODS Graphics: A Guide to Communication-Effective Data Visualization.)
AD-066 : Using SAS I/O Functions to Retrieve External Metadata
Jake Reeser, NORC
In my paper, I would discuss external file functions, or I/O functions. I would go through what information is available, as well as how to obtain Metadata on specific files. I will also go into how to gain info on external directories and subdirectories. I will lastly show how to use this file metadata to allow for easier data processing. This paper would be for those of an intermediate skill level. Knowledge of the SAS macro language would also be required.
AD-076 : Stacking Up: Horizontal or Vertical with PROC SQL or DATA Step
Charu Shankar, SAS
Joins or set operations - come to this session to learn the huge power of SQL joins, the flexibility, and short code writing See the four different joins, both ways (SQL vs Data Step merge). Inner Join, Outer Join - left, right, full Learn how the data step operates when you merge data & prerequisites for the data step as well as when to use it Learn how PROC SQL stacks data vertically with classic set operations Learn how the DATA Step stacks data vertically and its flexibility With visuals included to apply knowledge transfer, come to this powerful session to take away the best way to stack data vertically or horizontally and when to use which Base SAS tool.*
AD-078 : SAS, SQL, R and Python: We're All Friends
Joe Madden, SAS
Fact: Most data scientists speak multiple coding languages. So, why should you feel obligated to use just one when you're in a SAS environment? Spoiler alert: You shouldn't! In this workshop, you learn how easy it is to use SAS, SQL, R, and Python in a host of SAS tools such as SAS Studio and Model Studio and via Jupyter. It's (almost always) better together – so learn how to leverage the cloud architecture to better integrate your projects and speed up your time to value!
AD-079 : Going from SAS v9 Programming to SAS Viya Programming: What's the Same, What's Different
John LaBore, SAS
Current SAS users (statisticians and programmers) likely have heard that SAS is rolling out SAS Viya. Viya is the "next generation" of SAS software that all SAS users will transition when SAS 9 reaches end of life (i.e., there will not be a SAS "10"). As with any change, end users can find it uncomfortable until they gain an understanding of what is the same and what will be different. The good news is that users will be able to move nearly all of their SAS 9 code to SAS Viya with only changes in pointers (i.e., libnames), as SAS is essentially embedding the SAS 9 engine in Viya (the "Compute Server"). The better news is that users will be able to start writing code (Cloud Analytics Services Language, or CASL) that takes advantage of Viya's in-memory, super-fast processing capabilities (the "CAS" server). In some cases it may make a lot of sense to refactor (rewrite) some of your previous code in CASL to take advantage of CAS processing. SAS Viya is a platform that can easily integrate other languages (for example, R and Python) with SAS into a seamless program. Viya can be accessed with a familiar SAS interface (Enterprise Guide), or you can step over to SAS Studio as a user interface to Viya. This presentation will provide an overview of SAS Viya and use a series of statistical programming examples to demonstrate what is involved for statisticians and statistical programmers to become rapidly productive in this new environment.
AD-080 : PROC COMPARE: More Than Just the Bottom Line
John LaBore, SAS
Users of the PROC COMPARE procedure usually are satisfied with finding the following NOTE at the end of their output "NOTE: No unequal values were found. All values compared are exactly equal." However, this bottom line needs to be fully understood. In four specific cases, users may not realize the conditions/assumptions being made by PROC COMPARE, which could possibly lead to discrepancies turning up. This presentation will describe and provide example code/log/output that highlights each of these four cases. In these cases, adding only one word to the PROC COMPARE statement can help ensure that users safely navigate through cases involving these conditions/assumptions.
AD-087 : Fuzzy Matching with PROC SQL
Marty Hultgren, SAS
When enriching data for enhanced analysis and reporting, it is often necessary to match records in disparate tables that don't share a common unique identifier. The process generally involves text fields, which can be problematic for computers. In this paper I cover some base SAS functions that can be used to conduct fuzzy matching, In this presentation, I'll demonstrate how to use these tools to conduct fuzzy matching in Base SAS: • The ANSI SQL LIKE operator • The SAS "sounds like" operator • Regular expressions and the SAS PRX functions • These base SAS functions o PROPCASE o UPCASE o SOUNDEX o SPEDIS o COMPLEV o COMPGED • After the Base SAS tools, a brief introduction to fuzzy matching with SAS Data Quality is also included
AD-102 : Vaping Trends: Analyzing Patterns and Predictive Factors in Electronic Cigarette Use among American Youth
Medha Haldar, Oklahoma State University
Carol Antony, Oklahoma State University
Rishanki Jain, Providence
Electronic cigarettes or e-cigarettes, designed originally as a less harmful alternative to traditional tobacco products for addicts, have become increasingly popular among American adolescents, raising substantial public health concerns. This study aims to explore the prevalence, patterns, and health implications of e-cigarette use among youth in America by analyzing data from the National Youth Tobacco Survey (NYTS). The research employs both descriptive and predictive analytical methods to uncover trends and factors influencing e-cigarette use. Our descriptive analysis using SAS On Demand reveals a high percentage of high school students who use e-cigarettes, with significant influences from ease of access, peer pressure, and social media marketing. The study also identifies a concerning overlap between e-cigarette use and the use of other tobacco products. Predictive modeling highlights critical factors such as social media exposure, misperceptions of e-cigarette safety, and environmental influences that contribute to e-cigarette consumption. The findings underscore the effectiveness of the current regulatory measures and pinpoint gaps in enforcement. Recommendations include implementing stricter advertising and sales restrictions, enhancing public education on the risks of e-cigarettes, and improving regulatory practices to limit youth access. Despite existing regulations, the persistence of e-cigarette use among adolescents indicates ongoing challenges that require a comprehensive approach involving educators, policymakers, and public health professionals to safeguard youth health and prevent addiction.
Basics and Beyond
BB-011 : A General Review of Fuzzy Matching Techniques and Their Capabilities Using SAS®Kirk Paul Lafler, SasNerd
Data comes in all forms, shapes, sizes, complexities, and quality standards. Stored in text-based files, datasets, database systems, and other data structures, users across many industries recognize that data is often problematic and plagued with a variety of issues, including the absence of identifiers, or "keys", duplicate rows, and lack of standards to name a few. However, many data files will require "fine-tuning" the matching process, including the selection of multiple variables such as name, email and other social media addresses, telephone number, date of birth, street address, city, state, zip code, and social security number to ensure accurate and reliable matches or groups of similar values. This paper addresses the importance of working with reliable data sources, but when this is not possible, a comprehensive strategy of data cleaning, data validation, and data transformation processes are presented. We emphasize a sampling of data issues that can occur, popular data cleaning techniques, user-defined validation methods, data transformation approaches such as traditional merge and join techniques, the resolution of key identifier issues, the avoidance and control of false positives and negatives, the introduction of different SAS character-handling functions enabling phonetic and text string matching, including the SOUNDEX, SPEDIS, COMPLEV, and COMPGED functions, and an assortment and comparison of SAS programming techniques to successfully merge/join, match, and cluster less than perfect, or "messy" data.
BB-016 : What's Your Favorite Color? Controlling the Appearance of a Graph
Richann Watson, DataRich Consulting
The appearance of a graph produced by the Graph Template Language (GTL) is controlled by Output Delivery System (ODS) style elements. These elements include fonts and line and marker properties as well as colors. A number of procedures, including the Statistical Graphics (SG) procedures, produce graphics using a specific ODS style template. This paper provides a very basic background of the different style templates and the elements associated with the style templates. However, sometimes the default style associated with a particular destination does not produce the desired appearance. Instead of using the default style, you can control which style is used by indicating the desired style on the ODS destination statement. However, sometimes not a single one of the 50-plus styles provided by SAS® achieves the desired look. Luckily, you can modify an ODS style template to meet your own needs. One such style modification is to control which colors are used in the graph. Different approaches to modifying a style template to specify colors used are discussed in depth in this paper.
BB-017 : Just Stringing Along: FIND Your Way to Great User-Defined Functions
Richann Watson, DataRich Consulting
Louise Hadden, Independent Consultant
SAS® provides a vast number of functions and subroutines (sometimes referred to as CALL routines). These useful scripts are an integral part of the programmer's toolbox, regardless of the programming language. Sometimes, however, pre-written functions are not a perfect match for what needs to be done, or for the platform that required work is being performed upon. Luckily, SAS has provided a solution in the form of the FCMP procedure, which allows SAS practitioners to design and execute User-Defined Functions (UDFs). This paper presents two case studies for which the character or string functions SAS provides were insufficient for work requirements and goals and demonstrate the design process for custom functions and how to achieve the desired results.
BB-018 : An Animated Guide to Proc Report Internals
Russ Lavery, Contractor
PROC REPORT is an exciting "big file technique" that every programmer should know. PROC REPORT allows the creation of complicated reports, with many levels of summarization, while only reading a large source file one time. PROC REPORT allows -in just one step- summarization to a desired level, calculation of new variables and the appending of different kinds reports into one complex report. ALL this happens in one read of the input data. Especially interesting is that the internal file for PROC REPORT, a file that holds "the combined multiple report" can be sent to a SAS® data set and used as a input data. This paper will attempt to show the time sequence of the internal actions of PROC REPORT. Knowing the time sequence of actions, especially calculations, is crucial to doing complicated PROC REPORTs.
BB-019 : From Muggles to Macros: Transfiguring Your SAS® Programs With Dynamic, Data-Driven Wizardry
Josh Horstman, Nested Loop Consulting
Richann Watson, DataRich Consulting
The SAS macro facility is an amazing tool for creating dynamic, flexible, reusable programs that automatically adapt to change. This presentation uses examples to demonstrate how to transform static "muggle" code full of hardcodes and data dependencies by adding macro language magic to create data-driven programming logic. Cast a vanishing spell on data dependencies and let the macro facility write your SAS code for you!
BB-022 : List Processing using SQL Select Into to Replace Call Symputx Creating Indexed Arrays of Macro Variables
Ronald Fehd, Fragile-Free Software
SAS software provides the ability to allocate a macro variable in a data step with its call symputx routine. This routine can be used to make a sequentially-numbered series of macro variables --- mvar1--mvarN --- which is refered to as an indexed array of macro variables. The purpose of this paper is to examine the algorithm of macro variable array usage and provide sql consolidations of the various tasks.
BB-030 : %SEND_MSOFFICE_EMAIL - Pretty, Powerful, and Painless
Brooke Ellen Delgoffe, Marshfield Clinic Research Institute
While ODS is well known for creating stylized reports (PDF, RTF, Word) or other outputs (Excel, CSV), it can also be used to create stylized emails. This paper will explore the use of ODS MSOFFICE2K as an output destination for use in email. The %SEND_MSOFFICE_EMAIL macro will be presented and used to demonstrate standardization methods, applying styles, and inclusion of tables, graphs, and text. The macro uses PROC ODSTEXT in place of a DATA step for text. It also uses PROC SQL / %LET statements to create macro variables to house counts and text for feature in the body of the email. An appendix will hold the full code and a link will be provided to a resource for download of the most recent versions, should any occur after publication. Brief Outline: • Introduction • Email using FILENAME statement with EMAIL option • Dynamic Recipients List and Text using %IF / %THEN / %ELSE • The ODS MSOFFICE Basics • Setting the ESCAPECHAR and Style Attributes • Featuring Tables, Graphs, and Text • Suggested Use: Standardization • Suggested Use: Reporting on Scheduled Jobs • %SEND_MSOFFICE_EMAIL full code
BB-032 : SAS® PROC GEOCODE By Example: A Case Study
Louise Hadden, Independent Consultant
Numerous international and domestic governments provide free public access to downloadable databases containing health data. One example is the Centers for Medicare and Medicaid Services' Care Compare data, which contains address information for providers. This paper and presentation will describe the process of downloading data and creating an analytic data base; running SAS®'s PROC GEOCODE (part of Base SAS®) using Tiger street address level data to obtain latitude and longitude at a finer level than zip code; modeling the data points using SAS/Stat, and finally using PROC SGMAP (part of Base SAS®) with annotation to create a visualization of a proximity analysis. Data processing was accomplished using BASE SAS® ( SAS 9.4 M7). This presentation is suitable for all skill levels.
BB-033 : Looking for the Missing(ness) Piece
Louise Hadden, Independent Consultant
Reporting on missing and/or non-response data is of paramount importance when working with longitudinal surveillance, laboratory, and medical record data. For a CDC surveillance project with thousands of variables and weekly deliveries, an efficient and comprehensive assessment of missing values was required. PROC FREQ with the NLEVELS option, PROC REPORT and traffic-lighting, and PROC UNIVARIATE OUTTABLES can produce an effective, data-driven visualization. Data processing was performed using SAS 9.4 M7. This presentation is suitable for all skill levels.
BB-040 : An Introduction to Obtaining Test Statistics and P-Values from SAS® and R
Brian Varney, Experis
Getting values of test statistics and p-values out of SAS and R is quite easy in each of the software packages but also quite different from each other. This paper intends to compare the SAS and R methods for obtaining these values from tests involving Chi-Square and Analysis of Variance such that they can be leveraged in tables, listings, and figures. This paper will include but not be limited to the following topics: • SAS ODS trace • SAS PROC FREQ • PROC GLM • R stats::chisq.test() function • R stats::aov() function • R broom package functions The audience for this paper is intended to be programmers familiar with SAS and R but not at an advanced level.
BB-041 : Inventory your OS for Programming Information
Brian Varney, Experis
Whether you are attempting to figure out what you have when preparing for a migration or you just want to find out which files or directories are taking up all of your space, SAS is a great tool to inventory and report on the files on your desktop or server. This paper intends to present SAS code to inventory and report on the location you want to inventory.
BB-042 : Bring Your SAS and Python Worlds Together With SASPy!
Ted Conway, Self
What if you could combine the powers of SAS and Python? That's the idea behind SASPy, the open-source Python package that enables Python coders to access SAS data and analytics capabilities. In this session, we'll see how SASPy can be used to integrate SAS and Python – even across platforms – bringing you the best of both worlds! SASPy can be used in a variety of SAS, Viya and Python deployments. For this session, a laptop-based Microsoft Visual Studio notebook running Python will be used together with Base SAS 9.4 via the Cloud-based SAS® OnDemand for Academics to create an interactive Sunburst chart visualization of an NBA salary SAS dataset.
BB-044 : How to build custom macros in SAS: A step-by-step approach to translating your code into a custom macro
Sara Richter, Richter Statistical Services, LLC
Do you find yourself copying/pasting code over and over and over again and thinking you should find a more efficient way? Intrigued by macros but overwhelmed at where to start? Not sure how to make the leap from copying/pasting to building a robust custom macro? Then this session is for you! In this presentation, we will discuss strategies for turning "regular code" into a custom macro, present troubleshooting tips for common macro errors, and walk step-by-step through several examples of building custom macros, from simple summary statistic macros to complex reporting macros. Attendees will be able to translate the strategies presented to their own SAS projects. This session is geared towards intermediate SAS programmers who have been exposed to macro variables and macros in SASv9.4.
BB-047 : Existence is Fruitful: How to determine whether something exists in your SAS session
Erin O'Dea, NORC at the University of Chicago
This paper will include descriptions and code representing several options for checking whether various things in SAS exist: macro variables, macros, tables, libnames, and columns. SAS has some built in functions that look for macro variables and macros, as well as dsid properties and dictionary tables that can locate tables, libraries, and column names. In this paper we will explore these options and how they can be included to write more reusable code. Maybe you forgot an include statement that contains macros, or you copied over a library path incorrectly. Maybe you thought a dataset had a certain column and are surprised to find that it does not. Maybe you are unsure of what data might come in from an outside source, or your data structure changes frequently. Maybe you're a little bit confused about scope, or you didn't realize your SAS session reset. When you write a SAS program that assumes existence of certain entities, often SAS will either error out and end execution, or you will be left with a trail of warnings and errors that you need to track down at the root. If your program can detect ahead of time if something is missing or work around it, you can save a significant amount of time on resolving that missingness. This is targeted to SAS users with a basic understanding of programming but will be more of a useful description of options and code that will not require significant experience to use.
BB-050 : Building a SAS Data Viz Toolkit
Sara Richter, Richter Statistical Services, LLC
Graphs and tables can be critical tools in conveying analysis results. When they're done well, they're eye-catching and informative. When they're not done well, they can distract, bore, or even confuse your audience. Applying simple data visualization best practices to graphs and tables can turn mediocre data displays to high-impact communication tools. And, best of all, this can be done using features available in SAS/GRAPH. This presentation will provide participants with ideas for creating high impact graphs and tables for a wide variety of analysis findings, including displaying single numbers to group comparisons to logistic regression output. During the presentation, we will review data visualization best practices and demonstrate the effectiveness of these practices through before-and-after examples. We will highlight SAS tools that can be used alone or in combination to achieve these best practices, including formatting, the ODS ESCAPE CHAR, SGANNOTATE macros, and combining PROC REPORT and SGPLOT outputs into a single visual element. These code examples will hopefully inspire analysts at all SAS levels to create more advanced data visualization elements.
BB-052 : Using SAS® to Consume Data from APIs
Jack Shoemaker, Medical Home Network
Somaiya Shakil, Medical Home Network
The world is moving to the cloud and that means using APIs to consume and publish data. At the simplest level, an API is just a web address that you could use a command-line tool like cURL to access. What comes back is often a JSON data payload. SAS® provides several tools which make access easier and more robust. Using the public CMS Beneficiary Claims Data API (BCDA), this paper will show how to use a combination of command-line tools, PROC HTTP, and PROC JSON to communicate with the CMS API. The BCDA returns data in newline-delimited JSON (NDJSON) which presents a few more wrinkles to iron out. NDJSON files contain one or more JSON payloads. PROC JSON operates on a single payload, so needs some help to consume NDJSON-formatted data. This paper will present two solutions to this challenge as well as a complete package that authenticates and consumes the CMS data.
BB-054 : Operator, Please? Making the Most of SAS Language Operators
Josh Horstman, Nested Loop Consulting
While operators are some of the shortest elements in the SAS language, they are long on functionality. This paper surveys several useful SAS operators, + a few you might not even know about like <>, ><, and =:.
BB-067 : Best Practices for Efficiency and Code Optimization in SAS® programming
Jayanth Iyengar, Data Systems Consultants LLC
There are multiple ways to measure efficiency in SAS® programming; programmers' time, processing or execution time, memory, input/output (I/O) and storage space considerations. As data sets are growing larger in size, efficiency techniques play a larger and larger role in the programmers' toolkit. This need has been compounded further by the need to access and process data stored in the cloud, and due to the pandemic as programmers find themselves working remotely in distributed teams. As a criteria to evaluate code, efficiency has become as important as producing a clean log, or expected output. This paper explores best practices in efficiency from a processing standpoint, as well as others.
BB-068 : Bessler's Recommendations for Using Color in Web Pages, Graphs, Tables, Maps, Text, and Print
LeRoy Bessler, Bessler Consulting and Research
Let me be your Color Therapist. I have been counseling SAS graphics software users about color with since 1995. This is a tutorial about What To, not any particular software's technical How To or coding syntax. Other authors have covered that. Perry Watts extensively (e.g., for SAS/GRAPH), and Richann Watson in "What's Your Favorite Color? Controlling the Appearance of a Graph" (using ODS style templates). However, this presentation is software-neutral. See twenty minutes of principles and examples that you can use for the entire future regardless of your graphics software tool. My latest comprehensive coverage of wise use of color is in Chapter 2 of "Visual Data Insights Using SAS ODS Graphics: A Guide to Communication-Effective Data Visualization".
BB-069 : Create Report with SAS Visual Analytics to Finish Your SAS Story
Shinya Kodama, NORC
You spend long hours trying develop SAS programs and create datasets as deliverables. How do you explain the results to your customers, peers and stakeholders, especially when your audience are non- technical? SAS Visual Analytics is very effective tool to create presentations to reflect your SAS data just created with graphics to tell the story you want to highlight. This presentation will be for users of all levels.
BB-073 : Confessions of a PROC SQL Instructor
Charu Shankar, SAS
After teaching at SAS for over 10 years to thousands of learners, this instructor has collected many best practices from helping customers with real-world business problems. Hear all about her confessions on making life easy with mnemonics to recall the order of statements in SQL. Learn about the data step diehard user who now loves SQL thanks to this little known secret gem in PROC SQL. Hear about the ways in which ANSI SQL falls short and PROC SQL picks up the slack. In short, there are many confessions and so little time. session is open to all interested in improving their SQL knowledge and performance.
BB-077 : Top 10 SAS Efficiency Hacks
Charu Shankar, SAS
Whether you are an expert programmer or just beginning to use SAS code, you will certainly appreciate the finer nuances that make for an efficient SAS program. You understand that you can improve efficiency, cut down time by these best practices. Learn what SORT mechanism is smart, where the Length statement should be ideally placed, which is better, DROP/ KEEP Options/statement , When to use Proc SQL over the data step, or vice versa. Which conditional processing algorithm to use & when & much, much more. For generations, SAS users have been trying to optimize efficiency in their data practice. In the new economy, speed is of the essence. Come learn to optimize your session and study top 10 best practices in this compact and comprehensive SAS session.
BB-082 : Taking the Mystery out of Macro's Two Most Confusing Topics
Kevin Russell, SAS
The presentation discusses the two topics that cause the most confusion about the macro language. These topics are macro debugging and macro quoting. The first half of the presentation will provide examples of how to use tools essential to macro debugging. These tools include the macro debugging system options MPRINT, SYMBOLGEN and MLOGIC. The second half of the presentation simplifies macro quoting by showing how only four macro quoting functions are needed to address every macro quoting issue that may arise.
BB-085 : Five Easy Ways to Make Your SAS Code Run Faster
Marty Hultgren, SAS
"Don't you just hate waiting for results after you submit your SAS program? So do I! Let's look at the five most impactful techniques I know of to make your SAS code run faster. INTRODUCTION In this presentation I'll discuss five ways to make your SAS programs run faster, and demonstrate: • KEEP/DROP vs. KEEP=/DROP • WHERE vs. the subsetting IF • Choosing SQL vs. DATA step • for processing SAS data sets • for processing DBMS tables • Detecting and speeding up a CPU-bound process*
BB-093 : Enhancing Your SAS Viya Workflows with Python: Integrating Python's Open-Source Libraries with SAS using PROC PYTHON
Ryan Paul Lafler, Premier Analytics Consulting, LLC
Miguel Bravo Martinez Del Valle, San Diego State University
Data scientists, statistical programmers, machine learning engineers, and researchers are increasingly leveraging a growing number of open-source tools, libraries, and programming languages that can enhance and seamlessly integrate with their existing data workflows. One of these integrations, built into SAS Viya, is the Python integration, PROC PYTHON, that gives SAS programmers access to Python's open-source libraries for wrangling and modeling structured and unstructured data alongside the validated procedures provided in SAS. This paper demonstrates how to install and import external Python libraries into their SAS Viya sessions; generate Python scripts containing methods that can import, process, visualize, and analyze data; define SAS macros that can be called in Python code; and execute those scripts using SAS Viya's PYTHON procedure. By integrating the added functionalities of Python's libraries for data processing and modeling with SAS procedures, SAS programmers can enhance their existing data workflows with Python's open-source data solutions.
BB-100 : SAS Language Parser in Action
Tong Wang, ProML Consulting LLC
Toni Zhang, University of Michigan, Ann Arbor
Have you ever needed an efficient way to analyze and manipulate multiple SAS programs at once? In this hands-on workshop, you'll learn about an open-source SAS language parser built in Python and explore the concept of an Abstract Syntax Tree (AST). Using a practical example, the workshop will guide you through setting up the parser, analyzing SAS programs, and extracting specific information from them programmatically. Additionally, we'll explore some promising use cases once a SAS language parser is introduced.
BB-104 : Making the Most of User-defined Formats
Sara Richter, Richter Statistical Services, LLC
The FORMAT procedure in SAS can be a powerful tool for analysis and reporting. Creating your own formats provides flexibility in reporting, aids in data cleaning and variable creation, and can be used to dynamically adjust graphs and report tables. This presentation will cover how to make a user-defined format and give examples including: numeric to character conversions, creating new variables with formats, assigning picture formats, and using formats to create dynamic report colors.
BB-105 : Visual Analytics 101: From ETL to Dashboard
Charu Shankar, SAS
Marty Hultgren, SAS
Are you a SAS programmer who's eager to reverse the 80/20 data prep-to-reporting ratio? Curious about using SAS Visual Analytics for your reporting needs? Join this session to learn how to streamline ETL and create dashboards. Using ---- data, you'll discover the principles of good report design, explore main report objects, and learn how to create a dashboard with SAS Visual Analytics. All levels welcome.
BB-106 : %RepeatMaskoverFile
Paul Silver, NORC at University of Chicago
%RepeatMaskoverFile is a general purpose utility macro which will read an arbitrary SAS data file (with optional subsetting conditions) to set macro variables which can referenced by a virtually arbitrary macro expression including text, macro variables, functions and calls, and repeat that expression for each logical row of the file (varying the macro variable values). Optionally It can also include start, separation, and ending SAS expressions for the set of lines generated per data file line. RMOF also demonstrates the use of %symcall open, set() and other data set options functions to simply transfer SAS data set values into SAS macro variables. We give examples of applications, ranging from simple to more complex, and discuss the advantages of this approach as well as and potential pitfalls.
Business Leadership
BL-009 : Soft Skills to Gain a Competitive Edge in the 21st Century Job MarketKirk Paul Lafler, SasNerd
The 21st-century economy is converging with existing technologies like proprietary and open-source software, the Internet, robotics, and the Cloud; with emerging technologies like artificial intelligence (AI), machine learning (ML), IoT, nanotechnology, and biotechnology. And to add to all this is the collection, curation, and processing of vast quantities of data and information – all converging at breakneck speeds resulting in the blurring of boundaries between humans and machines. The 21st century job market is experiencing a technological revolution that is changing faster than ever, and organizations, along with today's workforce, must learn how to cope and adapt.
BL-012 : A Quick Start Guide to Writing a Technical or Research Paper
Kirk Paul Lafler, SasNerd
Writing a technical or research paper is an essential skill needed by academics, researchers, scientists, and many professionals as it permits the effective communication of literature research, methodologies, and findings to others in your profession and to the world. So, how do you begin writing a technical or research paper? This quick start guide will provide step-by-step instructions, along with a few valuable tips and examples, to help you effectively navigate the writing of a technical or research paper. Regardless of whether you're already a skilled writer or just starting out, you will learn the essential elements and structure that is necessary to effectively communicate your research and findings to others in a technical or research paper.
BL-014 : Predicting the Impact of Storms on Utility Customers
David Corliss, Peace-Work
In an era marked by escalating storm severity and aging utility infrastructure, the ability to predict and mitigate the impact of weather-related events on utility services is more critical than ever. DTE Energy's Weather Analytics Model, an evolving application employing a suite of models to predict the impact of storm/weather activity on utilitycustomers and infrastructure. This model uses National Oceanic and Atmospheric Administration (NOAA) data to identify patterns in historical weather data to make predictions about current storm outage scenarios. This presentation discuss how DTE uses this application for actionable outcomes to minimize power disruption and optimize resource allocation during storm events. The presentation also describes how this approach can be applied to the prediction of other types of business risks.
BL-036 : SAS Job Searching and Interviewing tips – Strategies in the Post-Pandemic era
Jayanth Iyengar, Data Systems Consultants LLC
Searching for work in the data analytics market is more competitive than ever before. Part of this is due to the nature of the work environment, which has shifted from in office, on-site to remote and hybrid positions. Also, because of the emergence and growth of open-source tools, such as R and Python, candidates for SAS positions need to be familiar with these coding tools. In this paper, I'll outline tips and strategies for success in the application and interview process in the post-pandemic era. I'll also discuss the interview process in detail, from initial HR interviews to final interviews with a hiring manager.
BL-057 : Adventures in Independent Consulting: Perspectives from Two Veteran Consultants Living the Dream
Josh Horstman, Nested Loop Consulting
Richann Watson, DataRich Consulting
While many statisticians and programmers are content in a traditional employment setting, others yearn for the freedom and flexibility that come with being an independent consultant. In this paper, two seasoned consultants share their experiences going independent. Topics include the advantages and disadvantages of independent consulting, getting started, finding work, operating your business, and what it takes to succeed. Whether you're thinking of declaring your own independence or just interested in hearing stories from the trenches, you're sure to gain a new perspective on this exciting adventure.
BL-065 : Being A Statistical Expert Witness
David Corliss, Peace-Work
An expert in statistics can be asked to consult in several legal situations, including analysis and commentary on proposed legisation, expert analysis in legal cases, and coutroom testimony. This talk presents experiences as a statistical expert witness and the contexts where expert testimony is used, along with a brief discussion of requirements, professional background, preparation, and training on being an expert witness available from the American Statistical Association.
BL-074 : How to Land Work as a SAS Professional
Charu Shankar, SAS
By 2018 the United States could face a shortage of 140,000 to 190,000 people with deep analytical skills as well as 1.5 million managers and analysts with the know-how to use the analysis of big data to make effective decisions (source: Mckinsey report) This is a 50-60% gap between the supply and demand of people with deep analytical talent. So it must come as no surprise that finding SAS work is the question I am asked the most. daily I am inundated with resumes, and requests to connect on Linkedin and offers of coffee, tea and dinner. SAS is a highly valued skill and everyone wants the juice on what steps to take to land work. Time magazine rated SAS as the # 1 career skill in the data world. http://time.com/money/4328180/most-valuable-career-skills/. SAS is also the #1 skill to land a bigger paycheck according to this study. http://career-services.monster.com/yahooarticle/best-paid-job-skills#WT.mc_n=yta_fpt_article_best_paid_job_skills. To help fill the gap, At SAS I started helping our users to land work by creating a 21-day SAS challenge to identify their strengths. In this informative session I will share the 21 tips you can take away. I will also share tips from my own Job search and how I landed work as a SAS professional. At the end of this session you will also be provided an activity sheet for action items to do during the conference.
BL-094 : Is your resume "RAW DATA" or does it convey useful information for Decision Support?
Zeke Torres, Code629
There are many strategies regarding resumes and the strategy for a resume's outline, presentation and overall design. Times have changed. Yet the legacy myths, rumors and diverse and often divisive "suggestions", "comments" persist and confuse those urgently trying to get their foot in the door. This topic will: a. Give you a former tech recruiters (your speaker) overview of "WHY" the job search process is what it is and how to understand it to your advantage. b. Review which type of "Credentials and Experience" document(S) you should have at the ready and when to use them. c. Review what level of position you seek is best for which type of "CED" aka resume. d. Review the job search cycle and the pro's and con's of using- recruiters, job search engines, direct to hire and more recently - job search scams and fraud issues. e. Review ways to curb frustration by taking control of your job search process and doing your own analysis of the results your getting - or not getting. f. Review the variety of social media considerations YOU need to be aware of and consider the relevance for your own search. g. Assist with making a personal check list of items to get working on to get back on the path to a more constructive and positive job search experience. h. Mythical Fears. The younger individuals feel they dont have sufficient experience. And the more "mature" individuals feel they have outdated skills. Lets discuss how that issue with those segments is not what "YOU" think it is. This topic is ideal for HOW style as we will review a various facets of the resume, job search process. The attendees would benefit from having their laptops able to search and work on their own items. The person who would benefit does not need to be actively searching for a job. They may be considering a future change or advancement. The topic will cover how to leverage those ideal circumstances and how to best prepare.
BL-098 : The Premium Pricing Dilemma
Sai Suresh Marreddy, Mr.
Kusuma Lanka, Ms.
Setting the right price for premium subscription services is a critical challenge for businesses across industries like media, technology, and retail. Our research offers a strategic, data-driven approach to help companies determine the most effective premium pricing to boost customer acquisition, retention, and profitability. We analysed a variety of key factors, such as customer preferences, competitor pricing, operational costs, and regional economic conditions. By using methods like churn analysis and customer lifetime value (CLV), and leveraging SAS® for statistical modelling, we aim to understand how changes in pricing impact both customer behaviour and business outcomes. Our aim is to deliver practical recommendations that executives can quickly put into action. By offering a data-driven approach, our research helps businesses confidently determine the ideal price for their premium services. It's focused on leveraging data effectively to drive decisions that foster both revenue growth and sustained profitability, while avoiding unnecessary complexity.
BL-103 : Simplify Complex SAS® Logic through the Power of Bit Level Data Comparison
Kent Phelps, Illuminator Coaching, Inc.
Ronda Phelps, Illuminator Coaching, Inc.
Business requirements are built on a foundation of business rules that guide the business logic in your SAS® programs. Business logic often becomes more complex than it needs to be ~ making it challenging to design simple and efficient programs. Our presentation highlights a powerful data transformation and analysis tool called Bit Level Data Comparison. This tool was designed in SAS and other languages and successfully used in a variety of industries to simplify complex business logic. Join us for a great opportunity to learn how to replace long lines of repetitive complex logic with simple concatenations and SELECT WHEN statements. You will be empowered to break down and map business logic into bit levels and groups of flags, codes, values, and indicators in various combinations. Bit Level Data Comparison will expand your toolkit and enable you to design programs that are more enjoyable and easier to code, read, update, and maintain.
Hands-On Workshop
HW-013 : Dashboards Made Easy Using SAS® SoftwareKirk Paul Lafler, SasNerd
Organizations around the world develop business intelligence and analytics dashboards, sometimes referred to as enterprise dashboards, to display the status of "point-in-time" metrics and key performance indicators. Effectively designed dashboards extract real-time data from multiple sources for the purpose of highlighting important information, numbers, tables, statistics, metrics, performance scorecards and other essential content. This Hands-On Workshop (HOW) and paper provides attendees with essential rules for "good" dashboard design, the metrics frequently used in dashboards, and the use of best practice programming techniques in the design of quick and easy dashboards using SAS® software. Learn essential programming techniques to create real-world dashboards using Base-SAS® software including PROC SQL, macro, Output Delivery System (ODS), ODS HTML, ODS Excel, ODS Layout, ODS Statistical Graphics, PROC SGPLOT, PROC SGPIE, and other techniques.
HW-039 : Complex Custom Clinical Graphs Step by Step with SAS® ODS Statistical Graphics
Richann Watson, DataRich Consulting
Josh Horstman, Nested Loop Consulting
The ODS Statistical Graphics package is a powerful tool for creating the complex, highly customized graphs often produced when reporting clinical trial results. These tools include the ODS Statistical Graphics procedures, such as the SGPLOT procedure, as well as the Graph Template Language (GTL). The SG procedures give the programmer a convenient procedural interface to much of the functionality of ODS Statistical Graphics, while GTL provides unparalleled flexibility to customize nearly any graph that one can imagine. In this hands-on workshop, we step through a series of increasingly sophisticated examples demonstrating how to use these tools to build clinical graphics by starting with a basic plot and adding additional elements until the desired result is achieved.
HW-055 : Advanced Topics in ODS Graphics: Annotations, Attribute Maps, and Axis Tables
Josh Horstman, Nested Loop Consulting
The ODS Statistical Graphics package included in Base SAS provides a robust and flexible set of of tools for producing professional-looking graphics. This workshop will introduce three advanced tools that extend the functionality of the statistical graphics procedures: annotations, attribute maps, and axis tables. Through a series of hands-on exercises, discover how you can take advantage of these features to create impressive and highly customized graphs.
HW-064 : An Animated Guide to the Internals of GIT
Russ Lavery, Contractor
Competency in Git and Git-Hub are skills that employers are demanding. Some employers, as part of the hiring process, are checking the Git-Hub repositories of candidates. This HOW, due to time constraints, will do a deep dive into some of GIT but will be light on the topic of merge conflicts and will not cover any Git-HUB.. GIT has a complicated internal structure and the content of that internal structure changes over time. This animated, cartoon like, treatment shows the changing internals of GIT and allows an attendee to match the "reports" returned by Git commands (checkout, diff, diff –staged, HEAD, etc) to the Git internals. This avoids the common problem of needing to define terms using undefined terms that is common on YouTube. This HOW SHOWS what Git is doing and asks you to explain the action in your own words.
Pharma, Healthcare & More
PH-037 : NHANES Dietary Supplement component: a parallel programming projectJayanth Iyengar, Data Systems Consultants LLC
The National Health and Nutrition Examination Survey (NHANES) contains many sections and components which report on and assess the nation's health status. A team of IT specialists and computer systems analysts handle data processing, quality control, and quality assurance for the survey. The most complex section of NHANES is dietary supplements, from which five publicly released data sets are derived. Because of its complexity, the Dietary Supplements section is assigned to two SAS programmers who are responsible for completing the project independently. This paper reviews the process for producing the Dietary Supplements section of NHANES, a parallel programming project, conducted by the National Center for Health Statistics, a center of the Centers for Disease Control (CDC).
PH-038 : Harnessing the Power of PROC CONTENTS and SELECT INTO: SEPARATED BY
Yanfang Pang, AbbVie
Statistical programmers working on clinical trials often need to create SDTM (Study Data Tabulation Model) and ADaM (Analysis Dataset Model) datasets. These datasets are critical for analyzing and interpreting the trial results. In some cases, the programmers derive these datasets from existing ones by extracting, transforming, or modifying attributes of the data. However, doing this manually can be time-consuming. The SAS PROC CONTENTS procedure provides metadata about datasets such as variable names, labels, and data types. The SQL SELECT INTO: SEPARATED BY statement can store variables of interest into a macro variable. By combining these two techniques, programmers can efficiently extract and transform data as well as generate new datasets. This paper shows how to use this approach to create the EX (Exposure) dataset from the EC (Exposure as Collected) dataset by replacing "EC" with "EX" in the variable names and labels. It also demonstrates creating the ADDS (Disposition Analysis Dataset) dataset from the DS (Disposition) and SUPPDS (DS Supplemental Qualifiers) datasets, improving efficiency. Additional benefits highlighted in the paper include avoiding listing all related variables, increased speed, and reduced errors.
PH-081 : Tapping the Power of SAS PRX Functions
John LaBore, SAS
SAS programmers learn to use many basic SAS functions within the DATA step, but typically only a few advanced users learn about the SAS PRX (Perl Regular Expression) functions and call routines. The SAS PRX functions provide a powerful means to handle complex string manipulations by enabling the same end result with fewer lines of code, or by enabling the analysis of data previously out of reach of the basic string manipulation functions. The PRX functions and call routines that became available in SAS 9 are accessible within the DATA step, and are tools that every advanced SAS programmer should have in their toolkit. A subset of these PRX functions are already available in SAS Viya. Examples are provided in SAS 9 and in SAS Viya to give a quick introduction to the syntax, along with a review of the resources available to the programmer getting started with PRX functions.
PH-092 : SAS Programming And Generic Techniques for Cohort Creation and Consort Diagrams
Brandy Sinco, University of Michigan
Title: SAS Programming And Generic Techniques for Cohort Creation and Consort Diagrams Background: A consort diagram is documents the selection and exclusion criteria for a health study and is displayed as a flowchart. Inclusion of a consort diagram is essential for publication in medical and public health journals. SAS contains many excellent tools for querying a database to produce a cohort for a health study and to document every step for the consort diagram. Objectives: This presentation will demonstrate useful SAS and generic programming techniques to select a cohort for a medical study, such as: • Attribute statements for labels and formats. • Naming variables after the creators of the coding algorithm. • Converting character variables to numeric. • Re-scaling time variables to start at zero. • Advantage of the "where" statement in the data step. • Using a SAS format to query diseases or medical procedures. • Using Proc SQL to select average cases per facility, in case the researcher wants to exclude facilities with an average annual case volume below a threshold.
PH-097 : Deploy a fresh new project folder based on the previous one using SAS® since you still havent gotten with GIT.
Zeke Torres, Code629
If you manage projects that have a cyclical nature such as "monthly", "quarterly". And/or you simply need to deploy a "new one" based on the contents, folder structure of the "last one". This is the snippet of SAS® code for you. We will review a novel way to audit the last project folder and use that to deploy the next one. We will also compare and contrast to how this is exactly what GIT is meant to do for us. The topic will review the same process with and with out GIT and how both methods can also complement each other in some circumstances. This is an ideal topic for those who may or may not be using GIT but might some day. We will use SAS features such as: Macro's and some additional functions to scan folders for us to see how best to deploy our new round of folders. We will also review some of the features of "OPTIONS" that are relevant to the LIBNAME and how the combination interact with the operating system at compile time and then subsequently at run time. The benefit of this method is a consistent image of folders, files, contents from its parent or source folder. Reducing errors of omission and also errors of typos. We will also see some examples of how this method (and/or using GIT) along with some minor project code adjustment - can really improve your work flow. Where for example we eliminate or reduce having to adjust lots places where we have hard coded values like "yyyy/mm/dd" for a specific date relevant to the project cycle we have.
PH-099 : From Paper To Pedigrees: A Beginners Approach with SAS
Vijay Susmitha Bommini, Michigan Technological University
Hospital paper records data differ significantly from Electronic Health Records (EHR) data in terms of their format, structure, maintenance, and accessibility. Paper records are typically unstructured, and manually entered which often leads to errors in the entry of information and makes it difficult to obtain complete and accurate data. This paper explores how SAS was effectively used to transform these unstructured hospital paper records into a structured format as part of the "Utility of Family Data Extracted from Hospital Records" project at Marshfield Clinic Research Institute (MCRI). This involved a series of steps, from abstracting the paper records data into REDCap electronic form followed by comprehensive data conversion, cleaning, and transformation steps utilizing SAS. As a beginner in SAS, I utilized the SAS Enterprise Guide, focusing on PROC SQL, Data Steps, and conditional logic to manage data extraction, cleaning, and transformation. The goal was to create actionable and reliable datasets from hospital paper records information compliant with the Family Mapping Algorithm (FMA), which establishes familial relationships using demographic and contact information. This paper is intended for beginners and aims to provide practical insights and offer a pathway into how SAS was used for transforming valuable paper records information into structured data suitable for analysis that can be further used as needed for various purposes.