SESUG 2022 Conference Proceedings

Track
Development and Support
Industry Applications
Leadership, Careers and Planning
Learning SAS I
Learning SAS II
Showcasing SAS
Statistics, Analytics and Reporting

Development and Support

Paper | Authors | Title | Key Takeaways
--- | --- | --- | ---
Paper 121 | Kirk Paul Lafler and Stephen Sloan | Application of Fuzzy Matching Techniques Using SAS® Software - A Panel Discussion | Fuzzy matching techniques are available with most, if not all, the leading software languages including R, Python, Java, and others (RosettaCode, 2018). SAS Institute offers four techniques for its users: the Soundex (phonetic matching) algorithm, and the SPEDIS, COMPLEV, and COMPGED functions to help make fuzzy matching easier and more effective (Sloan and Lafler, 2018 and 2021).
|  |  | The Soundex (phonetic matching) algorithm involves matching files on words that sound alike. Although the Soundex algorithm does a fairly good job with English-sounding names, it frequently falls short when dealing with the multitude of data sources found in today's world economy where English- and non-English sounding names are commonplace. The SPEDIS, or Spelling Distance, function and its two arguments evaluate possible matching scenarios by translating a keyword into a query containing the smallest distance value. Because the SPEDIS function evaluates numerous scenarios, it can experience varying performance issues in comparison to other matching techniques.
|  |  | The COMPLEV, or Levenshtein Edit Distance, function is another fuzzy matching SAS technique. COMPLEV counts the minimum number of single-character insert, delete, or replace operations needed to determine how close two strings are. Unlike the SPEDIS function and COMPGED function (discussed later), the COMPLEV function assigns a score for each operation and returns a value indicating the number of operations. The COMPGED function is another fuzzy matching technique which is facilitated by a SAS function. It works by computing and using a Generalized Edit Distance (GED) score when comparing two text strings. The Generalized Edit Distance score is a generalization of the Levenshtein edit distance, which is a measure of dissimilarity between two strings (Teres, 2011).
Paper 123 | Angye Rivero and Osmel Brito Bigott | Orchestrating and triggering SAS process execution from custom process control tables | etl processes
Paper 135 | KANNAN DEIVASIGAMANI | Names From Template | Helps code faster, reduce code, power-programming avoid manually copying variable names from a dataset and including in a keep statement to limit variables
|  |  | Saves time, lines of code, manual repetitive work, minimizes manual errors
|  |  | Saves time to the developer especially while dealing with datasets with numerous variables
Paper 139 | Stephen Sloan | Twenty Ways to Run Your SAS® Program Faster and Use Less Space | When running complex programs using large data bases, it's important to stay within the confines of your storage and not have excessive run times. There are simple techniques you can use in your programs to design in efficiency.
Paper 140 | Stephen Sloan | Reducing the space requirements of SAS® data sets without sacrificing any variables or observations | Through appropriate use of macros and SAS metadata you can reduce the space needs of hundreds of variables in a single program
Paper 162 | david horvath | Pol-y-mor-phism in SAS, Or, Good Programmers are Lazy | maros are fun
|  |  | your macros can have multiple definitions -- producing different results depending on when/where run
Paper 163 | david horvath | Data Wrangling in a Highly Regulated Industry | Data is complicated and concerning
|  |  | Code/Applications are complicated and concerning
|  |  | You have to be careful out there!
Paper 165 | Aaron Brown | Utility Macros to Check for Changes in Macro Variables, Options, or Formats in SAS® | Changing settings can introduce unexpected bugs.
|  |  | Programmatically checking if settings (formats, macro variables, etc.) can help debugging.
|  |  | Code could be expanded to check for other settings, e.g., library references.
Paper 174 | Troy Hughes | Calling for Backup When Your One-Alarm Becomes a Two-Alarm Fire: Developing SAS® Data-Driven Concurrent Processing Models through Control Tables and Dynamic Fuzzy Logic | Concurrent processing is faster than serialized process flows.
|  |  | Modular software design, in which components can be executed singly, promotes parallel design.
|  |  | Control files (such as SAS data sets that operated as control tables) can be used to communicate among separate sessions of SAS that are executing different components of the same workflow concurrently.
Paper 210 | ALAN CHURCHILL | SaviApp - An Analysis Toolkit for SAS Environments | An easy to use toolkit that is available, for free, to use for SAS environment analysis
Paper 233 | Isaiah Omerhi | Long to Wide Format | Pro Transpose is a a great SAS function to reshape datasets

