HOME QUICK SEARCH AUTHORS KEYWORDS HELP BUGS

SESUG 2021 Papers - Index

67 papers. Source: SESUG (SouthEast SAS Users Group) conference proceedings.

# Title
×
Authors
×
Abstract
×
Keywords
×
Extras Pages
1 "Bored"-Room Buster Bingo - Create Bingo Cards Using SAS ODS Graphics Richann J. Watson,
Louise S. Hadden
Let's admit it! We have all been on a conference call that just … well to be honest, it was just bad. Your misery could be caused by any number of reasons - or multiple reasons! The audio quality was bad, the conversation got sidetracked and focus of the meeting was no longer what it was intended, there could have been too much background noise, someone hasn't muted their laptop and is breathing heavily - the list goes on ad nauseum. Regardless of why the conference call is less than satisfactory, you want it to end, but professional etiquette demands that you remain on the call. We have the answer - SAS-generated Conference Call Bingo! Not only is Conference Call Bingo entertaining, but it also keeps you focused on the conversation and enables you to obtain the pertinent information the conference call may offer proc step, sample, proc surveyselect, rand, graph template language, proc template source 12
2 A Configuration File Companion: testing and using environment variables and options; templates for startup-only options initstmt and termstmt Ronald J. Fehd macro put, macro variable, proc sql, proc freq source 17
3 A Macro to Utilize a Nonparametric Multiple Stream Process Quality Control Chart in SAS Austin R. Brown Statistical process control charts have been shown to be useful tools in monitoring and improving the quality of a variety of processes over the past century. For a control charting scheme to be successful, it should be chosen to match the specifications of the process to be monitored. For example, there may be instances when several processes which are assumed to be identical and desired to be monitored simultaneously rather than independently. Such a process is commonly referred to as a "multiple stream process (MSP)." Control charts designed for MSP monitoring have typically assumed that the observations being monitored follow a Normal distribution. This assumption may not always be met, in which case, the existing charts begin to become inefficient at detecting anomalies in the process being monitored sample, dataset, proc step, proc sql, macro variable, create table, proc freq, proc means, numeric variable, binomial distribution source 10
4 A Quick Look at Fuzzy Matching Programming Techniques Using SAS Software Stephen B. Sloan,
Kirk Paul Lafler
Data comes in all forms, shapes, sizes and complexities. Stored in files and data sets, SAS users across industries know all too well that data can be, and often is, problematic and plagued with a variety of issues. Two data files can be joined without a problem when they have identifiers with unique values. However, many files do not have unique identifiers, or "keys", and need to be joined by character values, like names or E-mail addresses. These identifiers might be spelled differently, or use different abbreviation or capitalization protocols proc step, proc sql, character variable, proc sort, sas function, missing value, data cleaning, numeric variable, data transformation, proc format, order by, proc contents, proc print, character functions, proc transpose source 28
5 A SAS Macro Program to Calculate the Fragility Index Tamar C. Roomian Fisher's Exact Test is a statistical test used to determine the statistical significance of a 2x2 contingency table when the sample size in any of the cells is <5. In comparative research healthcare studies where the outcome of interest is rare, statistical significance can be easily flipped by changing a small number of events. Feinstein first proposed the Fragility Index (FI) as a measure to determine the statistical stability. The Fragility Index is the number of outcomes required to reverse statistical significance and can be used to assess the statistical stability of studies with rare outcomes. To our knowledge, there is currently no existing SAS macro program that can calculate the FI and FQ. We have created a SAS macro program that calculates the number of event switches required to flip a 2 - sided Fisher's exact test for a list of studies. Researchers can then calculate descriptive statistics on the FI to assess statistical stability within a field of study fisher exact test, macro definition, exact test, sample size, proc means, sample, proc freq source 9
6 A SAS Toolbox for File and Folder Manipulation: Copy, Rename, Delete, or Zip via Functions or X Commands Aaron Brown This paper discusses various utilities within SAS for manipulating folders and files within a Windows environment, including creating folders, copying files, renaming files, deleting files and folders, and zipping folders. It includes examples of using tools like X commands, the DLCREATEDIR option, the macro language, and functions like FDELETE and FCOPY. We first discuss several tools, then show two sample projects that utilize them libname statement, txt, macro variable, sample, call execute, proc step source 16
7 Asking the Right Questions: Designing Surveys to Produce Valid and Reliable Results Barbara B. Okerson Writing questions that produce accurate, reliable and valid assessments of conditions and opinions is critical for any survey. This is not easy. Not only are both the wording and structure of questions important, but also any subtle relationships between questions that could impact how the respondent feels about these questions. Additionally, each of the questions must produce discriminating answers, be unbiased and provide information that serves the goal of the survey. Ideally questions should be pretested to assess reliability and validity but many times today, surveyors do not have either the time or the budget for rigid pre-assessment. This paper provides a checklist for writing survey questions on the fly that can produce the needed results data science, sample size source 7
8 Assigning Agents to Districts Under Multiple Constraints Using PROC CLP Stephen B. Sloan,
Kevin K. Gillette
The Challenge: assigning outbound calling agents in a telemarketing campaign to geographic districts. The districts have a variable number of leads and each agent needs to be assigned entire districts with the total number of leads being as close as possible to a specified number for each of the agents (usually, but not always, an equal number). In addition, there are constraints concerning the distribution of assigned districts across time zones, in order to maximize productivity and availability. Our Solution: uses the SAS/OR procedure PROC CLP to formulate the challenge as a constraint satisfaction problem (CSP), since the objective is not necessarily to minimize a cost function, but rather to find a feasible solution to the constraint set proc step, macro variable source 9
9 Back to Basics: Running an Analysis from Data to Refinement in SAS Deanna Naomi Schreiber-Gregory Data Science is the new Space Race, launching us into a world of immeasurable possibility, but with only a few people to help us navigate it. As we dig deeper, discover more, and risk more, we can be simultaneously led to both great insight and loss. If we do not know what we are doing, Data Science can be a very dangerous thing. It is important for us all to learn at least a little bit about the possibilities and risks of this field of study, so we can navigate it together. This paper was written to give individuals new to SAS and/or Analytics a gentle nudge in the direction of the possibilities available through Data Science and SAS. It is designed to help you navigate through the process of data exploration by using publicly available COVID 19 data. We have all seen how fragile this data reporting can be, and this paper uses this fragility to help explain the dangers of an inappropriately implemented analytic process data science, nominal variable, missing value, null hypothesis, response variable, predictor variable, numeric variable, sample, sample size, logistic distribution, randomization, regression analysis, binary variable, interval variable source 21
10 Badge in Batch with Honeybadger: Generating Conference Badges with Quick Response (QR) Codes Containing Virtual Contact Cards (vCards) for Automatic Smart Phone Contact List Upload Troy Martin Hughes Quick Response (QR) codes are widely used to encode information such as uniform record locators (URLs) for websites, flight passenger data on airline tickets, attendee data on concert tickets, or product information on product packaging. The proliferation of QR codes is due in part to the broad dissemination of smart phones and the accessibility of free smart phone applications that scan QR codes . With the ease of QR code scanning has come another common QR code usage -the identification of conference attend ees. Conference badges, emblazoned with attendee -specific QR code s, can communicate attendee txt, sample source 14
11 Base SAS & SAS Enterprise Guide: Automate Your SAS World with Dynamic Code Your newest BFF (Best Friend Forever) in SAS Kent Phelps,
Ronda Phelps
Communication is the foundation of all relationships, including our SAS relationship with the Server, PC, or Mainframe. To communicate more efficiently and to increasingly automate your SAS World you will want to learn how to transform static code into dynamic code that automatically re-creates the static code, and then executes the re -created static code automatically. Our presentation highlights the powerful partnership that occurs when dynamic code is creatively combined with a dynamic FILENAME statement, the SET INDSNAME option, a Macro variable, and the CALL EXECUTE command within one SAS Enterprise Guide program node. You have the exciting opportunity to learn how to design dynamic code forward and backward to re-create static code while automatically changing the year filename statement, call execute, macro variable, sas enterprise guide, sas base source 23
12 Coarsening Continuous Variables: An Automated Method to Create Categorical Version of Continuous Variables While Mitigating Loss of Precision Zach Acuff Researchers often want to create a categorical version of a continuous variable, perhaps for analytical purposes or to make potentially identifying information more secure for public consumption. Although there are already several ways to categorize continuous data, going from a continuous to a categorical variable necessarily involve some loss of precision that may not be desirable. This paper describes a SAS macro which presents a novel method for automatically categorizing continuous data with minimal user input. This method creates a categorical version of a continuous variable such that 1) each categorical value occurs at least as often as the user desires, and 2) the total difference between the actual continuous values and their categorical counterparts is minimized to the extent the macro is able interval variable, do loop, proc freq, nominal variable, macro variable, discretization, macro loop, %if-%then-%else source 10
13 Converting Remeasurement Data into Percentile Ranks Based on Baseline Data Using PROC SQL: Patient Experience Measures for CMS Value-Based Purchasing Program Jenhao Jacob Cheng As postulated by the Centers for Medicare and Medicaid Services (CMS) for hospital quality incentive built upon the inpatient quality measurement and reporting, Value-Based Purchasing (VBP) program started its first payment adjustment in FY 2013 by evaluating the achievement and improvement among hospitals in both clinical quality and patient experience domains. To further evaluate the consistency across different measures, patient experience data were required to be converted into percentile ranks based on the baseline distribution. This paper presents two SQL based methods with various options for converting the remeasurement data points into standardized percentile ranks according to the distribution in baseline measurement, with features and comparisons discussed. These rank based distribution-free methods are implemented mainly by PROC SQL as well as PROC UNIVARIATE and DATA STEP through SAS 9.4 Software proc step, sample size, sample, proc sql, lookup, proc univariate, group by, cross join source 7
14 Copying Data Between SAS and JSON Files Bruce F. Gilsen JavaScript Object Notation (JSON) is an open standard file format and data interchange format used for some of the same purposes as XML. More information about JSON is readily available on the internet. Starting in SAS 9.4, you can copy SAS data sets to JSON files with PROC JSON. Starting in SAS 9.4TS1M4, you can copy JSON files to SAS data sets with the JSON engine. This paper provides basic information and some relatively simple examples. It also discusses ongoing research on how to copy JSON files into SAS in an automated way dataset, proc step, proc json, macro variable, sas library, character variable, libname statement, proc sql, json, length statement, numeric variable, proc datasets, ordinal variable, sysdate9, date variable source 30
15 Developing Ethical Data Use and Users Kelly D. Smith Just because we can, should we? Has the ability to analyze data outpaced the growth of data ethics? After a short review of ethics and the current state of data ethics, join a discussion of where we are, where we want to be, and how to get us there. Should data ethics training be required? What are the options to promote ethical data use and deter poor ethical choices? data science, machine learning source 7
16 Different Ways to Create Patient Profiles Hengwei Liu In the patient profiles, the demographics and baseline characteristics, the safety information such as adverse events, concomitant medication and laboratory results are all closely and neatly packed into a few pages. This is different from the way we create with SAS for clinical study report the after-text tables where we display only one table on each page. The ODS LAYOUT in SAS, R shiny, and R markdown can be used to stack multiple tables on top of each other. The data _NULL_ with put statement in SAS can be used to output an HTML file for this purpose as well. In this paper we discuss these different methods for the generation of patient profiles put statement, concomitant medications, data step, adverse events source 8
17 Differentiate Yourself Kirk Paul Lafler Today's job, employment, contracting, and consulting marketplace is highly competitive. As a result, SAS professionals should do everything they can to differentiate and prepare themselves for the global marketplace by acquiring and enhancing their technical and soft skills. Topics include describing how SAS professionals should assess and enhance their existing skills using an assortment of valuable, and "free", SAS-related content; become involved, volunteer, publish, and speak at in-house, local, regional and international SAS user group meetings and conferences; and publish blog posts, videos, articles, and PDF "white" papers to share knowledge and differentiate themselves from the competition statistical software, big data source 18
18 Dressing Up your SAS/GRAPH and SG Procedural Output with Templates, Attributes and Annotation Louise S. Hadden Enhancing output from SAS/GRAPH has been the subject of many a SAS paper over the years, including my own and those written with co-authors. The more recent graphic output from PROC SGPLOT and the recently released PROC SGMAP is often "camera-ready" without any user intervention, but occasionally there is a need for additional customization. SAS/GRAPH is a separate SAS product for which a specific license is required, and newer SAS maps (GfK Geomarketing) are available with a SAS/GRAPH license. In the past, along with SAS/GRAPH maps, all mapping procedures associated with SAS/GRAPH were only available to those with a SAS/GRAPH license. As of SAS 9.4 M6, all relevant mapping procedures have been made available in BASE SAS, which is a rich resource for SAS u sers, and in SAS 9.4 M7, further enhancements were provided proc step, proc sgplot, sas base, proc greplay, histogram, sample, bubble plot, proc gmap, output delivery system source 16
19 Exploring the Skills Needed by the Data Scientist Kirk Paul Lafler As 2.5 quintillion bytes (1 with 18 zeros) of new data are created each and every day, the age of big data has taken on new meaning. More and more organizations across industries are embracing Data Science / Computer Research Scientist skills resulting in an emerging demand for qualified and experienced talent. According to the Bureau of Labor Statistics (BLS) the number of data science jobs is expected to grow 19 percent over the next two decades - nearly three times as fast as the average growth rate for all jobs. Energized by this employment outlook, students and professionals across job functions are preparing for tomorrow's growing data science / analytic demands by acquiring a comprehensive skill set. To prepare for this growing demand, many colleges, junior colleges, Universities, and vocational training organizations offer comprehensive degrees and certificate programs to fulfill the increasing demand for analytical skills data science, proc sql source 7
20 Finding variable names and count of variables with missing values at various positions within an observation using SAS arrays Kiran Venna SAS arrays make it easy to find variable names or count of variables with missing values at various positions within an observation. In this paper, we will discuss four different scenarios of finding variable names/counts of missing values. The first scenario is finding all variable names which have missing values within an observation. The second one is finding the variable name of the first occurrence of missing value within an observation. The third one is finding the count of missing variables that are present in observation after at least one non-missing value. Finally, the last one is finding the total count of consecutive missing values only from the beginning and end of observation. All these scenarios will be discussed with relevant examples along with sample data and code. Keywords SAS Array, do loop, dim function, vname function missing value, array, do loop source 6
21 From %Let to %Local; Methods, Use, and Scope of Macro Variables in SAS Programming Jayanth Iyengar Macro variables are one of the powerful capabilities of the SAS system. Utilizing them makes your SAS code more dynamic. There are multiple ways to define and reference macro variables in your SAS code; from %LET and CALL SYMPUT to PROC SQL INTO. There are also several kinds of macro variables, in terms of scope and other ways. Not every SAS programmer is knowledgeable about the nuances of macro variables. In this paper, I explore the methods for defining and using macro variables. I also discuss the nuances of macro variable scope, and the kinds of macro variables from user-defined to automatic macro variable, call symput, macro put, proc sql, into, automatic macro variable, sas log, proc step, macro definition, symbol table, cpu time, macro facility, macro parameter, call symputx, local symbol table, macro quoting function, compilation phase, put statement, macro trigger, global symbol table, variable, %macro parameters source 23
22 Getting Started with Attribute Maps: Methods for Creating and Storing Custom Style Definitions for Graphs, Charts, and Maps James E. Blum,
Jonathan W. Duggins
In this paper, methods for using attribute maps for controlling attribute map and a few simple examples to contrast setting styles via the map to setting them directly in the chosen ODS Graphics procedure. Both discrete attribute maps and range attribute maps are covered (note: range attribute maps are only available for SAS 9.4M3 and later releases). Advanced examples include defining multiple attribute maps in a single data set and using multiple attribute maps in the same graph. Strategies for making efficient, general use of attribute maps are presented. Attendees should have a decent working knowledge of the SGPLOT Procedure to get the most out of this presentation character variable, proc sgplot, proc step source 19
23 Getting Started with DATA Step Hash Objects Joshua M. Horstman The hash object provides a powerful and efficient way to store and retrieve data from memory within the context of a DATA STEP. This presentation will introduce the hash object, cover its basic syntax and usage, and walk through several examples that demonstrate how it can offer new and innovative solutions to complex coding problems. This presentation is intended for SAS users who are already proficient with basic DATA STEP programming hash table, set statement, conditional do loop, hash iterator, adverse events, dataset, concomitant medications, cpu time source 8
24 Getting Started with DATA Step Hash Objects Joshua M. Horstman The hash object provides a powerful and efficient way to store and retrieve data from memory within the context of a DATA STEP. This presentation will introduce the hash object, cover its basic syntax and usage, and walk through several examples that demonstrate how it can offer new and innovative solutions to complex coding problems. This presentation is intended for SAS users who are already proficient with basic DATA STEP programming hash table, set statement, conditional do loop, hash iterator, adverse events, dataset, concomitant medications, cpu time source 8
25 GIS Challenges of Cataloging Catastrophes: Serving up GeoWaffles with a Side of Hash Tables to Conquer Big Data Point-in-Polygon Determination and Supplant SAS PROC GINSIDE Troy Martin Hughes The GINSIDE procedure represents the SAS solution for point-in-polygon determination-that is, given some point on earth, does it fall inside or outside of one or more bounded regions? Natural disasters typify geospatial data -the coordinates of a lightning strike, the epicenter of an earthquake, or the jagged boundary of an encroaching wildfire-yet observing nature seldom yields more than latitude and longitude coordinates. Thus, when the United States Forestry Service needs to determine in what zip code a fire is burning, or when the United States Geological Survey (USGS) must ascertain the state, county, and city in which an earthquake was centered, a point-in-polygon analysis is inherently required. It determines within what boundaries (e.g., nation, state, county, federal par k, tribal lands ) the event occurred, and confers boundary attributes (e.g., boundary name, area, population) to that event cpu time, hash table, lookup, dataset, sas library, macro loop, big data, %if-%then-%else, proc gmap, data visualization, macro definition, proc step, macro variable, proc format source 28
26 Identifying Data Inconsistencies with SAS Imelda C. Go This paper goes over a quality control example on how to identify data inconsistencies when the expectation is data consistency. PROC MEANS is used to diagnose data inconsistency and to generate an output data set. This data set is then presented to the reader using PROC TABULATE, which helps present the inconsistencies in a way different from viewing a data set. For example, a test item appears on different test forms. The metadata for the same item are expected to be identical across test forms where the item appears. How can you easily confirm that the item metadata are identical across all test forms and how can you identify inconsistencies in a report that facilitates the identification and correction of the inconsistencies? With macro techniques, we can further automate this process to include output via ODS EXCEL for archiving and sharing our findings proc step, proc tabulate, proc sql, excel, create table, macro variable source 17
27 Looking for the Missing(ness) Piece Louise S. Hadden Reporting on missing and/or non-response data is of paramount importance when working with longitudinal surveillance, laboratory and medical record data. Reshaping the data over time to produce such statistics is a tried and true technique, but for a quick initial look at data files for problem areas, there's an easier way. This quick tip will speed up your data cleaning reconnaissance and help you find your missing(ness) piece. Additional tips on making true missingness easy to identify are included proc step, proc freq, missing value, proc report source 4
28 Management of Metadata and Documentation When Your Data Base Structure is Fluid: What to do if Your Data Dictionary has a Varying Number of Variables Louise S. Hadden A data dictionary for a file based on Electronic Medical Records (EMR) contains variables which represent an unknown number of COVID-19 tests for an unknown number of infants - there is no way to know in advance how many iterations of the COVID test variable will exist in the actual data file from medical entities. In addition, variables in this file may exist for three different groups (pregnant women, postpartum women, and infants), with PR, PP and IN prefixes, respectively. This presentation demonstrates how to ingest data dictionaries to collect metadata allowing identification of groups for processing, and drive label (and value label) description creation for iterated (and other) labels using SAS functions, PROC FORMAT, and DATA STEP processing, as well as other utilities data dictionary, label statement, proc format, dataset, proc step, sample, character functions, sas function, index source 12
29 May i? Lessons Learned from Using Nested DO Loops For a Family Card Game Julia M. Skinner SAS is used to solve a wide variety of complex problems. However, it can also be used on a smaller scale, and these projects often provide ample opportunities for learning both the technical and non- technical skills needed to tackle these larger projects. This paper describes the author's use of SAS to solve a small problem born of family bickering: the wager required per person for a card game. Using nested DO loops, this paper demonstrates how to determine all possible combinations of wagers that satisfy the stakeholders and describes the process taken to arrive at this solution. Despite the small scope and light-hearted nature of the exercise, there are several lessons that can be learned about SAS coding, requirements gathering and other skills that can be applied to solving more complicated real - world problems do loop, proc sql, proc step source 7
30 Missing Value Imputation Ross Bettinger Survey data are typically collected from people who respond to a set of questions presented to them by an interviewer or in response to questions on a website. Surveys are vulnerable to missing data due to nonresponse to specific items on the survey questionnaire. The process of replacing a missing value with a substituted value is called imputation, and many techniques have been developed to "plug the hole in the data" with an imputed value. We briefly summarize a number of imputation techniques and present an example of imputation using the fuzzy 𝑐-means clustering algorithm. Keywords Bias, census, clustering, complete case, enumeration, fuzzy 𝑐-means, imputation, Little's MCAR test, MAR, MCAR, missing data mechanism, missing value, MNAR, nonignorable, SAS PROC IML, PROC MI, survey questionnaire missing value, imputation, sample, regression analysis, multiple imputation, out=, estimate, phase i, mean imputation, proc calis, in=, missing at random, proc step, missing completely at random, proc iml, phase ii, macro definition, confidence interval, standard deviation, correlation, output delivery system source 34
31 Moving beyond Frequency and Percentage to Chi Square, t-Tests, and Correlation Analysis Kelly D. Smith When institutional research offices are overwhelmed with data requests, outgoing reports may be limited to frequencies and percentages. While an important first step, additional analysis and a deeper understanding of the data are just a few steps away. In this presentation, a typical data request for frequencies and percentages will be taken to the next level through the use of PROC FREQ, PROC CORR, and PROC TTEST. Data sets obtained from the UCI Machine Learning Repository are used for analysis. The UCI Student Performance data sets represent actual academic and demographic data of students from two Portuguese secondary schools. Participants will receive SAS code for analysis and visualization proc step, normal distribution, sas output, sample, proc freq, goodness of fit, numeric variable, p-value, correlation, missing value, proc corr, nominal variable, proc ttest, proc univariate, interval variable, parametric test, scatter plot, histogram source 12
32 NHANES Dietary Supplement component: a parallel programming project Jayanth Iyengar 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, dataset, proc step, proc sql, sample, create table, proc compare, quality assurance, if-then-else source 20
33 NOBS for Noobs David B. Horvath This mini-paper (and the resulting short session) is a focused discussion of the NOBS (number of observations) option on the SET statement. This includes one "gotcha" that I've run into with where clauses: NOBS is set before WHERE processing. If you have a reason to know the number of observations after the WHERE clause, another DATA STEP is needed where statement, set statement, proc step source 4
34 Page Margin Checking Macro for RTF files Lily Zhang,
Huei-Ling Chen,
Lei Sun,
Eric Qi
The Rich Text Format (RTF) file is the most popular output file format for clinical study reports. Different companies may have different standards for the format of Tables, Listings, and Figures (TLF) in the pharmaceutical industry. One such standard would be a general table format (e.g., title, footnote, table width, text font, border, or borderless). Other standards include page formats, for instance, page orientation and page margins. It is crucial to set up margin standards on every side of the page to avoid obscuring information when printed and bound. Thus, a programmer needs to ensure page orientation and margins of all RTF files in a deliverable package meet the criteria. Manually checking each file is not very practical, so we derived a macro for the task. This macro is easy to use to check RTF files from one or multiple folders. This paper will demonstrate the technique utilized in this macro and introduce the key RTF syntax that related page orientation and page margins ods rtf, excel source 8
35 PROC FORMAT for Scrappy SAS Users and Posh Programmers Rachel Straney Whether you are just starting out with SAS or have been using it for years - PROC FORMAT is one of the most important procedures that you can use. PROC FORMAT is a deceptively powerful procedure that can be used to label and stylize data values in various ways. It also has the ability to be leveraged for data creation. People may use this procedure for some of its fundamental uses, but there are many tools in the FORMAT procedure that can optimize your SAS program and save time. This paper will cover an introduction to the procedure, share ways that the procedure can be integrated with DATA STEP processing, and additional helpful tricks to make your programming easier format statement, dataset, proc freq, proc format, lookup, character variable, proc step, raw data source 12
36 PROC REPORT: Tips and Customizations for Quickly Creating Customized Reports Jonathan W. Duggins,
James E. Blum
Producing high-quality reports is a cornerstone of data science, statistics, and statistical programming careers. While PROC REPORT has been around in SAS since version 6, there is enough variety in what type of reports it can produce that students and practitioners alike are often unaware of some of its intricacies. We begin by reviewing the more similar usages (ORDER and GROUP) and some good practices for their use before going on to explore various applications of COMPUTE blocks. COMPUTE blocks provide multiple ways to customize the aesthetics of a report and so we conclude with a look at adjusting column, row, and cell styles based on columns that may or may not appear in the report. Each topic will be demonstrated via examples that show the code and results. Commented code and results will be available at jonathanduggins.com/conferences proc step, proc report, proc print, class variable, if-then-else source 15
37 SAS Macro to Identify Potentially Obsolete Variables in a File Thomas E. Billings The problem: you have SAS datasets and/or database tables and want to identify variables that might be obsolete. A SAS macro is presented that examines all the variables in each row of a file and determines the earliest and latest as-of dates/datetimes when each variable is populated. The macro requires that the file has an as-of date/DATETIME variable in each row, and that variable cannot be missing/null. The macro creates a SAS dataset with the derived by -variable metadata, and those metadata are easily tested to identify variables that may be obsolete/deprecated. Keywords: DATA STEP, RETAIN, CALL SYMPUTX numeric variable, character variable, dataset, macro variable, macro definition source 7
38 SAS Performance Tuning Techniques Kirk Paul Lafler The Base-SAS software provides users with many choices for accessing, manipulating, analyzing, and processing data and results. Partly due to the power offered by the SAS software and the size of data sources, many application developers and end-users are in need of guidelines for more efficient use. This presentation highlights performance tuning techniques for SAS users to apply in their applications. Attendees learn DATA and PROC STEP language statements and options that can help conserve CPU, I/O, data storage, and memory resources while accomplishing tasks involving processing, sorting, grouping, joining (merging), and summarizing data proc step, proc sql, options statement, cpu time, dataset, where statement, dictionary tables source 11
39 Screening, Binning, Transforming Predictors for a Generalized Logit Model Bruce S. Lund The generalized logit model is a logistic regression model where the target (or dependent variable) has 3 or more levels, and the levels are unordered. Predictors for the generalized logit model may be NOD (nominal, ordinal, discrete-numeric) where, generally, the number of levels is under 16. Alternatively, predictors may be continuous where the predictor is numeric and has many levels. This paper discusses methods that screen, bin, or transform the NOD and continuous predictors, as preparation for model fitting. These same methods also apply to the cumulative logit model (where the target is ordered). The binning methodology is applied to NOD predictors and generalizes the concept of information value. The method of transforming a continuous predictor is an extension of the function selection procedure (FSP) to the multinomial target. SAS macros are presented which implement the methods for screening, binning, and transforming. Familiarity with PROC LOGISTIC is assumed logistic regression, logistic distribution, sample, likelihood function, proc logistic, degrees of freedom, proc step, regression analysis, macro call, sample size, bootstrap, binary variable, maximum likelihood estimation, correlation, model training, hypothesis testing, response variable source 17
40 Side by Side Display of Table and Plot, Plot and Plot Hengwei Liu Programmers sometimes get request to display a table and a plot side by side or display two plots side by side. There are many tools and many ways to do this. The ODS LAYOUT in SAS can display a table and a plot side by side; the PROC SGPANEL or graph template language in SAS can display two plots side by side. R shiny can also perform these tasks. To display a table and a plot side by side you can specify two columns in the ui part of the R shiny program, one column for the table and the other for the plot. The R shiny package gridExtra can display two plots side by side. These different methods are discussed in this paper waterfall chart, percent change from baseline, graph template language, change from baseline, proc step, proc sgpanel source 11
41 So You Want To Be An Independent Consultant: 2021 Edition Joshua M. Horstman While many statisticians and programmers are content with a traditional employment setting, others yearn for the freedom and flexibility that come with being an independent consultant. While this can be a tremendous benefit, there are many details to consider. This paper will provide an overview of consulting as a statistician or programmer. We'll discuss the advantages and disadvantages of consulting, getting started, finding work, operating your business, and various legal, financial, and logistical issues. The paper has been recently updated to reflect the new realities of independent consulting in 20 21 and beyond auto insurance, current account source 12
42 Some Linux Shell Scripts for SAS Programmers Hengwei Liu Many pharmaceutical companies use SAS on Linux server. Linux shell scripting is a power tool for the SAS programmers. It can be used to read text files and extract information. It can be used to do some file operations. In this paper some Linux shell scripts of interest to SAS programmers are discussed sample, txt, proc cport, sas programmer, clinical trial, proc step source 9
43 Statistical Test Selector (STS) For Researchers Kannan Deivasigamani,
Douglas Lunsford
This SESUG paper demonstrates how a SAS macro can be used to programmatically select the suitable statistical test for a given scenario. Gitanjali, Manikandan, and Raveendran (2014) have presented in their book written for post graduates to help with research methodology in a medical setup to help choosing the apt statistical test for their research (pg. 90-91). While not all statistical tests are included to make it comprehensive, the book contains required information on most of the commonly used statistical tests and the criteria used in selecting those as appropriate. The book by Gitanjali, Manikandan, and Raveendran (2014) is the seed to this technical SAS paper that is anticipated to come-in as an easy and quick reference macro mostly by budding researchers, students and others involved in statistical testing using research data via SAS proc hpsplit, regression analysis, macro variable, anova, correlation, macro definition, data science source 11
44 Successful Communication with Data Phobic Audiences Kelly D. Smith Hard as it is for SAS folk to believe, not everyone loves data. At the same time, "data driven" and "data informed" decision-making are now commonly cited as a preferred method for business organizations. Pick up tips and tricks for successfully communicating data in ways that are accessible and relevant for audience members who fear data. Explore how turning numbers into images helps make connections bar chart, standard deviation source 4
45 Ten Rules for Better Charts, Figures and Visuals Kirk Paul Lafler The production of charts, figures and visuals should follow a process of displaying data in the best way possible. However, this process is far from direct or automatic. There are so many different ways to represent the same data: histograms, scatter plots, bar charts, and pie charts, to name just a few. Furthermore, the same data, using the same type of plot, may be perceived very differently depending on who is looking at the figure. A more inclusive definition for the production of charts, figures and visuals would be a graphical interface between people and data. This presentation highlights the work of Nicolas P. Rougier , Michael Droettboom, and Philip E. Bourne by sharing ten rules to improve the production of charts, figures and visuals bar chart, proc sgplot, histogram, proc step, scatter plot, proc sgpanel, excel, vertical bar chart, box plot, bubble plot, proc freq, data science, series plot, class variable, correlation source 19
46 The reporter package: A Powerful and Easy-to-use Reporting Package for R David J. Bosak SAS programmers who come to R are often disappointed by the reporting options available . Creating a report that takes a few minutes in SAS can take hours in R. Sometimes it appears impossible to create an equivalent report at all. The reporter package was built to overcome these difficulties. This package contains functions to create regulatory-style statistical reports. Originally designed to generate tables, listings, and figures (TLFs) for the pharmaceutical, biotechnology, and medical device industries, these reports are generalized enough that they could be used in any industry. The reporter package can output text, rich-text, and PDF file formats. The package specializes in printing wide and long tables with automatic page wrapping and splitting. Reports can be produced with a minimum of function calls, and without relying on other table packages sample, create table source 9
47 This Week's Forecast: Read From The Cloud How To Collect Records Read From RDBMS Denise A. Kruse Many data centers are considering and planning for moves to cloud storage at some point in the future. Cloud providers charge by the number of records read from the cloud which is much different than previous sizing exercises. This paper will detail how I approached the task of collecting records read from Oracle and Netezza from the SAS environment txt, sas log, record count, sas enterprise guide, sas management console, batch job source 11
48 Tips for Customizing Graphs Using Real Coronavirus Testing Data Dennis J. Beal SAS has many ways to generate high quality statistical graphics that include the older SAS/GRAPH module to the latest SG plots using the Output Delivery System (ODS). Often times your clients may request very specific customizations to their plots that are not easily handled by simply changing an existing option within SAS. The annotation facility can be a powerful tool to customize your graphs. This paper shows examples of customized graphs using macros and the annotation facility on real publicly available coronavirus testing data. SAS code that generates the graphs is provided and discussed. This paper is for beginning or intermediate SAS users of Base SAS and SAS/GRAPH. Key words: graphics, annotate, macros, SAS/GRAPH, trends proc reg, bar chart, macro variable, regression analysis source 7
49 Tips for Input/Handling of Dates in Command Files and Production Thomas E. Billings Production programs often have complex data handling, and this makes it difficult to run a process (often outside production) for dates other than the current period. Here we illustrate select methods to make date handling more flexible. Many production programs calculate the target interval starting with the TODAY function for the current date. We show a very simple code change that supports the option to run for alternate start dates. Checking for the last workday of the month can be messy as holidays may occur; we show a simple method that avoids this issue. Dates may be input using PROC IMPORT from an EXCEL command file and the dates may come in as character variables instead of dates. We discuss ways to avoid/handle this. Date parameters may be passed via the operating system SAS command invocation. We show easy ways to parse the values and test/set the values using SYSPARM-related features. Keywords: SYSPARM, dates, date functions, PROC IMPORT , INTNX, TODAY proc import, macro variable, proc step, excel, named input source 6
50 To COMPRESS or Not, to COMPRESS or ZIP David B. Horvath cpu time, proc contents, proc step, elapsed time, data step, filename statement, proc print 40
51 Twenty Ways to Run Your SAS Program Faster and Use Less Space Stephen B. Sloan When we run SAS programs that use large amounts of data or have complicated algorithms, we often are frustrated by the amount of time it takes for the programs to run and by the large amount of space required for the program to run to completion. Even experienced SAS programmers sometimes run into this situation, perhaps through the need to produce results quickly, through a change in the data source, through inheriting someone else's programs, or for some other reason. This paper outlines twenty techniques that can reduce the time and space required for a program without requiring an extended period of time for the modifications. The twenty techniques are a mixture of space-saving and time- saving techniques, and many are a combination of the two approaches. They do not require advanced knowledge of SAS, only a reasonable familiarity with Base SAS and a willingness to delve into the details of the programs proc step, dataset, proc sort, numeric variable, proc means, by group processing, character variable source 4
52 Two-way Survey Analysis for Units and Organization with Means and Percentages Favorable and Unfavorable Peter L. Zsiga Employee turnover costs business millions of dollars annually. While customer satisfaction surveys are frequently administered and evaluated, employee satisfaction is often neglected. In fields such as medicine and education, retention of key employees such as nurses and teachers is mission critical. One Florida school district with over 40,000 students and over 5000 employees surveys teachers twice yearly and uses Enterprise Guide software to produce detailed analysis of 33 questions for over 40 different worksites. Separate surveys for 24 departments are also distributed twice a year to school leadership and the returns analyzed to evaluate organizational-wide services and support. Although the techniques are the same, only the larger teacher survey is discussed in this article. Basic to intermediate level SAS users should find something new and applicable to any business seeking to improve employee satisfaction proc step, proc report, data step source 13
53 Under the Hood: The Mechanics of SQL Query Optimization Techniques Kirk Paul Lafler The SAS software and SQL procedure provide powerful features and options for users to gain a better understanding of what's taking place during query processing. This presentation explores the fully supported SAS MSGLEVEL=I system option and PROC SQL _METHOD option to display valuable informational messages on the SAS Log about the SQL optimizer's execution plan as it relates to processing SQL queries; along with an assortment of query optimization techniques proc sql, proc step, sas log, options statement, where statement, index, select, cpu time, error message, sas library, data merging source 9
54 Understanding the Effects of Campus Safety on College Student Retention: A Panel Data Analysis Maham Khan,
James Farley,
Zheng Zhong,
Glendalis Gonzalez,
Shabnam Mehra
Student success can be defined positive student outcomes based on the operational activities and support provided by a learning institution. Student success outcomes measurements primarily focus on advancement towards persistence, graduation, and good academic standing but there are non-academic experiences that can also impact student success. This paper explores the relationship between campus safety and student outcomes pertaining to retention and completion rates. One hundred and thirty public and private Research Tier 1 (R1) universities were used in this analysis. The R1 universities meet the highest benchmarks in research activity and expenditures as measured by the Carnegie Classification of Institutions of Higher Education. In developing analysis, data were collected from the College Scorecard database and the official website of Campus Safety and Security. The data was then curated and analyzed using different statistical procedures in SAS Enterprise Guide and SAS Viya correlation, regression analysis source 8
55 UNIX X Command Tips and Tricks David B. Horvath SAS provides the ability to execute operating system level commands from within your SAS code - generically known as the "X Command". This session explores the various commands, the advantages and disadvantages of each, and their alternatives. The focus is on UNIX/Linux but much of the same applies to Windows as well. Under SAS EG, any issued commands execute on the SAS engine, not necessarily on the PC macro variable, sysrc, macro put, data step, filename statement source 9
56 Use SAS Enterprise Miner Workstation 15.1 to Do Predictive Analysis for Mobile Strategy Games Industry Chun Du This study aims to predict mobile strategy games' ratings, to find the relationships between the game' s factors and games ratings, and help game developers, game players, and game companies to define a successful game. The rating of games is divided into two groups: group 1 - rating is below 4 (bad performance), group 2 - rating is 4 and above 4 (good performance). The overview of study plan is dividing the sample into 70/30 training and validation. Logistic regression, decision tree and neural network will be used to build predictive models. By conducting text cluster analysis and topic analysis to analyze games descriptions and find the traits and categories of strategy mobile game with rating above 4. The final predictive model, neural network is the winner models with sensitivity of predicting game rating of 97.91% and total 25.87% misclassification rate proc hpsplit, neural network, data mining, cluster analysis, response variable, bivariate analysis, regression analysis, data cleaning, missing value, anova, sample, roc curve, histogram source 11
57 Using JMP and R Integration to Analyze Virtual Chat Messages during a Coronavirus Pandemic Melvin T. Alexander The Coronavirus pandemic has altered the way communications, in-person meetings, and social gatherings take place. Video conferencing technologies such as Zoom, Skype, and Microsoft Teams have been the predominant ways of conducting and attending meetings, social networks, conferences. Sentiment Analysis is a new add-in feature which came in version 16 of JMP Pro's Text Explorer platform. With JMP and R Integration, these same capabilities are also available to base JMP users. This paper presents the use of natural language processing techniques of comparison word clouds and sentiment analysis of Zoom chat messages during a video conferencing session that helped uncover the feelings, opinions, and attitudes of SAS User Group participants about professional development. Keywords: Natural Language Processing, Comparison Word Clouds, Sentiment Analysis box plot, in-memory analytics, sas programmer, proc freq, data cleaning, txt, histogram, proc sql, r programming source 37
58 Using LaTeX document class sugconf to write your paper Ronald J. Fehd macro definition, macro variable source 15
59 Using PROC SQL to restructure data for common healthcare applications Tamar C. Roomian Electronic medical record (EMR) data is commonly stored in "long" format (multiple rows per an id, where one column stores many pieces of information on the same id). However, for many applications, data must be transposed to "wide" format (one row per id with multiple columns representing each piece of information needed). This paper will present how to use PROC SQL to transpose data from "long" to "wide" using a common example from healthcare utilizing electronic medical record data. This paper will discuss the advantages and disadvantages to using PROC SQL over PROC TRANSPOSE. In addition, it is commonly required to join two sources of data based on logic th at depends on dates. Example questions could include: Which patients received a depression diagnosis 4 months prior to their emergency visit? Which patients had an encounter for a fall within 2 years from their encounter for a fracture? The DATA STEP MERGE statement requires equal conditions using the by statement proc sql, proc step, by group processing, datepart, proc transpose, group by, binary variable source 6
60 Using PROC SURVEYSELECT to Create Data Files with All Pairwise Combinations of Data Jason Brinkley PROC SURVEYSELECT provides an easy mechanism to create datafiles that are all pairwise combinations of two observations in a dataset. While the procedure is traditionally used for creating subsamples of data, there are options that allow one to use the entire data. This paper illustrates how to take an address- based dataset and create a new dataset that has all pairwise combinations of each set of addresses so that additional analyses can be done sample, proc step source 6
61 Using QUANTREG to Examine time and Drug on Histamine HA level in Mice Abbas S. Tavakoli,
Navid S. Tavakoli
Keywords: SAS, QUANTREG, regression analysis, proc quantreg, by group processing, estimate, proc calis, standard deviation, predictor variable, proc step, response variable source 7
62 Using the SAS HPBIN Procedure to Create Format Value Ranges for Numeric Variables Michael A. Raithel How would you go about determining the format value ranges for a new continuous numeric variable? You could run PROC MEANS to get the min, max, median, and quantiles; and then construct it from those metrics. That works, but it constrains you to having only four value ranges for your format. Also, the MEANS Procedure output is not in a structure conducive to creating the actual SAS Format Start/End/Label statements. It would be advantageous to have a methodology whereby a programmer could choose the desired number of value ranges and generate output close to what is needed for the PROC FORMAT VALUE statements. One such method is to employ a binning technique available through SAS's High Performance Bin procedure. PROC HPBIN can be used to provide mathematically sound, defensible methodologies for creating the value ranges of numeric variables interval variable, proc step, excel, macro variable, dataset, proc format, format statement, numeric variable, proc freq, macro definition source 9
63 Utilizing SAS MACROS to Deduplicate Your Data William Zachary Smith Data deduplication is an imperative step for researchers when producing high-quality data products. If survey respondents do not have a unique identifier, data are particularly prone to data duplication since participants could have completed a survey multiple times. To produce quality data, researchers must identify and remove duplicate records. This paper explains the use of a SAS macro that creates matching scores between every possible combinational pair of respondents in a dataset. This macro allows users to input specific datasets, variables, and score criteria that will be used to identify potential duplicates. The output of this macro will provide you with a list of potential matches based on their specifications, sorted by match probability to provide researchers with a quick and efficient way to deduplicate their datasets char., binary variable source 10
64 What Kind of WHICH Do You CHOOSE to be? Richann J. Watson,
Louise S. Hadden
A typical task for a SAS practitioner is the creation of a new variable that is based on the value of another variable or string. This task is frequently accomplished by the use of IF-THEN-ELSE statements. However, manually typing a series of IF-THEN-ELSE statements can be time-consuming and tedious, as well as prone to typos or cut and paste errors. Serendipitously, SAS has provided us with an easier way to assign values to a new variable. The WHICH and CHOOSE functions provide a convenient and efficient method for data-driven variable creation choose, if-then-else source 7
65 What Level am I? A Look at Categorizing a Programmer as a Beginner, Intermediate, or Advanced Brian K. Varney There are numerous times that one gets categorized by their experience level with SAS and/or as a programmer in general. Whether it be as a company hiring a programmer, a programmer determining if a presentation is appropriate for them, or a project manager building a team, it is valuable to be able to define some guidelines as to someone is a beginner, intermediate, advanced programmer. This paper intends to help this process be less subjective and error prone macro definition, problem solving, data step, proc sql source 3
66 Where Where is a Problem Deb Cassidy A statistician was reviewing a table and had different results than the programmers. Investigation showed the issue was really with the statistician's use of multiple WHERE's. This paper will show several ways of having multiple WHERE and IF statements. It will show which ones work as expected and which don't. This is an entry level presentation. However, even long-time SAS programmers may learn something they never thought about. The author did. The code in the paper was tested using an interactive session of Enterprise Guide where statement, if-then-else source 5
67 Yo Mama is Broke Cause Yo Daddy is Missing: Autonomously and Responsibly Responding to Missing or Invalid SAS Data Sets Through Exception Handling Routines Troy Martin Hughes Exception handling routines describe processes that can autonomously, proactively, and consistently identify and respond to threats to software reliability , by dynamically shifting process flow and by often notifying stakeholders of perceived threats or fai lures. Especially where software (including its resultant data products) supports critical infrastructure, has downstream processes, supports dependent users, or must otherwise be robust to failure, comprehensive exception handling can greatly improve software quality and performance. This text introduces Base SAS defensive programming techniques that identify when data sets are missing, exclusively locked, or inadequately populated. The use of user-defined return codes as well as the &SYSCC (system curren t condition) automatic macro variable is demonstrated, facilitating the programmatic identification of warnings and runtime errors exception handling, sysrc, macro put, macro function, missing value, sas log, abort, sas base, cpu time, macro variable, macro definition, proc sort source 11

Back to Conf go 2022 go 2020

This site serves as a convenient hosting location and does not work as a publisher. All copyrights belong to their respective owners.

The information on this site is provided for general reference purposes only. Whilst every effort is made to ensure that the site is up to date and accurate, no warrant, nor any responsibility or liability for, the accuracy or completeness of the content or for any loss which may arise from reliance on information contained in this site is provided. Links to other sites are provided for your convenience but no responsibility or liability for the content of those sites or of any external site which links to this site is accepted. References to any specific commercial product, process, service, or corporation are also for information only, and do not constitute endorsement, recommendation or favoring.

SAS is a registered trademark of SAS Institute Inc. SAS, Statistical Analysis System, and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. ® indicates USA registration.