SESUG 2020 Conference Proceedings
|Analytics Leadership and Open Analytics|
|Paper 101||Brian Varney||Getting Started with SAS Viya and the R SWAT Package||
Using the R SWAT package with SAS Viya gives a user the flexibility of using the R programming language on data sitting in a SAS Viya CAS library.
Using the R SWAT package will allow SAS and R developers to collaborate more easily using the same data sources.
|Paper 103||Melvin Alexander||Model Comparison of Machine Learning Techniques to detect signs of Penetrating Abdominal and Pelvic Injuries using Base JMP and R Integration||Combining SAS and JMP with open source technologies like R expands and extends the data visualization and statistical analytics capabilities of analysts, statisticians, and data explorers.|
|Paper 122||Kirk Paul Lafler||Exploring Professional Data Science / Analytics Skills||
Data is everywhere. And because data has found its way into virtually every aspect of our lives, the multidisciplinary
field of data science / analytics is experiencing huge growth, soaring expectations, and interest from students,
academics, industry, Government, and the world in general. As a multidisciplinary field, data science / analytics
requires technical skills in mathematics; statistics; programming languages such as Python, R and SAS; SQL;
data acquisition, cleaning, transformation, and visualization; AI; and machine learning. Non-technical skills
include critical thinking; research; business knowledge; storytelling; and verbal and written communications.
In Merrimack College's article on “Data Science and Analytics Trends for 2019“, they project that “The Federal Government will experience a 19% growth rate in the field of computer and information research scientists by 2026.“
The following list of technical and non-technical skills highlights the common (or core) elements / skills deemed as essential building blocks for students seeking degrees and certifications from these institutions.
|Paper 135||David Horvath||Handling complex data sources in Python and SAS using Jupyter Notebook in SAS University Edition VM||Will cover consumption of complex data files using SAS and Python|
|Paper 104||Hengwei Liu||Check the aCRF through Programming||use regular expression to analyze texts|
|Paper 106||Peter Zsiga||Using Proc Report to Produce Easy to Understand Student Performance and Progress Analyses for Educators||
SAS is for schools
SAS colors visualize data across variables
Proc Report is adaptable and malleable
|Paper 108||Hengwei Liu||Some Korn Shell Scripts for SAS Programmers||use short Linux shell scripts to handle text files.|
|Paper 137||Chris Smith and Josh Horstman||Upgrading Clinical Trial Reports from ODS LISTING to ODS TAGSETS.RTF||
The reader will learn how to use ODS TAGSETS.RTF to produce RTF files.
The reader will learn how to use style overrides (i.e. STYLE= and ~S=) in order to enhance or customize the RTF outputs.
The reader will overcome PROC REPORT options available for the ODS LISTING destination that are not available in ODS TAGSETS.RTF such as HEADLINE, HEADSKIP, SPACING=, WIDTH=, SPLIT=, and SKIP.
|Paper 148||Jayanth Iyengar||NHANES Dietary Supplement component: a parallel programming project||
The process for creating public use files for National Health Surveys
The pros and cons of parallel programming
|Paper 153||Amarnath Vijayarangan, Sarah Anderson, Santhiya Poongavanam and Aravind Umapathy||Analysis and Reporting of Reactogenicity Events in Vaccine Clinical Trials||Reactogenicity Events in Vaccine Clinical Trials|
|Paper 156||Kelly Smith||Equity Data: Using SAS® to Establish the Baseline||Data should be thoroughly understood before selecting interventions and
policy changes to improve educational equity.
SAS offers a variety of useful procedures for the analysis and visualization of equity data.
The choice of procedure depends on the question being asked, the type of variable being used, and the audience who will use the infromation.
|Paper 159||Noga Meiry-Lewin, Aimee Wahle, Amarnath Vijayarangan and Abigail Matthews||Learning from Experience Requires a Collaborative Team Effort: an Integrated-Software Solution for Automated and Reliable Distributed Reporting System.||
collaboration of multiple expertise
building on previous experience while learning from others
|Know Your SAS: Advanced Techniques|
|Paper 109||Robert Matthews||RUN; RUN; RUN; - Methods for Running Multiple Programs in a Series||
Methods for running multiple programs
SAS macro concepts
|Paper 112||Peter Knapp||Log Reviewing Made Easy||Log Review Ease|
|Paper 113||Kannan Deivasigamani||UFO Search||
Automate repetitive things
Use the power of macros and become a power user
Reduce key strokes while accomplishing more by converting even small tasks to macros that can be called by an auto-call library (maclib)
|Paper 119||Kirk Paul Lafler||An Introduction to SAS® DATA Step Hash Programming||
A hash object is a data structure that contains an array of items that are used to map
identifying values, known as keys (e.g., employee IDs), to their associated values
(e.g., employee names or employee addresses). As implemented, it is designed as a DATA step
construct and is not available to any SAS PROCedures.
A hash object permits table lookup, match/merge, sort and transpose operations to be performed often faster than other available methods found and used in the SAS system.
Users with DATA step programming experience will find the hash object syntax relatively straight forward to learn and use. Available in all operating systems running SAS 9 or greater, the hash object is called using methods. The syntax for calling a method involves specifying the name of the user-assigned hash table, a dot (.), the desired method (e.g., operation) by name, and finally the specification for the method enclosed in parentheses.
|Paper 134||David Horvath||Wildcarding in Where Clauses||SAS provides many ways of searching text fields|
|Paper 138||David Horvath||Code Generating Code: An alternative to Macros||Self-generated code as an alternative to macros|
|Paper 139||David Horvath||Executing long-running processes under UNIX/Linux||It is better to execute long running SAS programs under the command line!|
|Paper 144||Thomas Billings||Joining SAS® and a Complex, Sparsely Populated Database for Machine Learning/Data Mining||SQL and the DATA step are complementary and both are very useful tools when joining SAS with databases.|
|Paper 145||Thomas Billings||User-Written Functions to Check for SAS® Macro Quoting Triggers||The K-functions available in SAS are useful to internationalize the handling of string data.|
|Paper 146||Thomas Billings and James Walker||Efficiently Apply a Change File to a Large File via DATA Step MODIFY and _IORC_||DATA step MODIFY allows programmers to update a vary large file with a change file, efficiently.|
|Paper 149||Alexander Feigin||The efficient alternative to LAG function without LAG's pitfalls||Simple way to combine values from as many as needed preceding records belonging only to the same BY-group without using LAG function|
|Paper 150||Jayanth Iyengar and Josh Horstman||Look Up Not Down: Advanced Table Lookups in Base SAS||
The advanced table lookup methods available in BASE SAS
The advantages and disadvantages of varous table lookup methods
|Paper 152||Jason Su||A Game Plan for Beating the IF-THEN-ELSE Overhead in DATA Steps||
There are an array of efficient tools which may be great alternatives to the traditional
IF-THEN construct, depending on the circumstances.
The game plan serves as one exemplary and straightforward guideline to assist fellow SAS programmers in landing an alternative tool with much reduced or no overhead.
|Know Your SAS: Foundations|
|Paper 102||Brian Varney||Data Step versus Everybody: Approaching Problems as a Beginning Coder||
There is not one consistent go to tool for every data processing task.
Knowing multiple tools such as the SAS Data Step, PROC SQL, and other SAS procedures will definitely make you a much more effective and efficient problem solver.
|Paper 107||Bruce Gilsen||Tales from the Help Desk: How the Problems Get Solved||
Minimizing the data required to solve problems makes debugging easier
Writing DATA step or macro variable values concisely make debugging easier
Some reasons a program might stop working even though the user did nothing
|Paper 110||Aaron Brown||Custom Errors, Warnings, and Notes in SAS®, Plus a Somewhat Practical Use of PROC EXPLODE||
You can add custom-made notes, warnings, or errors to the SAS log.
PROC EXPLODE can be used to print very large comments, to help a reader notice them.
|Paper 116||Stephen Sloan||Twenty Ways to Run Your SAS® Program Faster and Use Less Space||
Why it's important to have programs run faster and use less space
Where the different methods are most appropriate
How to shrink numeric and character variables
|Paper 118||Stephen Sloan||Running Parts of a SAS Program while Preserving the Entire Program||
Why we need to run part of a program but keep the entire program
How to run part of a program but keep the entire program
Which method is appropriate in different circumstances
|Paper 168||Imelda Go||Controlling the Order of Data in SAS||Custom sort order|
|Planning and Data Architecture|
|Paper 123||Kirk Paul Lafler||Exploring the MSGLEVEL= SAS® System Option and PROC SQL _METHOD Option||
SAS users can control how much information the SAS System writes to the SAS log by
specifying the MSGLEVEL= SAS System option in an Options statement. The MSGLEVEL=
option supports two possible values: N (which is the default) to print standard notes,
warnings, and error messages; and I to print standard notes, warnings, error messages,
plus additional information about sort, merge, and index processing.
The PROC SQL _METHOD option can be specified as an effective way to analyze a query process or for debugging purposes. Processing information from the _METHOD option is automatically displayed on the Log using a variety of codes.
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 four available join algorithms to use for performing the join query operation.
|Paper 129||Stephen Sloan||Reducing the space requirements of SAS® data sets without sacrificing any variables or observations||
Understand the process of shrinking SAS variables, and thus observations
Knowing why some variables can be shrunk more than others
How to appraise the results of running the program to reduce the size of SAS data sets
|Paper 142||Stephen Sloan||Getting a Handle on All of Your SAS® 9.4 Usage||
How to look for SAS objects using the Unix or Windows operating system
How to categorize the results
Why we would want to search for SAS objects outside of SAS
|Paper 164||Rajasekar Sundaram and Kiran Venna||Data Security in SAS® using Encryption and Hashing||data security using encryption and hashing|
|Paper 167||Allan Bowe and Krishna Acondy||Building SAS® Powered Web Applications with the SASjs Framework||
Building complex web applications with SASjs reduces project risk and helps maintain delivery velocity
Building apps with SASjs means they can be easily ported to SAS Viya
The only SAS tool you need to build web apps is SAS Studio (or Enterprise Guide)
|Reporting and Visualization|
|Paper 121||Kirk Paul Lafler||Making Your SAS® Results More Meaningful with Color||
Make sure any background color being used in your results is consistent and avoids the use
of gradients. Also, use background and foreground colors that contrast sufficiently with the
visual being used.
Best practice graphical techniques emphasize essential visual elements in a graph or chart for maximum effectiveness. Here are a few things to consider:
|Paper 136||David Horvath||Lazy Programmers write Self-Modifying code OR Dealing with XML file Ordinals||SAS has effective tools for processing XML files|
|Paper 140||Pravinvijay Varatharaj||Transform a SAS dataset to an Excel file format on the Linux server using the Python script||Integration python and SAS|
|Paper 141||John Taylor||Custom SAS Studio Tasks for All Occasions||
Custom SAS Studio Tasks can be developed by anyone for almost any purpose.
There are a limited number of references on the topic of developing custom SAS Studio Tasks.
SAS can be used for much more than just industry problems.
|Paper 143||Louise Hadden||Visually Exploring Proximity Analyses Using SAS® PROC GEOCODE and SGMAP and Public Use Data Sets||
PROC GEOCODE, included in BASE SAS, is an incredible SAS(R) asset, allowing practitioners
to pinpoint geographic locations at fine levels.
Public use data in the geographic and analytic areas can be valuable resources for the SAS programmer.
SAS ODS graphics and SAS/GRAPH procedures allow SAS programmers to produce data visualizations effectively and attractively.
|Paper 154||Ross Bettinger||Outlier Detection and Treatment||
Outliers in a set of data may contain important information about the process that generated
the data and ought not to be simply discarded.
There are many techniques for identifying outliers and many techniques for properly including them in a model.
The SAS macro, %LOF_LoOP, may be used to detect and label outlying observations for additional analysis and modelling using the Local Outlier Factor and Local Outlier Probability algorithms.
|Paper 155||Amarnath Vijayarangan||Log the SAS Log Analyzer for Audit||Better way of documenting of SAS Log for Audit|
|Paper 163||Ballari Sen||Creating Data Listings Utilizing PROC Procedures||Creation of Data Listings Utilizing SAS SQL Procedures|
|Statistics and Data Analysis|
|Paper 105||Deanna Schreiber-Gregory||A Doctor's Dilemma: How Propensity Scores Can Help Control For Selection Bias in Medical Education||
Propensity scores are applicable in educational research
Propensity scores are simple to create and there are many uses for them
|Paper 131||Stephen Sloan and Lindsey Puryear||Advanced Project Management beyond Microsoft Project, Using PROC CPM, PROC GANTT, and Advanced Graphics||
The logic behind PROC CPM and PROC GANTT
How to bring project requirements into SAS
How to format the output
|Paper 157||Yida Bao and Philippe Gaillard||Application and comparison with several types of Ensemble Algorithms||Ensemble algorithm|
|Paper 165||Martha Pohl||SAS GRAPH Animation Examples used in Data Visualization of Analytical Procedures with Public Federal Data||
Displaying Cardinality of Sets using Venn Diagrams
Animation is a tool for data analysis
Visual displays enhance the quantification of data
|Paper 111||Abbas Tavakoli, Jacob Kay and Navid Tavakoli||Using GENMOD to Calculate Prevalence Ratio for Concussion and Suicidal behaviors among U.S. High School Students||
Examine the relationship of concussion with attempt to suicide
weighted and unweighted sample calculated
|Paper 132||Kirk Paul Lafler||A Visual Step-by-step Approach to Converting an RTF File to an Excel File||A file's format determines what you can do with it and which programs
can open it. Essentially a file' format is composed of its own language where the format
is understood by a specific application and/or platform.
Rich Text Format (RTF) files were first developed by Microsoft in 1987. RTF lets users exchange text files between different word processors in different operating systems. Saving files in RTF ensures that documents can be opened regardless of the type of word processor being used.
The Excel (XLSX) extension is an open source XML-based filename format developed by Microsoft in 2005 for Office Excel 2007 SP2 and above. XLSX files can be opened and edited with Excel (version 2007 and above), Google Sheets, Zoho Docs, Kingsoft Spreadsheets, OpenOffice Calc, and other software.