Industry Applications

Paper | Authors | Title | Key Takeaways
--- | --- | --- | ---
Paper 127 | Richann Watson and Karl Miller | Standardized, Customized or Both? Defining and Implementing (MedDRA) Queries in ADaM Data Sets | Standardized MedDRA Queries are used to group preferred terms that help define a specific medical condition or define a particular area of interest.
|  |  | Standardized MedDRA Queries can help to refine the list of preferred terms based on scope. Narrow scope for specificity analysis and narrow plus broad scope for sensitivity analysis.
|  |  | Standardized MedDRA Queries are pre-defined lists associated with a specific MedDRA dictionary version. While Customized Queries are sponsor specific lists.
Paper 166 | Bobbie Frye | Using SAS® to Prepare Postsecondary Data Partnership (PDP) Data Submission Files | Will become aware of the Postsecondary Data Partnership.
|  |  | Plan how SAS can be utilized to efficiently prepare PDP data files
|  |  | Understand how to get started with the data submission process
Paper 177 | Suresh Acharya | One Click Excel Cleanup - Generate High Quality SDTM/ADAM Specification | Excel clean up on one click
|  |  | SDTM/ADaM specification markups clean up
|  |  | Standard formatted Excel document
Paper 184 | Brooke Ellen Delgoffe and Steffani Roush | REDCap: Your SAS Friend for EHR Manual Abstraction | What REDCap is and why you should use REDCap
|  |  | How SAS talks to REDCap (PROC HTTP)
|  |  | What solutions are available for exporting from REDCap, token security, and file clean-up
Paper 188 | hui wang, Shirong Huang, Emma Zhou and Erin Martin | A two-staged local regression based binning method for weight of evidence transformation in credit scoring models | The paper provided a LOESS regression based method to calculate WOE in credit risk scorecard modelling which enables the transformed variable to make business soundness and to have minimized information loss
Paper 192 | Harshita Budumuru | SAS Heatmaps in the Analysis of Real Estate Markets | Heatmaps in Real estate data analysis
Paper 193 | Rafae Abdullah, Sucharitha Vallabhaneni and Jaideep Muley | To Lend, or Not to Lend, That Is the Question! Evaluating Loan Application with Machine Learning | Value of machine learning model.
Paper 209 | Stephen Sloan, Kevin K. Gillette, Sushil B. Kumar and Puspita Kumari Padhi | A unique and innovative end-to-end demand planning and forecasting process using a collection of SAS products | SAS products cast a wide net. It's possible to combine them in innovative ways to provide a seamless product for the client.
Paper 215 | Bruce Nawrocki, Scott Proescholdbell, Shana Geary and Mike Dolan Fliss | Using SAS to Geocode Injury-related Deaths in North Carolina | You can use SAS to geocode street addresses to determine points to map
|  |  | SAS can determine which points lie inside each geographic area, defined by Shape file-sets
|  |  | No need to purchase additional software tools or licenses
Paper 217 | Kelly Smith | Equity Data and SAS®: Modeling Intersectionality | intersectionality
Paper 220 | Roberta Glass | Using a Hash Table to Add Diagnosis Related Information to a Health Claims File | Hash tables are an efficient way to add information to very large data files.

Leadership, Careers and Planning

