HOME QUICK SEARCH AUTHORS KEYWORDS HELP BUGS

WUSS 2022 Papers - Index

83 papers. Source: WUSS (Western Users of SAS Software) 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 t oo 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 report, proc step, sample, graph template language, proc surveyselect, rand, dataset, proc template, sas enterprise guide, macro variable source 32
2 A Brief Introduction to DS2 Mark L. Jordan run, proc step, sas base, parallel processing, end, return, sas viya source 10
3 A Configuration File Companion: testing and using environment variables and options; templates for startup-only options initstmt and termstmt Ronald J. Fehd macro put, proc sql, macro variable, proc freq source 17
4 A Statistical Programmer's Growth Journey: It is More than Learning New Code Janette Garner Statistical programmers often find themselves on the receiving end of directions provided by other functional groups. In such an environment, what could growth look like? An immediate answer would be to expand one's programming toolbox. However, growth encompasses more than just technical skills. It also includes a way of thinking and behaving. This introspective paper explores the author's experiences as a statistical programmer. Various scenarios will be explored, identifying initial thinking and subsequent reflection. statistical programmer, regulatory submission source 6
5 A Survey of Some of the Most Useful SAS Functions Ronald P. Cody SAS Functions provide amazing power to your DATA STEP programming. Some of these functions are essential- some of them save you writing volumes of unnecessary code. This paper covers some of the most useful SAS functions. Some of these functions may be new to you and they will change the way you program and approach common programming tasks. character variable, missing value, length statement, substr function, input statement, lag function, compress function, sas function, put statement, sysdate9, yrdif, character functions, numeric functions, call missing, call sortn, missing function, if-then-else source 16
6 Adventures in Independent Consulting: Perspectives from Two Veteran Consultants Living the Dream Joshua M. Horstman,
Richann J. Watson
While many statisticians and programmers are content in a traditional employment setting, others yearn for the freedom and flexibility that come with being an independent consultant. In this paper, two seasoned consultants share their experiences going independent. Topics include the advantages and disadvantages of independent consulting, getting started, finding work, operating your business, and what it takes to succeed. Whether you're thinking of declaring your own independence or just interested in hearing stories from the trenches, you're sure to gain a new perspective on this exciting adventure. clinical trial, credit card source 7
7 An Autoexec Companion, Allocating Location Names during Startup Ronald J. Fehd macro put, macro variable, global symbol table, symbol table, autocall macro, options statement, in= option, proc sql, macro definition source 17
8 An Introduction to SAS Arrays Lisa A. Mendez So, you've heard about SAS arrays, but are not sure when - or why - you would use them. This presentation will provide the attendee / reader with a background in SAS arrays, from an explanation as to what occurs during compile time through to their programmatic use and will include a discussion regarding how DO-loops and macro variables can enhance array usability. Specific examples, including Fahrenheit to Celsius temperature conversion, salary adjustments, and data transposition / coun ting will assist the user with effective use of SAS arrays in their own work, and provide a few caveats as to their usage, as well. do loop, array, sample source 12
9 Analysis of Chemicals in Beauty Products and its Impact on Consumers Chhavi Nijhawan The cosmetic industry is a market of 80.73 billion USD worldwide. The share of makeup in the cosmetics industry is 16%. The predicted worth of skincare in this industry is around 145.2 billion USD. In 2020, the worldwide Cosmetic Chemicals market was estimated to be worth USD 19.38 billion. Cosmetic chemicals combine synthetically created chemical compounds that are the most often utilized comp onents in personal care and cosmetic goods. Popular cosmetic chemicals are colorants, surfactants, rheology control agents, emulsifiers, emollients, and preservatives. Increased consumer awareness of beauty and skincare products and rising demand for goods containing active ingredients are assisting market expansion. The industry is also likely to profit from increased customer demand for natural components, which will open opportunities for technological innovation. missing value, correlation source 8
10 Application of Fuzzy Matching Techniques Using SAS Software - A Panel Discussion Kirk Paul Lafler,
Stephen B. Sloan
Data comes in all forms, shapes, and sizes. When consistent and reliable identifiers (or keys) between two or more files exist, SAS users are typically able to search and match observations without a problem. But, when a unique identifier (or key) is not consistent or reliable then the matching process can become compromised. This panel discussion will explore topics related to what fuzzy matching is, common data issues, popular data cleaning and validation techniques, the application of the five CAT functions, the application of the SOUNDEX (for phonetic matching) algorithm, the SPEDIS, COMPLEV, and COMPGED functions, and an assortment of SAS programming techniques to resolve key identifier issues and to successfully search, merge/join and sort less than perfect or messy data. Keywords: Fuzzy matching, SAS, character-handling functions, phonetic matching, SOUNDEX, SPEDIS, edit distance, Levenshtein, COMPLEV, COMPGED proc step, proc sql, character variable, proc sort, data cleaning, sas function, missing value, numeric variable, order by, proc format, character functions, proc contents, data transformation, proc print, proc transpose source 30
11 Attribute Reduction for Continuous Dependent Variables in SAS Alec Zhixiao Lin Weight of Evidence (WOE) and Information Value (IV) are the foundation of machine learning algorithms for classification. Its use encounters difficulty in analyzing continuous dependent variables because the event cannot be coded in binary values of 0 and 1. Improving upon some earlier attempts to tackle this problem, this paper suggests normalizing continuous values to a probability-like range of 0 to 1 and computing IV at aggregated levels. By doing so we can expand the use of WOE and IV to continuous outcomes. A SAS process is provided which will efficiently evaluate the predictive power of all independent variables with minimal manual handling from the user. The SAS outputs give useful suggestions on segmentation, variable reduction/selection, regressions and machine learning. response variable, predictor variable, character variable, missing value, nominal variable, machine learning, sas output, regression analysis source 20
12 Automating Reports Using Macros and Macro Variables Ekaterina Roudneva Report generation can involve manually updating code when you get new information. This paper will go over some techniques that can help you automate your reports and remove the need to manually change code when a dataset is updated or when working with different data. Topics include using PROC SQL to create macro variables and data driven programs. This will be applied to a real-world example that automates the creation of a data dictionary and a frequency report of all variables for specified datasets. In the example, macro variables in combination with %DO loops and macro arrays are used to create dynamic code that links variables with defined formats and outputs a report of all frequencies for every single variable. Using macros and %IF %THEN branching logic can further make the code more flexible and validate the input. This paper is intended for an audience that has basic knowledge of the SAS macro language. macro variable, proc step, proc sql, proc freq, macro put, excel, sashelp, data dictionary, do loop, proc contents, put statement, %if-%then-%else, macro parameter, variable list, data cleaning, macro loop, macro definition, select, macro function source 18
13 Best Practices for Efficiency and Code Optimization in SAS programming Jayanth Iyengar There are multiple ways to measure efficiency in SAS programming; programmers' time, processing or execution time, memory, input/output (I/O) and storage space considerations. As data sets are growing larger in size, efficiency techniques play a larger and larger role in the programmers' toolkit. This need has been compounded further by the need to access and process data stored in the cloud, and due to the pandemic as programmers find themselves working remotely in distributed teams. As a criteria to evaluate code, efficiency has become as important as producing a clean log, or expected output. This paper explores best practices in efficiency from a processing standpoint, as well as others. proc step, dataset, proc append, proc sql, cpu time, if-then-else, sas log, where statement, data merging, sample, proc sort, sample size, sas programmer, lookup, data=, drop statement, missing value, index, options statement, character variable, hash table, numeric variable, set statement, sas base, key performance indicator, raw data, subsetting if source 21
14 Calculating Cardinality Ratio in Two Steps Ronald J. Fehd proc step, create table, macro variable, proc freq, dimension table, out=, proc sql, macro put, key source 23
15 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 Troy Martin Hughes In the fire and rescue service, a box alarm (or, simply, "alarm") describes the severity of a fire. As an alarm is elevated from a one-alarm fire to a multi-alarm fire, additional, predetermined resources (e.g., personnel and apparatuses) are summoned to c ombat the blaze more aggressively. Thus, a five-alarm fire-or its equivalent "five-alarm" Cincinnati chili-represents something extremely hot and dangerous. After extinguishment, and as smoke and embers recede and overhaul begins, fire and rescue resources are released "back into service" so they can be utilized elsewhere if necessary. Essential to managing complex fireground operations, this load balancing paradigm is also common in grid and cloud computing environments in which additional computational resources can be shifted temporarily to an application or process to maximize its performance and throughput . cpu time, proc sql, macro variable, create table, %if-%then-%else source 27
16 Cautionary Notes when Working with Interim Data Bill Coar Constructing a hypothesis, conducting an experiment, collecting and analyzing data, and sharing results are fundamental components of the scientific method. In many experiments (such as clinical trials), collecting data may take years. Furthermore, some analyses may be performed along the way with interim data which is incomplete and often erroneous. While there are statistical concerns with analyses and interpretation of interim data, we do not attempt to discuss them here. Rather, we focus on working with interim data as it relates to the conduct of the experiment. Interim data review can be critical to ensuring the experiment goes as expected, mitigating unforeseen circumstances if needed. This helps maintain the integrity of the original experiment. data review, crf, adverse events, final analysis, trial elements source 8
17 Child Data Set: An Alternative Approach for Analysis of Occurrence and Occurrence of Special Interest Lindsey Xie,
Richann J. Watson,
Jinlin Wang,
Lauren Xiao
Due to the various data needed for safety occurrence analyses, the use of a child data set that contains all the data for a given data point aids in traceability and support of the analysis. Adverse Events of Special Interest (AESI) represents adverse events (AEs) that are of particular interest in the study. These AESI could potentially have symptoms associated with them. AESI could be captured as clinical events (CEs) in the CE domain while the associated symptoms for each CE are captured as AEs in the AE domain. The relationship between CEs and associated AE symptoms are an important part of the safety profile for a compound in clinical trials. These relationships are not always readily evident in the source data or in a typical AE analysis data set (ADAE). The use of a child data set can help demonstrate this relationship, which provides enhanced data traceability to help the review effort for both sponsor and regulatory agency reviewers. ctcae grade, adverse events, clinical trial, system organ class, data lineage, adverse event summary, raw data, imputation source 15
18 Complex heatmaps in Statistical analysis of Biomarkers and cancer genomics Yoganand Budumuru The National Cancer Institute (NCI) found that cancer patients in the United States bear a huge amount of cancer care costs. In 2019 alone, over $21 billion was spent for patients' cancer care and the costs of cancer treatment will continue to rise in the future as well. Billions of dollars are being spent on clinical trials every year for treating cancer with an average success rate of merely 10%. However, biomarkers offer huge potential to address this challenge of failure rates and greatly increase the likelihood of approval fivefold (Wong et al., 2021). The development of oncology trials with increased efficacy and safety is becoming a promising aspect of the emergence of genomic biomarkers. It is changing the conventional clinical trials landscape in the modern era of cancer genomics. This paradigm shift from conventional treatments to targeted therapeutic approaches has significant implications for all stakeholders within the health care industry. heatmap, bar chart, clinical trial, data science, proc step, proc sgplot, clinical research source 18
19 Cooking in SAS Viya Charu Shankar Can I use my existing SAS code in SAS Viya? What's a Cloud Analytic Server(CAS)? How's SAS 9 different from CAS. What is a Compute Server? What is the advantage of learning to speak in SAS Viya? These are some of the questions top of mind for the Classic SAS 9 User who has a solid foundation in SAS 9 & isn't sure how things integrate with existing SAS code. Learn through the yummy analogies of SAS instructor-yoga teacher & chef, Charu who drew from her experience of cooking in a yoga retreat in the Bahamas for over 300 guests to understand the distinction between SAS & CAS. You too can learn the concepts. if techie terminology has your head all wound up in circles, then this session is just for you. Learn how you can stretch your knowledge of SAS programming concepts to beautifully write CAS code with just a few simple tweaks. All levels welcome. Some basic knowledge of SAS programming will help you get more value out of this session. sas viya, by group processing, data step, sas base, sas 9, raw data, cpu time source 10
20 Creating a Data Dictionary Using Base SAS Tasha Chapman proc step, proc contents, data dictionary, sas base, excel, variable list, output delivery system, dataset, modify statement, proc datasets, ods excel, proc sql, proc transpose, run source 13
21 Customizable SAS Graphs for Bias Analysis Natasha Oza,
Jesse Albert Canchola
Graphical methods for bias analysis are well characterized (Bland and Altman, 1983). The papers by Fernandez and Fernandez (2009) and Johnson and Waller (2018) go into some detail on both the theory and SAS code for creating bias plots. However, the graphical coding is basic and not necessarily tailorable to the user requirements. We introduce the BIASPLOTS SAS macro that produces highly customizable camera-ready graphs that contain details of the bias plot. macro definition, proc reg, regression analysis, sample size, sample, confidence interval, %if-%then-%else source 26
22 Data Access Made Easy Using SAS Studio Kirk Paul Lafler,
Zheyuan Yu,
Shaonan Wang,
Nuoer Lu,
Daniel Qian,
Swallow Xiaozhe Yan
SAS OnDemand for Academics (ODA) gives students, faculty, and SAS learners free access to SAS software and the SAS Studio user interface using a web browser. SAS Studio provides users with a comprehensive and customizable integrated development environment (IDE) for all SAS users. A number of techniques will be introduced to showcase SAS Studio's ability to access a variety of data files; the application of point-and-click techniques using the Navigation Pane's Tasks and Utilities; the importation of external delimited text (or tab-delimited), comma-separated values (CSV), and EXCEL spreadsheet data files by accessing Import Data under Utilities; read JSON data files; and view the results and SAS data sets that are produced. We also provide key takeaways to assist users learn through the application of tips, techniques, and effective examples. dataset, sas studio, proc step, sas library, excel, proc contents, delimited file, bar chart, work library, histogram, proc import, csv source 26
23 Data mining for the online retail industry: Customer segmentation and assessment of customers using RFM and k-means Gowtham Varma Bhupathiraju This study applies to identifying potential wholesalers, providing relevant and timely data to the company. To enable the company to understand its customers and to conduct efficient customer -centric promotion. Based on the Monetary, Frequency, and Recency of customers. Further customers segmented using the k means clustering algorithm into different significant groups, and the primary attributes of customers have been determined in each segment. Accordingly, the company is even more supplied with a set of suggestions on consumer-centric marketing and advertising. proc freq, data mining, business intelligence source 9
24 Data-Driven Robotics: Leveraging SAS and Python to Virtually Build LEGO MINDSTORMS Gear Trains for the EV3 Brick Troy Martin Hughes LEGO MINDSTORMS Evolution 3 (EV3) represents the third -generation programmable "Brick," a hand- held computer developed by the LEGO Group that intelligently drives and forms the cornerstone of LEGO robotics. Released in 2013, EV3 leverages LEGO Group -built sensors (including haptic, gyroscopic, ultrasonic, infrared, and others) and servomotors -rotary motors that track speed, degrees, and angle of rotation-to interpret, interact with, and respond to environmental and user stimuli. Although EV3 robotics locomotion begins with large and medium LEGO servomotors, gears and gear trains facilitate compl ex actions, movements, and the increase of speed or torque. To this end, this paper introduces LEGO gears and simple gear trains, and includes SAS code that programmatically identifies how (and how well) LEGO gears mesh with each other in a two-dimensional (2D) plane. output delivery system, goodness of fit, macro definition source 69
25 Did the load work? Lisa Eckler After a series of database tables are loaded from multiple data sources and before using the data to feed automated reports and BI tools, we want to know whether the load was complete and successful. This goes beyond confirming that the jobs ran without errors. The more precise concerns are: were all of the data sources ingested? were the right number of rows of data added or updated in each table? were all of the appropriate columns populated? do the data values make sense? are the values of categorical variables different than expected? This paper describes a fully automated process for comparing a new set of data loaded to one or more tables with previous sets to check for reasonable and expected changes. macro variable, proc step, dataset, proc means, proc freq, data cleaning, where statement, missing value source 18
26 Essential Programming Techniques Every SAS User Should Learn Kirk Paul Lafler SAS software boasts countless functions, algorithms, procedures, options, methods, code constructs, and other features to help users automate and deploy solutions for specific tasks and problems, as well as to access, transform, analyze, and manage data. This paper identifies and shares essential programming techniques that a pragmatic user and programmer should learn. Topics include determining the number of by-group levels that exist within classification variables; data manipulation with the family of CAT functions; merging or joining multiple tables of data; performing table lookup operations with user-defined formats; creating single-value and value-list macro variables with PROC SQL; examining and processing the contents of value-list macro variables; determining the FIRST., LAST. and Between by-group rows; processing repetitive data with arrays; and using metadata to better understand the contents of SAS datasets. proc step, proc sql, hash table, proc freq, proc print, if-then-else, dictionary tables, macro variable, character variable, missing value, excel, order by, dataset, proc append, lookup, character functions source 27
27 Evaluating CO2 storage potential of SECARB Offshore Reservoirs and Saline Formations by Employing Data-driven Models with SAS Viya software Kodjo Botchway,
Rupom Bhattacherjee,
Xitong Hu,
Jack Pashin,
Goutam Chakraborty,
Prem Bikkina
The SECARB offshore partnership project seeks to screen deep saline aquifers and hydrocarbon reservoirs in the central Gulf of Mexico (GOM) for CO2 sequestration and CO2-driven enhanced oil and gas recovery and estimate the corresponding CO2 storage resources for the selected reservoirs. To this end, three major objectives have been completed: managing geological data from different sources, building a reservoir screening platform for CO2 storage, and ranking the reservoirs based on the estimated storage potential. First, the major geological characteristics of both shelf and deep -water areas of the central GOM were examined and compared to define the appropriate reservoir screening criteria. Subsequently, the CO2 storage resources of the screened reservoirs were calculated and reported at the Bureau of Energy Management (BOEM) field level to identify fields with the highest storage potential. In the current phase of the project, the assessment is being expanded to saline formations. correlation, mae source 11
28 Explore Your Data and Avoid Surprises Dan Konkler,
Gilbert Ramos
Analyzing and cleaning data files consume the better part of many programmers' workdays. These macros provide a consistent and standardized way to check data. They also provide an easy method to verify analysis tables and files with the optional 'by' processing to subset data, and the capability to add PROC UNIVARIATE descriptive statistics to the default analysis. create table, proc step, numeric variable, proc univariate, character variable, data governance, group by, excel source 16
29 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, data mining source 13
30 Facilitating Complex String Manipulations Using SAS PRX Functions John M. LaBore SAS programmers learn to use many basic SAS functions within the DATA STEP, but surprisingly few learn about the SAS PRX (Perl Regular Expression) functions and call routines. The SAS PRX functions provide a powerful means to handle complex string manipulations, by enabling the same end result with fewer lines of code, or by enabling the analysis of data previously out of reach of the basic string manipulation functions. The PRX functions and call routines became available in SAS version 9, are accessible within the DATA STEP, and are tools that every advanced SAS programmer should have in their toolkit. Examples are provided to give a quick introduction to the syntax, along with a review of the resources available to the programmer getting started with SAS PRX functions. sas programmer, data step source 6
31 Failure To EXIST: Why Testing Data Set Existence with the EXIST Function Is Inadequate for Serious Software Development in Asynchronous, Multiuser, and Parallel Processing Environments Troy Martin Hughes The Base SAS EXIST function evaluates the existence (or lack thereof) of a SAS data set. Conditional logic routines commonly rely on EXIST to validate data set existence or absence before subsequent (dependent) processes can be dynamically executed, circumvented, or t erminated based on business rules. In synchronous software design and where data sets cannot be accessed by other proces ses or users, EXIST is both a sufficient and reliable solution. However, because EXIST captures only a split - second snapshot of file state, it provides no guarantee of file state persistence . Thus, in asynchronous, multiuser, and parallel processing environments, data set existence can be evaluated by one process and be instantaneously modified thereafter by a concurrent process that creates or deletes the evaluated data set; this creates a race condition in which EXIST technically returns the correct results, but those results are invalid ated before subsequent statements can execute . parallel processing, cpu time, sysrc, if-then-else, proc delete, dataset, proc print, stress testing, macro definition source 12
32 Finding Your Latest Date Bill Coar During a clinical trial, participants are often required to visit a clinic multiple times throughout the course of treatment as well as for post-treatment follow-up. Some measurements are taken that day, thus have an association with that visit date. Other data, such as events that occurs between visits, will have different dates, usually the dates at which the events occurred. There is often a need to look for the last known date in which data was collected for a patient. This can involve scanning 20-30 different datasets that contain dates, and then identifying the latest date for which we have data. This quick tip presentation will utilize macro programming to compartmentalize the identification of the most recent date, including the dataset and variable from which it was obtained. When using standardized data structures, simple imputation can also be performed for partial dates to provide reasonable approximations of a date when working with interim data. date variable, &variable, imputation source 6
33 Five Secrets of the SQL Goddess Charu Shankar PROC SQL is a powerful language that can express many of your queries simply and with clarity. Users who are continuously improving process and looking to stay within PROC SQL to analyze and process data will benefit from this HOW. Come learn to maximize human & computing efficiency elegantly. Readers will learn to join tables dynamically, Create Inline views for joins, Pivot like a dancer with the Boolean, recognize patterns in data and to create running totals. This paper is aimed at all levels of learning. proc sql, proc step, dictionary tables, group by, sashelp, order by source 13
34 Four Different Page Layouts on the Fly with Three Reports on a Page Using the Output Delivery System Derek P. Morgan This paper details the creation of a ready-to-publish document with multiple data sources and differing page layouts of the same type of information based on page fit. Each set of information is placed on one, two, or three pages depending on fit, and requires three calls to the REPORT procedure using three different data sets. This solution does not involve ODS DOCUMENT. Instead, we calculate how much horizontal and vertical space the report requires and use the macro language to execute code conditionally. This allows us to dynamically determine which page layout to apply, including setting or suppressing page breaks with ODS STARTPAGE=. This solution makes extensive use of inline formatting as well. The output was produced as an RTF file using SAS University Edition running on a Microsoft Windows 10 machine. proc report, proc step, macro variable, character variable, proc sql, macro loop, excel source 22
35 Friends are better with Everything: Using PROC FCMP Python Objects in Base SAS Matthew T. Slaughter,
Isaiah Lankham
Flexibly combining the strengths of SAS and Python allows programmers to choose the best tool f or the job and encourages programmers working in different languages to share code and collaborate. Incorporating Python into everyday SAS code opens up SAS users to extensive libraries developed and maintained by the open-source Python community. The Python object in PROC FCMP embeds Python functions within SAS code, passing parameters and code to the Python interpreter and returning the results to SAS. User-defined SAS functions executing Python code can be called from the DATA STEP or any context where SAS functions are available. User- defined call routines can also be used in DATA steps. This paper provides an overview of the syntax of FCMP Python objects and practical examples of useful applications incorporating Python functions into SAS processes. proc fcmp, proc step, dataset, sas function, excel, variable, sas log, file statement, return, character variable, length statement, xls, sas viya, macro function source 24
36 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
37 Functions (and More!) on CALL! Richann J. Watson,
Louise S. Hadden
SAS Functions have deservedly been the focus of many excellent SAS papers. SAS CALL subroutines, which rely on and collaborate with SAS functions, are less well known, although many SAS programmers use these subroutines frequently. This paper will look at numerous SAS functions and CALL subroutines, as well as explaining how both SAS functions and CALL subroutines work in practice. There are many areas that SAS CALL subroutines cover including CAS (Cloud Analytic Services) specific functions, character functions, character string matching, combinatorial functions, date and time functions, external subroutines, macro functions, mathematical functions, sort functions, random number functions, special functions, variable control functions, and variable information functions. sas log, sas function, call execute, proc step, rand, call sortn, macro variable, call sortc, macro call, call symput, character variable, missing value, call symputx, numeric variable, call streaminit, proc fcmp, character functions, symbol table, call missing, proc means, random number generation, cpu time, sample, prxchange, macro facility, proc sql, set statement, length statement, macro definition source 33
38 Generate Complex SAS code from File Paul Silver Presentation: %RepeatMaskoverFile (referred to as %RMOF below) will generate SAS code from quoted (as necessary) macro expressions (mask, begin, separator, end) containing macro variables and/or macro calls, using macro parameters using a SAS data file as input. RMOF relies on %symcall set() to transfer SAS data set values after the open and fetch functions calls into SAS macro variables. macro variable, character variable, proc step, proc sql, macro parameter, macro definition, macro quoting function, %if-%then-%else source 5
39 Generating Simple Statistics with Base SAS Procedures Jane Eslinger Multiple Base SAS procedures generate simple statistics such as mean, min, and max. As a programmer, it is always good to know which procedures do what. This paper and presentation compares and contrasts generating simple statistics with the MEANS, UNIVARIATE, TABULATE, and REPORT procedures. proc step, proc report, proc tabulate, proc univariate, sas base, proc means source 9
40 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
41 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, f ederal park , 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
42 Hash Tables Like You've Never Seen Them Before Mathieu Gaoette Presentation hash table, pdv, merge statement source 31
43 Have a Date with ISO? Using PROC FCMP to Convert Dates to ISO 8601 Richann J. Watson Programmers frequently have to deal with dates and date formats. At times, determining whether a date is in a day-month or month-day format can leave us confounded. Clinical Data Interchange Standards Consortium (CDISC) has implemented the use of the International Organization for Standardization (ISO) format, ISO 8601, for datetimes in SDTM domains, to alleviate the confusion. However, converting "datetimes" from the raw data source to the ISO 8601 format is no picnic. While SAS has many different functions and CALL subroutines, there is not a single magic function to take raw datetimes and convert them to ISO 8601. Fortunately, SAS allows us to create our own custom functions and subroutines. This paper illustrates the process of building a custom function with custom subroutines that takes raw datetimes in various states of completeness and converts them to the proper ISO 8601 format. proc fcmp, proc step, return, sas log, sample, time., numeric variable, cdisc source 15
44 Heatmaps for Hot Housing Markets SAS an ultimate tool for analyzing real estate data Harshita Budumuru Presentation: The pandemic has introduced a new dynamic of societal uncertainty for stakeholders and home buyers fueled by rapid inflation and soaring house prices. The federal reserve has stepped in this past month by increasing interest rates to limit credit flows. Some analysts are predicting another housing bubble while others say logistic growth due to stagnant supply chains. Will this volatile housing market crash or are we in a perpetual state of exponential growth? The question of where and when to invest has become a challenging discussion, but is there a solution? Scientific literature on the use of heat maps for statistical analysis increased in almost every industry and field. Of late, heat maps have become increasingly popular in real estate, especially as a useful analytical tool for making informed decisions in the housing market. This paper aims to illustrate how SAS can be used to generate these heat maps which present complex data as simple visual aids. heatmap, data science source 5
45 If its not broke, don't fix it; existing code and the programmers' dilemma Jayanth Iyengar In SAS shops and organizational environments, SAS programmers have the responsibility of working with existing processes and SAS code which projects depend on to produce periodic output and results and meet deadlines. Some programming teams still cling to the old adage; if it not broke, don't fix it. They've come to depend on code which runs clean, and is reliable. However, besides processing with no errors and warnings. there other criteria to judge the quality of a SAS program. Programming guidelines dictate that code should be well- documented, readable, and efficient, and conform to best practices. This paper challenges the conventional wisdom that code which works shouldn't be modified. sas log, proc step, proc printto, sas enterprise guide, sas output, sas consultant, txt, dataset, index, sample, sas programmer source 16
46 Introduction to SCL for Macro Programmers Ronald J. Fehd proc sql, macro variable, macro function, macro definition, macro put, proc freq source 20
47 Learn the Basics About the Pharmaceutical Industry in 20 Minutes Jim Box,
Matthew J. Becker
The pharmaceutical industry is the discovery, development, and manufacturing of medications by public and private organizations. The creation of these medications spans centuries if not millenniums. But what are some of the key aspects of the pharmaceutical industry that are important to SAS users? In this paper and presentation, we will spend time on the key aspects of the industry and how analytics is prominent in medical research and development. clinical trial, pharmaceutical industry source 3
48 Let SAS do the work for you: Tips and tricks for turning SAS output into client-ready tables Becky Lien,
Sara Richter,
Lily Dunk
When putting together results tables for clients, how often have you thought, "There has to be a better way?" There is! Commonly used SAS procedures like FREQ/TABULATE/MEANS/SURVEYFREQ provide a wide range of options to customize table output. Combine those options with ODS OUTPUT statements, and the customization possibilities are virtually endless. Utilizing these possibilities, we can prepare results in EXCEL without manually adjusting the output once in EXCEL. In this brief session, we will show examples of tailored SAS output using ODS EXCEL destination and corresponding SAS syntax. Examples include using ODS OUTPUT statements within SAS procedures (FREQ/SURVEYFREQ/MEANS) and wrapping the procedure and data steps in a macro for eas y reuse. We also utilize style sheets and conditional formatting to improve the look and readability of the finalized tables. Examples in this session were developed in Base SAS. excel, proc step, proc freq, proc print, proc ttest, proc tabulate, ods excel, ods output, sas output, output, file statement, chi-square test, proc surveyfreq, standard deviation, where statement, data analyst source 15
49 Macro Programming Essentials for New SAS Users Kirk Paul Lafler The SAS Macro Language is a powerful tool for extending the capabilities of the SAS System. This hands-on workshop teaches essential macro coding concepts, techniques, tips and tricks to help beginning users learn the basics of how the Macro language works. Using a collection of proven Macro Language coding techniques, attendees learn how to write and process macro statements and parameters; replace text strings with macro (symbolic) variables; generate SAS code using macro techniques; manipulate macro variable values with macro functions; create and use global and local macro variables; construct simple arithmetic and logical expressions; interface the macro language with the SQL procedure; store and reuse macros; troubleshoot and debug macros; and develop efficient and portable macro language code. macro variable, macro facility, proc step, macro parameter, %macro parameters, autocall macro, macro definition, proc sql, keyword parameter, macro function, dictionary tables, proc contents, &variable, options statement, macro loop source 11
50 Map It Out: Using SG Attribute Maps for Precise Control of PROC SGPLOT Output Joshua M. Horstman The SGPLOT procedure, part of the ODS Statistical Graphics package, allows for extensive customization of nearly all aspects of plot output. These capabilities are commonly used to distinguish between groups or categories being compared through the use of distinct plot attributes, such as symbols and colors. However, there are times when it is advantageous to be able to associate specific plot attributes with specific data values. SG attribute maps provide functionality that does exactly that. This presentation will provide an introduction to the use of SG attribute maps in conjunction with PROC SGPLOT. A series of examples will demonstrate how attribute maps are used and why they are useful as a programming tool. Both discrete and range attribute maps will be used to modify a variety of plot attributes, such as plot marker symbols and colors, line styles and fill patterns. scatter plot, proc sgplot, proc step source 11
51 PROC SORT (then and) NOW Derek P. Morgan The SORT procedure has been an integral part of SAS since its creation. The sort-in-place paradigm made the most of the limited resources at the time, and almost every SAS program had at least one PROC SORT in it. The biggest options at the time were to use something other than the IBM procedure SYNCSORT as the sorting algorithm, or whether you were sorting ASCII data versus EBCDIC data. These days, PROC SORT has fallen out of favor; after all, PROC SQL enables merging without using PROC SORT first, while the performance advantages of HASH sorting cannot be overstated. This leads to the question: Is the SORT procedure still relevant to any other than the SAS novice or the terminally stubborn who refuse to HASH? The answer is a surprisingly clear "yes". PROC SORT has been enhanced to accommodate twenty-first century needs, and this paper discusses those enhancements. proc sort, sample, proc step, proc sql, out=, sas programmer, order by, options statement source 11
52 Putting the Meta into the Data: Managing Data Processing for a Large Scale CDC Surveillance Project with SAS Louise S. Hadden There are myriad epidemiological and surveillance studies ongoing due to the pervasive COVID -19 pandemic, often embodying the definition of "big data" with thousands of participants, variables, and lab samples. Data can be derived from many different streams in a given study, for example: REDCap software, electronic medical records (EMR), chart abstraction, laboratory records, etc. Different contractors can be managing distinct aspects of the same project, the data is changing minute to minute, and the deliveries are required at a fast and furious pace. Wrangling all the different data sources requires robust data management routines, and SAS can help, with tools to obtain data via APIs and PROC HTTP, metadata resources, and programming techniques. This paper and presentation will outline best practices for managing multiple aspects of large scale CDC surveillance projects, using SAS. proc step, data dictionary, dataset, proc compare, proc format, label statement, quality assurance, sample, character functions, sas function, index, excel source 18
53 Quick Jumpstart into Pharmaceutical SAS Programming Jim Box,
Matthew J. Becker
SAS analytics is used across many industries: retail, gaming, finance, insurance, and many others. But what is different when it comes to the pharmaceutical industry? What kind of SAS PROCs do we use for safety and efficacy in clinical development? What do safety and efficacy in clinical development mean? In this paper and presentation, we will cover common topics and SAS programming methodologies used in clinical R&D analysis. proc step, clinical trial, proc sql, adverse events, macro definition, pharmaceutical industry, data science, vital signs, data integration, data step, proc sort, proc transpose, sas programming, adam dataset, feature engineering, edc, proc freq, clinical research, cdisc source 7
54 SAS and Open Source Playing Nicely Together Jim Box,
Samiul Haque
Open-source languages like R and Python are immensely popular and quite useful. Did you know you could write code blocks of Python and R inside of SAS programs? You can also invoke SAS analytics from open-source programs. In this presentation, we will summarize all the ways SAS and open source proc iml, proc step, sas log, dataset, proc python, sas programmer source 9
55 SAS as a Tool in Data Curation: A Case Example with the Inter-university Consortium for Political and Social Research Piotr Krzystek The Inter-university Consortium for Political and Social Research (ICPSR) at the University of Michigan specializes in archiving social science data by utilizing various practices, such as data curation, to make its objectives possible. Data curation is the practice of taking deposited data and documentation, running various forms of quality check to "clean up" the information, and then releasing the materials online for interested individuals to download and analyze on their part. Various software tools an d statistical packages are utilized in the data curation process, including SAS. The purpose of this paper is to discuss how SAS is utilized as part of the data curation process in the setting of ICPSR. label statement, proc compare source 5
56 SAS Log Parsing: SAS Logs without the slog Drew Metz As any SAS programmer has undoubtedly noticed, the size of the SAS Log can grow exponentially with the complexity of the program. This is even more true and unpredictable when your SAS program is driven by an external source - such as when an EXCEL file is read in line by line to control the operations of a program. Picking out useful information from the Log can become burdensome when thousands of lines are generated. Further, there are potentially important issues SAS will flag as NOTES within the Log that can be lost among hundreds of innocuous notes. Programming a SAS Log parser can pay off when the SAS Log is growing too large to manually review. Additionally, SAS has several options and system level Macro variables related to the Log that are useful for interacting with the Log in a meaningful way. There are two key reasons why SAS Log parsing is an approachable task. First, a small bit of SAS code can output the Log as an external text file (ideal for parsing). sas log, macro variable, automatic macro variable, proc printto, proc step, macro call, options statement, macro function source 7
57 Should I Wear Pants in the Portuguese Expanse? Automating Business Rules and Decision Rules Through Reusable Decision Table Data Structures that Leverage SAS Arrays Troy Martin Hughes,
Louise S. Hadden
Decision tables operationalize one or more contingencies and the respective actions that should be taken when contingencies are true. Decision tables capture conditional logic in dynamic control tables rather than hardcoded programs, facilitating maintenance and modification of the business rules and decision rules they contain-without the necessity to modify the underlying code (that interprets and operationalizes the decision tables). This text introduces a flexible, data -driven SAS macro that ingests decision tables - maintained as comma -separated values (CSV) files -into SAS to dynamically write conditional logic statements that can subsequently be applied to SAS data sets. This metaprogramming technique relies on SAS temporary ar rays that can accommodate limitless contingency groups and contingencies of any content. if-then-else, macro variable, array, predictor variable source 13
58 Simmering Data: Using Beautiful Soup and Python to scrape data from web pages Joe Matise Ever look at a table on a web page and wished you had it in a data set? You probably took one look at the source of the web page and then decided it wasn't worth the hassle. SAS has some tools to help, but oftentimes tables have too much complexity to parse without hours of work. Instead, parse the web page on easy mode using Python - even if you don't know any Python! In this paper, we will show an option using a Python library, Beautiful Soup, that allows users to easily navigate even fairly complex web pages, and quickly pull tables into Pandas DataFrames. Once in a Pandas DataFrame, that data can be easily uploaded to SAS to further processing. This paper can be useful for users at any level of SAS programming, and assumes no knowledge of Python. sas log, sas base source 10
59 So You Want to be a Successful Statistical Programmer?: The Importance of People Skills Carey G. Smoak Technical programming skills are a must for a statistical programmer! However, I will demonstrate, in this paper, that people skills are at least equally important as technical skills for a successful statistical programmer. The days of simply sitting in a cubicle and programming are fading. Even statistical programmers who work remotely need people skills. In this rapidly changing world of varied communications methods, people skills are an integral part of the success of a statistical programmer. I will challenge the notion that you are born with people skills. Moreover, I will show how pe ople skills can be developed. The savvy statistical programmer would indeed be wise to pay attention to developing their people skills in order to ensure a successful career. statistical programmer, clinical trial source 4
60 Standardised MedDRA Queries (SMQs): Beyond the Basics; Weighing Your Options Richann J. Watson,
Karl Miller
Ordinarily, Standardised MedDRA Queries (SMQs) aim is to group specific MedDRA terms for a defined medical condition or area of interest at the Preferred Term (PT) level, which most would consider to be the basic use of SMQs. However, what if your study looks to implement the use of SMQs that goes beyond the basic use? Whether grouping through the use of algorithmic searching, using weighted terms or not, or through the use of hierarchical relationships, this paper looks to cover advanced searches that will take you beyond the basics of working with SMQs. Gaining insight to this process will help you become more familiar in working with all types of SMQs and will put you in a position to become the "go- to" person for helping others within your company. adverse events, exposure source 8
61 Standardized, Customized or Both? Defining and Implementing (MedDRA) Queries in ADaM Data Sets Richann J. Watson,
Karl Miller
Investigation of drug safety issues for clinical development will consistently revolve around the experience and impact of important medical occurrences throughout the conduct of a clinical trial. As a first step in the data analysis process, Standardized MedDRA Queries (SMQs), a unique feature of MedDRA, provide a consistent and efficient structure to support safety analysis, reporting, and also address important topics for regulatory and industry users. A variance in working with SMQs is the ability to limit the scope for the analysis need (e.g., "Broad" or "Narrow") but there is also the ability outside of the specific SMQs in allowing the ability to develop Customized Queries (CQs). With the introduction of the ADaM Occurrence Data Structure (OCCDS) standard structure, the incorporation of these SMQs, along with potential CQs, solidified the need for consistent implementation, not only across studies, but across drug compounds and even within a company itself. adverse events, lookup, clinical trial, sensitivity analysis, sample, data science, cdisc source 7
62 Story telling with SAS Visual Statistics Jim Box,
Laura Watson
SAS Visual Statistics allows you to combine creative data visualizations with advanced modeling techniques to create compelling stories to solve data problems. In this presentation, we'll combine dashboards, visualizations, and statistical analyses to find the root causes for a medical procedure failure. proc hpsplit, response variable, logistic regression, regression analysis, logistic distribution source 8
63 Study of cause and effect in medical research via SAS Statistical package Oleg Korovyanko We looked how significantly loneliness and social support scores (LS and SSC in Refs. [Dong 2008, Dong 2009] for seniors is associated with elderly mistreatment (EM). TTEST procedure was applied for social support score (SSC) and loneliness score (LS). We have found that the social support score (SSC) and loneliness score (LS) are significantly different for EM and control groups (both Pr > |t| p-values were <0.0001). After we matched subjects with PSMATCH procedure, we got strong correlation for SSC (Pr > |t| p-value of 0.0034) and much weaker correlation with LS (Pr > |t| p-value of 0.1968). We looked also how autism diagnosis (Dx2) in children correlates with length of breastfeeding (C_BFMo) and corresponding categorical variable C_BFlength (1 = kid was breastfed 0 to 3 months, 2 = 3+ months). We had to limit both Dx2 and C_BFlength to two categories because of the nature of PROC PSMATCH. propensity score, proc step, correlation, logistic regression, standard deviation, likelihood function, logistic distribution, regression analysis source 11
64 Talking to Your Host Interacting with the Operating System and File System from SAS Kurt Bremser SAS provides multiple tools to interact with the underlying operating system. This paper will review those tools, from the built-in functions to simple use of external commands to complex, flexible solutions for problems that cannot be solved with built-in functions. macro variable, automatic macro variable, sysrc, filename statement, dataset source 12
65 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 ePoster 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
66 The Battle of the Titans (Part II): PROC REPORT versus PROC TABULATE Kirk Paul Lafler,
Ben Cochran,
Joshua M. Horstman,
Ray Pass,
Daniel E. Bruns
Should I use PROC REPORT or PROC TABULATE to produce that report? Which one will give me the control and flexibility to produce the report exactly the way I want it to look? Which one is easier to use? Which one is more powerful? WHICH ONE IS BETTER? If you have these and other questions about the pros and cons of the REPORT and TABULATE procedures, this presentation is for you. We will discuss, using real-life report scenarios, the strengths (and even a few weaknesses) of the two most powerful reporting procedures in SAS (as we see it). We will provide you with the wisdom you need to make that sometimes difficult decision about which procedure to use to get the report you really want and need. proc step, proc report, proc tabulate, excel, proc means source 15
67 The Best Kept Secret of Custom Built Tasks Built in SAS Studio! Jennifer Rosson SAS Studio is a web-based tool that allows users to run SAS code through the web browser. It also offers several predefined tasks, which allow for point-and-click user interfaces for several analytical procedures. A big surprise to many SAS programmers is that SAS Studio offers the capability to create custom tasks with very little effort. These custom tasks can become powerful tools of automation for many audited processes. Custom tasks can be created to provide a user interface requiring entry of a few parameters that can set off a series of SAS programs fully automated to run, review log files for errors, check data quality, send emails, and publish reports. macro variable, sas log, sas studio, macro facility, macro definition, sample, sas programmer, proc step, sas base, dataset, macro put, production run source 29
68 The Essentials of SAS Dates and Times Derek P. Morgan The first thing you need to know is that SAS software stores dates and times as numbers. However, this is not the only thing that you need to know. This presentation gives you a solid base for working with dates and times in SAS. It introduces you to functions and features that enable you to manipulate your dates and times with surprising flexibility. This paper shows you some of the possible pitfalls with dates (and times and datetimes) in your SAS code and how to avoid them. We show you how SAS handles dates and times through examples, including the ISO 8601 formats and informats and how to use dates and times in TITLE and FOOTNOTE statements. The presentation closes with a brief discussion of EXCEL conversions. sysdate9, date variable, sample, excel, macro variable, proc format, missing value, proc step, error message, user-defined format, character variable, input statement, numeric variable, time, flat file, time., macro function source 25
69 The Functional Service Provider Model: A Comprehensive and Collaborative Solution Jim Baker,
David J. Polus,
John Kurtz
This paper, drawing on 60+ years of FSP management experience, will explore the strategic advantages to utilization of an FSP approach to biometrics work, including the customization available, setup, maintenance, and ongoing governance. The reader will better understand the difference between staffing and a service solution. service provider, clinical programming source 10
70 Time Since Last Dose: Anatomy of a SQL Query Derek P. Morgan Even though much of what we need to accomplish SAS programmers can be accomplished using the DATA STEP, SQL can provide an alternative to large amounts of data manipulation. First, this paper will walk you through how SQL joins two datasets. Second, we will walk through the case of determining time since last (or first) dose, and present an SQL solution in place of multiple SORTs, MERGEs, TRANSPOSEs, and use of the LAG function. Not only is the code economical, but the execution is also economical. This may also help to increase your understanding of how the WHERE statement, and the SQL GROUP BY, and HAVING clauses work. adverse events, proc sql, sample, where statement, group by, proc step, create table, order by source 12
71 TrackCHG: A SAS Macro to Colorize and Track Changes Between Data Transfers in Subject-Level Safety Listings Inka Leprince,
Elizabeth Li,
Carl Chesbrough
Most ongoing clinical trials have a data monitoring committee and/or an internally motivated sponsor who periodically reviews the accumulating safety data of their enrolled subjects. Subject-level listings and patient profiles are essential aids in the review of clinical data. To ease the burden on the data reviewers, sponsors increasingly request color coding outputs in order to easily identify old/deleted records from the previous data transfer and highlight new records from the current data transfer. At PharmaStat, we have developed a SAS macro, TrackCHG, to meet this increasingly popular request for color-coded subject level listings and patient profiles. This paper explains the components and functions of the TrackCHG SAS macro within the context of generating of an adverse event listing. The provided sample datasets and SAS code allow the reader to experiment and implement the TrackCHG macro into existing listing generation programs and produce their own color-coded outputs. adverse events, sample, proc report, proc step, macro definition, adae, character variable, adam dataset, sas output, data cleaning, clinical data, macro variable, full join, clinical trial, macro parameter, raw data, study day, data review, excel, cdisc source 21
72 True is not False: Evaluating Logical Expressions Ronald J. Fehd proc sql, macro put, full join, macro variable, %if-%then-%else source 10
73 Understanding Administrative Healthcare Datasets using SAS programming tools Jayanth Iyengar Changes in the healthcare industry have highlighted the importance of healthcare data. The volume of healthcare data collected by healthcare institutions, such as providers and insurance companies is massive and growing exponentially. SAS programmers need to understand the nuances and complexities of healthcare data structures to perform their responsibilities. There are various types and sources of administrative healthcare data, which include Healthcare Claims (Medicare, Commercial Insurance, & Pharmacy), Hospital Inpatient, and Hospital Outpatient. This training seminar will give attendees an overview and detailed explanation of the different types of healthcare data, and the SAS programming constructs to work with them. The workshop will engage attendees with a series of SAS exercises involving healthcare datasets. proc step, proc freq, sas programmer, proc sort, proc tabulate, insurer, health insurance, proc contents, proc format, proc sgplot, proc sql, deduplication, group by, service provider, sample, proc report, sas programming, by group processing, dataset, lookup, proc means source 24
74 Unlocking the Web With Python and SAS: Shortcuts to accessing data using Python and SAS Joe Matise Learning that you need to access your data through a REST API can be intimidating for data scientists, with complicated syntax, needing to manage authorization keys or login credentials, and no helpful SAS code anywhere to be seen for most. The good news is that you do not have to be a web guru to use them - you just need to use the right tools. In this paper, we will show examples of using Python pulled directly from API documentation to connect to REST APIs, and then show how to get that data into SAS or Viya. No prior knowledge of Python or REST APIs is expected or required. Most SAS programmers capable of writing basic DATA STEP code should understand the level of code we use in this example. rest api, proc http, proc step, sas programmer, sample, proc sql source 7
75 Using Dictionary Tables to Create Dynamic Programs Jake Reeser This paper discusses the Dictionary library, and how to utilize some of the tables in this library to write dynamic programs. I will cover what the dictionary library is, how to access this library, useful tables in it, and how to use these tables to write data driven code. I will specifically look at the two tables Dictionary.COLUMNS and Dictionary.TABLES, and how to utilize these tables to pass in parameters to macros. This technique allows users to easily call a repeated macro, while also limiting user input errors. dictionary tables, proc sql, proc step, macro variable, sas log, macro function, character variable, sashelp, create table, macro put source 9
76 Using LaTeX document class sugconf to write your paper Ronald J. Fehd macro definition, macro variable source 17
77 Using SAS Formats Tom Kari Formats are a secret weapon in SAS, for the initiated. But there are a lot of moving parts...What does a format look like? Where are my formats stored? How can I replace a format? How can I decide which format will be used? Answers to these questions, and a few well-travelled tips for solving common programming problems with formats, will provide some additions to your toolkit that will let you get even more use out of this versatile tool. proc step, proc format, sas library, dataset, format statement source 8
78 Using SAS Gplot Overlay to Effectively Visualize and Compare COVID-19-Sepsis versus Sepsis Post-hospital Discharge Locations Over Time Xiao Qing Wanng,
Sarah Seelye,
Brenda McGrath,
Hallie Prescott,
Theodore Iwashyna,
Elizabeth Viglianti
In a world of Big Data and results-orientated clinical research, complex results can be difficult to absorb quickly and easily. This is particularity true during the COVID-19 pandemic, when vast amounts of data and statistics were made available to the public. Effective data visualization can offer quicker data insights and processing, help better communicate findings, and facilitate meaningful discussions. We aim to illustrate the effectiveness of visualization techniques in understanding the unique outcomes of distinct populations. We do this by creating overlay plots using SAS GPLOT to compare post-hospital discharge locations among U.S. Veterans in 2020 with either A) sepsis and COVID -19+ or B) sepsis-only. The plots show clear proportional differences in post-hospital discharge mortality and readmission into acute care or nursing home facilities over time. Our paper describes the data preparation needed for creating Gplots and assessing differences in patient outcomes. sample, proc freq source 7
79 Using the Output Delivery System to Create and Customize Excel Workbooks Joshua M. Horstman In years past, SAS output was limited to the text-based SAS listing. However, the Output Delivery System (ODS) greatly enhanced the capabilities of the SAS system by allowing users to create highly - customizable output in a variety of document formats, including Microsoft EXCEL workbooks. This paper provides a brief overview of how to use the ODS EXCEL destination to create EXCEL workbooks and how to customize the various visual attributes of the output such as fonts, colors, styles, and much more. excel, output delivery system, proc step, xls, proc template, proc report, ods excel, by group processing, sas output source 7
80 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
81 What's Your Favorite Color? Controlling the Appearance of a Graph Richann J. Watson The appearance of a graph produced by the Graph Template Language (GTL) is controlled by Output Delivery System (ODS) style elements. These elements include fonts and line and marker properties as well as colors. A number of procedures, including the Statistical Graphics (SG) procedures, produce graphics using a specific ODS style template. This paper provides a very basic background of the different style templates and the elements associated with the style templates. However, sometimes the default style associated with a particular destination does not produce the desired appearance. Instead of using the default style, you can control which style is used by indicating the desired style on the ODS destination statement. However, sometimes not a single one of the 50-plus styles provided by SAS achieves the desired look. Luckily, you can modify an ODS style template to meet your own needs. One such style modification is to control which colors are used in the graph. bar chart, proc template, proc step, sample, series plot, output delivery system source 33
82 What's your model really doing? Understanding human biases in Machine Learning. Jim Box Machine learning and artificial intelligence are having a tremendous impact on our day-to-day lives, covering areas like financial opportunities, health care, job selection and promotion, and even how we interact with vehicles on the street. It's tempting to think that because a model came up with a suggestion, it must be based on science that has been fairly conducted, but that is far from the case - human biases have tremendous impacts on how machine learning algorithms come up with predictions. As programmers, we have a responsibility to understand the sources and impacts of these bi ases, and to look at ways we can mitigate the potential harm. machine learning, neural network, training set source 5
83 Your Query's No Good Here: PROC SQL Code That Doesn't Work Outside of SAS Jedediah J. Teres PROC SQL is based on the 1992 ANSI standard. As a result, SQL implementations based on more recent standards have functions not available in PROC SQL, like the ordered analytic family of functions (also known as "window" functions). Conversely, there are enhancements and extensions to SQL available in PROC SQL that are unique to SAS, such as the OUTER UNION CORRESPON DING operator. This paper describes scenarios in which valid PROC SQL will not work in other SQL implementations such as SQL Server and proposes alternative solutions. proc sql, proc step, sql server, sql pass-through, windowing, group by, sample, select source 11

Back to Conf go 2023 go 2019

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.