Paper | Authors | Title | Key Takeaways
--- | --- | --- | ---
Paper 109 | Kirk Paul Lafler | Exploring the Skills Needed by the Data Scientist | Wikipedia describes data science, "as the profession to unify statistics, data analysis, mathematics, computer programming, operations research, machine learning and related methods in order to understand and analyze actual phenomena with data and enhance decision making.”
|  |  | The Bureau of Labor Statistics (BLS) (accessed on April 9th, 2021) projects that Employment of computer and information research scientists is projected to grow 15 percent from 2019 to 2029, much faster than the average for all occupations.
|  |  | Professionals possessing data science and analytics skills are highly sought after skills and are experiencing an exponential rate of growth.
Paper 143 | Stephen Sloan | Developing and running an in-house SAS Users Group | Working together with SAS Institute you can create and run an in-house SAS Users Group tailored to your organizations specific requirements.
Paper 147 | Lauren Rackley | Acing Technical Questions in SAS Programmer Interviews | Demonstrating SAS proficiency may be necessary to get hired.
Paper 171 | David Corliss | Data for Good: Statistical Volunteering with SAS and How to Get Involved | There are many diverse opportunities for volunteering
|  |  | Volunteering offers benefits, including new experiences, networking, and career development
|  |  | What we do for work makes a job - what we give away defines our career
Paper 202 | Josh Horstman and Richann Watson | Adventures in Independent Consulting: Perspectives from Two Veteran Consultants Living the Dream | TBD
Paper 212 | Brian Varney | Organizational Considerations When Replacing or Adding a New Software Language | Prep for new software package
Paper 216 | Kelly Smith | SAS, SAS Coders, and IDEA (Inclusion, Diversity, Equity, Accessibility) | SAS and IDEA
Paper 218 | Anne Oxenreider | Leading Change: Using Data and Feedback to Launch a Strategic Plan or New Initiative | Insights of employees in advance of a new strategic planning cycle or implementation of a new initiative builds inclusion and belonging
|  |  | Sharing emerging data about clients, customers, and students and then eliciting analysis from employees is a way to increase employee satisfaction
Paper 219 | David Maddox | A Brief History of SAS® Software, from a User's Perspective | SAS is a great toolset to have over the life of your career. It allows you to keep up with new developments in computing and analysis.

Learning SAS I

Paper | Authors | Title | Key Takeaways
--- | --- | --- | ---
Paper 106 | Osmel Brito Bigott, Yenireth Gil and María Victoria Daboín | Working with large decimals: how precise is my data with SAS ? | working with numeric data an databases
Paper 107 | Richann Watson and Louise Hadden | Functions (and More!) on Call! | CALL subroutines are similar to SAS functions; however, you cannot use CALL subroutines in expressions or assignment statements, nor can they be nested.
|  |  | SAS has a myriad of CALL subroutines and functions, however, there may be situations where what you need is just not available as a pre-defined SAS subroutine or function. PROC FCMP allows you to create your own subroutine or function.
Paper 112 | Kirk Paul Lafler | Demystifying PROC SQL Join Algorithms | A join of two or more tables provides a means of gathering and manipulating data in a single SELECT statement. Joins are specified on a minimum of two tables at a time, where a column from each table is used for the purpose of connecting the two tables using a WHERE or ON clause.
|  |  | When it comes to performing PROC SQL joins, users supply the names of the tables for joining along with the join conditions, and the PROC SQL optimizer determines which of the available join algorithms to use for performing the join operation. There are four algorithms used in the process of performing a join: - Nested Loop – A nested loop join algorithm may be selected by the SQL optimizer when processing small tables of data where one table is considerably smaller than the other table, the join condition does not contain an equality condition, first row matching is optimized, or using a sort-merge or hash join has been eliminated. - Sort-Merge – A sort-merge join algorithm may be selected by the SQL optimizer when the tables are small to medium size and an index or hash join algorithm have been eliminated from consideration. - Index – An index join algorithm may be selected by the SQL optimizer when indexes created on each of the columns participating in the join relationship will improve performance. - Hash – A hash join algorithm may be selected by the SQL optimizer when sufficient memory is available to the system, and the BUFFERSIZE option is large enough to store the smaller of the tables into memory.
|  |  | There are operational and syntax differences between inner (natural) and outer joins. Like an inner join, an outer join relates rows in both tables. But this is where the similarities end because the result table also includes rows with no related rows from one or both of the tables. This special handling of "matched” and "unmatched” rows of data is what differentiates an outer join from an inner join.
Paper 116 | Kirk Paul Lafler and Josh Horstman | The Battle of the Titans (Part II): PROC REPORT versus PROC TABULATE | Our focus for this paper and presentation is to explore an assortment of scenarios describing general concepts that users will most likely encounter when using PROC TABULATE and PROC REPORT.
|  |  | The primary goals for PROC TABULATE are to form and present hierarchical tables of summary statistics using the data values of classification variables to define hierarchies. PROC TABULATE supports three-dimensional tables, tables with pages, rows, and columns. TABULATE was designed to support arbitrarily complex nestings and concatenations of table elements in each dimension. So TABULATE provides users with a lot of flexibility.
|  |  | The syntax for TABULATE is a challenge for a lot of users. Some form of simplification was in order. The approach taken with PROC REPORT is to limit the number of dimensions and to support a simpler COLUMN statement. Even that COLUMN statement had to be complex enough to support nestings of ACROSS variables and other elements. It is also necessary to offer detail reports with more formatting options than PROC PRINT afforded. PROC REPORT supports both GROUP and ORDER variables to generate both summary and detail reports.
Paper 136 | Isaiah Gerber | Have your cake and eat it too: Automated, sequential SAS batch jobs conditional on programmed log review. | Customizable, automated log review can be easily intertwined with batch processing to help assist with quality control on large jobs.
Paper 148 | Joe DeShon | Finding Duplicate Names and Addresses in Your Consumer Database | Base SAS can be used to detect duplicates in your consumer database
Paper 152 | Ronald Fehd | Using SQL Dictionaries to Research the Global Symbol Table | proc sql; describe table dictionary.dictionaries; quit; compare to proc contents data = sashelp.class; run;
|  |  | list of column names are delimited by commas: select libname, memname, varnum, name, type
|  |  | values of libname and memname are in UPPERCASE: where libname eq "%upcase(&libname)" and memname eq "%upcase(&memname)"
Paper 153 | Richann Watson | Have a Date with ISO®? Using PROC FCMP to Convert Dates to ISO 8601 | While SAS has a number of functions and subroutines to handle a variety of things, they do not have one for converting dates to the ISO 8601 format. With PROC FCMP you can create your own functions and subroutines to do this conversion and save it to a permanent library for others to use.
|  |  | PROC FCMP allows you to nest most functions and subroutines in order to achieve the necessary result.
|  |  | PROC FCMP allows you to reuse existing functions to customize to meet your needs.
Paper 154 | Richann Watson | What's Your Favorite Color? Controlling the Appearance of a Graph | SAS has over 50 different ODS styles that can be used for ODS statistical graphics, and the different elements can be modified using different techniques to achieve the desired outcome.
|  |  | Creating an attribute map data set is a way to modify colors outside of the graph statements. This allows for a quick way to change colors without changing the program.
Paper 157 | Tamar Roomian | Leveraging the CONTENTS PROCEDURE for easier SET statements | The meta data generated by the OUT= statement of PROC CONTENTS can be leveraged to resolve two common problems when setting multiple data sets sharing the same variables: variables of different types and variables of different lengths.
Paper 164 | Dane Korver | A Gentle Introduction to Creating SAS Graphs | Creating a simple bar chart
|  |  | Creating a side-by-side bar chart
|  |  | Specifying colors
Paper 179 | jinson erinjeri | REST API for the Weary Beginner | what is API and how does it work?
|  |  | How can we use SAS and Python to get information via API's?
Paper 187 | Quentin McMullen | Offensive Programming: A Threesome of Error-Throwing Macros | A program that fails quietly is a nightmare.
|  |  | When a program fails, it should fail loudly.
|  |  | You can increase your confidence in the quality of your results by writing assertions that validate your assumptions about the data and algorithms.
Paper 191 | Paul Dorfman | Array Searching Algorithms and Techniques | Learn about basic array searching algorithms.
|  |  | Learn how to implement them in the SAS Language.
|  |  | Learn which searching scheme to choose under which searching scenarios.
Paper 195 | Alissa Wise | Take the Train to Transpose | Encouragement
|  |  | Professional Development
|  |  | Laughter
Paper 197 | William Smith | Learning Fun(damental) Character String Cleaning and Parsing Methods in SAS! | Character parsing in SAS can be easy and fun!
|  |  | SAS has many functions built in to handle a vast array of character manipulation techniques.
Paper 199 | Aleksandar Nikolic | Don't be so One-Dimensional: How to Engineer Multi-Dimensional, High Cardinality Categorical Inputs for Machine Learning | Traditional categorical encoding techniques fall short when working with transactional data.
Paper 203 | Josh Horstman | Getting Started with DATA Step Hash Objects | placeholder
Paper 221 | Lauren Rackley and Josh Horstman | The PRXMATCH Function: A Perl of Great Price | How to write a regular expression

Learning SAS II

Paper | Authors | Title | Key Takeaways
--- | --- | --- | ---
Paper 167 | Andrew Kuligowski | PARSING: Using SAS® When the Data Are Hiding in a Non-Standard Format | You can handle challenging data, one step at a time
Paper 108 | Kirk Paul Lafler | Enhancing Your Skillset with SAS® OnDemand for Academics (SODA) Software | SAS OnDemand for Academics (SODA) provides learners and educators with comprehensive cloud-based software and a graphical user interface called SAS Studio.
|  |  | Software and resources are available for developing analytical knowledge and include: - Free teaching and curriculum development content. - Free e-learning courses: - SAS® Programming 1 - Statistics 1 – Introduction to ANOVA, Regression, and Logistic Regression - An online interactive community – https://communities.sas.com/t5/SAS-Software-for-Learning/bd-p/sas-learning. - SAS Tutorial Videos – https://video.sas.com/category/videos/how-to-tutorials . - The SAS Cloud – Upload up to 5GB of data for learning purposes.
|  |  | SAS OnDemand for Academics (ODA) provides learners and educators with a comprehensive cloud- and web-based user interface called SAS Studio. SAS Studio provides numerous user-friendly features to help users become more productive while using the SAS ODA. To begin, open one of the supported web browsers (e.g., Google Chrome, Mozilla Firefox or Apple Safari) to access SAS ODA by clicking the following hyperlink, https://www.sas.com/en_us/software/on-demand-for-academics.html, and then clicking the "Access Now”. The SAS Studio User Interface provides users with a powerful and easy-to-use interface and a comprehensive integrated development environment (IDE). The SAS Studio interface is divided into several parts that help make user interaction easier, Navigation pane, and Work area more convenient. Let's explore the different parts of SAS Studio to better understand what they're used for. After signing into SAS Studio, Server Files and Folders provide users with the ability to upload local data files. There are four more dropdown menus below Server Files and Folders, two of which will be emphasized, Tasks and Utilities, and Libraries. SAS Studio's point-and-click navigation provides users with a powerful, flexible, and easy to use approach to auto-generating SAS code for all types of SAS processing. The objective of this paper is to demonstrate the many capabilities that SAS OnDemand for Academics (ODA) and SAS Studio offers users including creating new SAS libraries; establishing library references (LIBREFs); uploading SAS data sets, tab-delimited, CSV, and Excel data files in the cloud; importing tab-delimited, CSV, and Excel data files to SAS data sets using tasks and utilities; and producing results using the Navigation pane.
Paper 110 | Kirk Paul Lafler | Essential Programming Techniques Every SAS® User Should Learn | What essential programming techniques should SAS users learn? For some, essential programming techniques include arrays, faster programming constructs and table lookups. For others, essential programming techniques include modernizing outdated, statements, functions, options, coding constructs, algorithms and other techniques with newer, faster and more scalable programming techniques.
|  |  | Page numbering is the process of applying a sequence of numbers, Roman numerals, or letters on reports, spreadsheets, documents, books or other multi-page files. Page numbers can be produced and displayed in RTF output by specifying an escape character with an ODS RTF statement, any of the following functions, and an ODS RTF CLOSE ; statement: - {thispage} - {lastpage} - {pageof}
|  |  | Statistics show that the world's most used software application is Microsoft Excel®. Due to this dominance, SAS provides users with several ways to send results, tables, statistics, images and other output directly to an Excel spreadsheet. %macro multExcelfiles ; proc sql noprint ; select count(distinct origin) into :morigin_cnt /* derive number of origins */ from sashelp.cars order by origin ; select distinct origin into :morigin_list separated by "~" /* derive unique origin values */ from sashelp.cars order by origin ; quit ; %do i=1 %to &morigin_cnt ; ods Excel file="e:/%SCAN(&morigin_list,&i,~)_FreqReport (MultiExcelFiles).xlsx" style=styles.barrettsblue ; title "Cars with Origin in %SCAN(&morigin_list,&i,~)" ; proc freq data=sashelp.cars(where=(origin = "%SCAN(&morigin_list,&i,~)")) ; tables type ; format msrp dollar12.0 ; run ; quit ; title ; ods Excel close ; %end ; %put &morigin_list ; %mend multExcelfiles ;
Paper 158 | david horvath | Processing Complex Data Types in SAS and Python | Various tools provide means of processing complex data types
Paper 205 | Josh Horstman | Map It Out: Using SG Attribute Maps for Precise Control of PROC SGPLOT Output | SG Attribute Maps can be used to associated specific plot attributes with specific data groups in PROC SGPLOT and other ODS Statistical Graphics procedures.

Showcasing SAS

Paper | Authors | Title | Key Takeaways
--- | --- | --- | ---
Paper 228 | Barbara Okerson, Ivan Flores Martinez, Hong Li, Di Zhu, Joshua Cook, Rafae Abdullah and Sucharitha Vallabhaneni | Student SAS Showcase: SAS in the University | Student SAS Use in the University is varied and distributed among many departments.
Paper 102 | Bruce Gilsen | Simplified Linux SAS ® Log Comparison: Filtering Differences Into "Useful" and "Useless" Files | SAS logs often compared with Linux diff command. Manual comparison can be difficult because diff file results have lots of useless differences like minor differences in CPU or Real time and Page heading date/time differences.
|  |  | The DIFFSPLIT macro splits diff results into "useful" and "useless" files to make it easier to search for meaningful differences
|  |  | DIFFSPLIT macro can be extended based on which differences are meaningful to you.
Paper 124 | Ronald Fehd | Q&A with the macro maven: is sql our lingua franca? | Kirk Paul Lafler PROC SQL: Beyond the Basics Using SAS(R), Third Edition https://sasinstitute.redshelf.com/book/1878360
|  |  | Sigurd Hermansen Ten Good Reasons to Learn SAS Software's SQL Procedure https://support.sas.com/resources/papers/proceedings/proceedings/sugi22/ADVTUTOR/PAPER35.PDF
|  |  | https://en.wikipedia.org/wiki/Lingua_franca
Paper 149 | Imelda Go and Abbas Tavakoli | PROC IMPORT: Controlling SAS Data Types and Character Variable Lengths When Reading CSV Files | How to control data types for CSV files in PROC IMPORT
|  |  | Can create workarounds based on an understanding of how SAS works
Paper 156 | Ronald Fehd | Introduction To SCL Functions For Macro Programmers | scl functions for datasets: open("&data") ... close(ds_id) allow programmers to read each cell in the data set 2-D matrix
|  |  | There are two list processing programs shows in this paper: call-include and call-macro.
|  |  | Check out to fetch a list of files in a directory: files-in-directory and macro files_in_directory.
Paper 168 | Andrew Kuligowski | Quote the SASLOG(r) | You can write a routine to explore data where the specifications are iffy.
|  |  | You can write a routine to explore your own routine, treating your code as data.
Paper 213 | Andrew Walker | Why Write Base SAS Code When the Macro Processor Can Do It for You | Understand macro variables and programs.
|  |  | Utilize the macro processor.
Paper 214 | Ronald Fehd | Q&A with the macro maven: Do we need Macros? An Essay on the Theory of Application Development | reusable programs can be either of: * %include with global macro variables as parameters * macros with parameters; code needs %if or %do
|  |  | for either you need an autoexec * filename filerefs for %include * filename fileref for options sasautos = (project site_mac)
|  |  | Test-Driven Development: * use sashelp datasets for testing * in macros set defaults of named parameters: (data = sashelp.class, ...)

Statistics, Analytics and Reporting

Paper | Authors | Title | Key Takeaways
--- | --- | --- | ---
Paper 105 | Melvin Alexander | Use of JMP®'s Prediction Profiler to Predict Outcomes of Acute Spinal Cord Injury | JMP®'s Prediction Profiler, Desirability Functions, and Monte Carlo simulator tools demonstrated medical advances that led to a better understanding acute traumatic cervical spinal-cord injuries.
|  |  | The predictors identified by JMP®'s Prediction Profiler helped guide medical clinicians of the need and timing of surgery that led to satisfactory neurological recovery of trauma patients with Acute Traumatic Central Cord Syndrome (ATCCS).
|  |  | This and other studies showed that the average lesion length and the measure of spinal cord compression (MSCC) were the most powerful influences on improved ASIA grade conversion (i.e., largest difference between Follow-Up ASIA and Admission ASIA scores) one year after surgery.
Paper 134 | Abbas Tavakoli, Kathrine Jones and Phyllis Raynor | Using Parallel Analysis to Determine the Dimensionality of Students' Perspectives of Online Caring | Instrument analysis
|  |  | Parallel analysis
|  |  | Using SAS to analyze
Paper 144 | Stephen Sloan and Kevin Gillette | Assigning agents to districts under multiple constraints using PROC CLP | Sometimes a feasible solution is "good enough" and we don't need to expend resources looking for the "best solution".
Paper 146 | Raj Bhosale | Using SAS® Data Integration Studio as an effective Data Virtualization Tool | How to create an effective dataset from several underlying sources of data for reporting and dashboard application.
Paper 169 | Kevin Gittner, Niloofar Ramezani and Katherine Mobley | Embracing Cross-Loading to Improve Latent Variable Models Fit: A comparison of available options in SAS, Mplus, and R | Understand flexible approaches in latent variable analysis available to researchers to improve model fit.
|  |  | Offer methodological guidance in software choices when estimating latent variable models with cross loadings for all items in a model.
|  |  | Provide researchers with a guide to execute exploratory structural equation modeling in SAS.
Paper 170 | David Corliss | Cutting Edge Regression Methods: Ridge, LASSO, LOESS, and GAM | Ridge and LOESS regression can address multicollinear data.
|  |  | Often, more than one method can be applied to the same problem. Try multiple methods and test the results to see which works best.
Paper 172 | David Corliss | Time Series Analysis of School Shootings as Stochastic Terrorism | Analysis finds two eras in school shootings, with a new type of attack beginning c. 1991
|  |  | The modern pattern of attacks is highly variable with more victims and mortality but fewer wounded
|  |  | Modern pattern characterized by stochastic terrorism: instigators motivating attackers to violence through indirect communication
Paper 178 | Jingwei Wu and Di Zhu | A SAS Macro to Calculate Blinding Index in Clinical Trials: %blinding_index , an application of PROC IML | A useful SAS Macro to compute Blinding Index so that people can evaluate the success of blinding in clinical trials.
Paper 182 | Barbara Okerson | Cliometrics: An Underused Quantitative Approach to History | The field of cliometrics applies analytics to the study of history.
|  |  | Counterfactual analysis determines the impact of an event by considering what would have happened without its presence.
Paper 185 | Austin Brown | A SAS Macro for Implementing a Nonparametric Control Charting Scheme for Individual Observations | The audience will learn how to effectively implement a novel charting technique via SAS in their own workplaces through a practical example.
Paper 186 | Donald Warden and Yu Jiang | A SAS Macro That Automates Model Fitting of Group-Based Trajectory Modeling Using Proc TRAJ | Utilizing this macro, group-based trajectory modelling is easier and more accurate.
Paper 198 | Tyler Hicks and Graham Rifenbark | Invoking Survey Weights to Calculate Bayes' Factor with PROC MCMC to Generate More Generalizable Inferences | The rationale for using sample weights when testing for population differences.
|  |  | The differences and similarities between Bayesian and frequentist approaches to testing for population differences.
|  |  | How to calculate a Bayes Factor with sampling weights using PROC MCMC
Paper 204 | Josh Horstman | Using the Output Delivery System to Create and Customize Excel Workbooks | placeholder
Paper 222 | Mostafa Zahed and Maryam Skafyan | Application of Feature Selection and Dimension Reduction Techniques on Large-Scale CT Dataset for Lung Cancer Diagnosis Based on Radiomics | Radiomics, Segmentation, Dimension Reduction, Features Extraction
|  |  | Application of Feature Selection and Dimension Reduction
Paper 227 | Jim Blum | Custom Panel Graphs Using PROC TEMPLATE | Templates provide flexibility beyond what is available in SGPLOT
|  |  | Template has a high learning curve, so only use it if you need it.
Paper 230 | Yue Pan | Using SAS Macro and ODS Output to efficiently examine the descriptive and analytic statistics in epidemiology studies | Using SAS Macro and ODS Output to efficiently examine the descriptive and analytic statistics in epidemiology studies
Paper 232 | Devi Sekar | Excel with ODS Excel Destination and Proc Report! | learn Proc Report Features
|  |  | to be able to work with ODS EXCEL destination
|  |  | Learn ODS EXCEL Suboptions