WUSS 2018 Papers - Index
107 papers. Source: WUSS (Western Users of SAS Software) conference proceedings.
| # | Title× | Authors× | Abstract× | Keywords× | Extras | Pages |
|---|---|---|---|---|---|---|
| 1 | "Training Wheels" for learning mixed models | YuTing Tian, Russell M. Lavery |
This paper intends to provide insights, rather than math, as part of an introduction to mixed models. It's intended for someone just starting out to learn mixed models and wants to show the link between one- way ANOVA, two-way ANOVA and mixed models. Along the way, it is a good explanation of fixed effect ANOVA. There is a thread that links all of the sections of this paper together. That thread is the idea that error, or variability, is the inability of a process to repeat its mean. Another deliverable of this paper is that it contains worked examples of the matrix calculations and, in the appendix, SAS code that displays the matrices that appear in typical explanations of mixed models. | anova, proc step, fixed effects, proc mixed, f-test, proc anova, covariance, degrees of freedom, proc glimmix, sas output | source | 20 |
| 2 | A latent variable location scale model for intensive longitudinal data | Shelley A. Blozis | Mixed-effects models give a flexible means to the analysis of longitudinal data. A location scale model, a special case of these models, is useful for intensive longitudinal data in which data are collected for many time points. The model characterizes between-subject variation in response levels over time, as well as within-subject variation in each person's responses. One part of the model allows for the inclusion of person-level predictors of the between-subject variation in mean response levels to understand individual differences, such as individual differences in daily stress averaged across multiple days. A second part of the model allows for the inclusion of both time-specific and person-specific predictors of the within-subject variation. This provides a way to study why the responses of some individuals may fluctuate more widely relative to those of others. Current applications of the model assume that the responses are measured without error. | random intercept, latent variable, longitudinal data | source | 3 |
| 3 | A Macro to Avoid P21 FDAC036 Error Message for Regulatory Submission Datasets | Venkata Madhira, Prabhakara Rao Burma |
As per the CDISC guidelines the clinical trials data must be submitted in SAS V5 Transport file format. These transport files should be validated using the Pinnacle 21 (P21) validator to ensure CDISC compliance and all errors given by the P21 validator should be addressed by the programming team. One of the most common P21 error messages is FDAC036 (Variable length is too long for actual data). Usually for most of the character variables we typically assign some default length while creating SDTM and ADaM datasets. But if the variable length is greater than its maximum value length, P21 validator will produce an error message (FDAC036). To address FDAC036 error message as well as significantly decrease the size of the file, we developed a macro named ADJLEN, which will be discussed in this paper. | character variable, length statement, error message, cdisc | source | 3 |
| 4 | A Macro Tool to Find and/or Split Variable Text String Greater Than 200 Characters for Regulatory Submission Datasets | Venkata Madhira, Harish Yeluguri |
All submission datasets must comply with CDISC guidelines. One of the challenging tasks in following CDISC guidelines is variable text string in a submission dataset should not exceed 200 characters. If this scenario occurs in general observation class domains, the first 200 characters are stored in parent domain variable and other part of the text to be stored in supplemental qualifiers dataset as per CDISC standards. In case of TSVAL and COVAL the first 200 characters are stored in the parent domain variable, and rest of the text to be stored in additional variables (eg: COVAL1, COVAL2…) with each new variable text length less than or equal to 200. When collecting data from subjects and/or populating trial summary parameters (TSVAL), it is very common for the values to exceed 200 characters. In fact, it is tedious and cumbersome process for a programmer to search each dataset in a library for the variables with text value greater than 200 characters. | keyword parameter, %macro parameters, cdisc | source | 7 |
| 5 | A Simple Method for Colorizing Saved Log Files | Matthew T. Slaughter | This presentation discusses a method for reading SAS logs saved as text files from previously executed SAS jobs and displaying them in the log window of a current SAS session. This all ows SAS to color code error, warning, and note messages in saved logs which lose this formatting when saved as text. This enhances the readability of SAS logs for code review. Other methods for saving logs with color will be briefly discussed, as well as the advantages and disadvantages of those methods. The SAS log is an important tool for ensuring the quality of analytical work in SAS and color coding helps to highlight information provided about SAS code execution. | sas log, sas studio, options statement, sas enterprise guide | source | 5 |
| 6 | 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 |
| 7 | A Walk through Time: Growing Your SAS Career | Arthur L. Carpenter | The measurement of time is an integral component of most of our data sets. We note the date of the patient's visit and both the date and the time of the administration of a test. The accurate calculation of time intervals, such as the time between drug delivery and onset of an adverse event, becomes critically important. Fortunately SAS ships with a diverse set of tools for working with dates and times. As SAS programmers and as users of SAS Software, time measurement is important, not only in the successful analysis of our data, but also as a gauge in the growth of our career. To be successful we must be able to measure and work with time values, but time is also a measure of the progression of our career. This paper introduces a number of measures of time, a variety of analytic techniques applied to date and time values, interwoven with a discussion of the Grand Canyon, the Great Wall of China, and the continued growth of our professional knowledge. | sysdate9, macro facility, macro variable, sas programmer | source | 8 |
| 8 | Abstracting and Automating Hierarchical Data Models: Leveraging the SAS FORMAT Procedure CNTLIN Option To Build Dynamic Formats That Clean, Convert, and Categorize Data | Troy Martin Hughes | The SAS FORMAT procedure "creates user -specified formats and informats for variables." i In other words, FORMAT defines data models that transform (and sometimes bin) prescribed values (or value ranges, in t he case of numeric data) into new values. SAS formats facilitate multiple objectives of data governance, including data cleaning, the identification of outliers or new values, entity resolution, and data visualization, and can even be used to query or join lookup tables. SAS formats are often hardcoded into SAS software, but where data models are fluid, formats are best defined within control files outside of software. This modularity-the separation of data models from the programs that utilize them-allows SAS developers to build and maintain SAS software independently while domain subject matter experts (SMEs) separately build and maintain the underlying data models. |
format statement, proc format, data standard, proc report, dataset, exception handling, proc step, macro parameter, macro variable, master data management, data governance, proc freq, data transformation, macro definition | source | 21 |
| 9 | Advanced Programming Concepts: History of the List Processing and Cardinality Ratio Memes | Ronald J. Fehd | A statement in a natural language contains three parts: subject, verb and object. A statement in a computer language contains only two parts: verb and an object; the subject, or actor, is the computer's operating system. The predecessor of the meme list processing is the computer language LISP, in which every statement is a function call and the object is a list. The list processing paradigm of programming contains these steps: 1. identify an object, an item; 2. write a function, process, or procedure for an item; 3. prepare a list of items; 4. use a loop on the list, to process each item. This paper reviews the author's development of the concept of list processing and its implementation in SAS software. The purpose of this exposition is to highlight the author's papers published on these topics and to provide a critique of earlier ideas. This is accomplished by a review of the development of processes for calculating the cardinality ratios and cardinality types of the variables in a data set. | proc step, macro variable, proc sql, create table, macro call, macro definition, proc contents, proc freq, call execute, select, macro loop, %if-%then-%else | source | 30 |
| 10 | Advanced Programming Techniques Using the DS2 Procedure | Viraj R Kumbhakarna | DS2 is a SAS proprietary programming language appropriate for advanced data manipulation. In this paper, we explore advantages of using PROC DS2 procedure over the DATA STEP programming in SAS . We explore various programming techniques within PROC DS2 to resolve real world SAS programming problems such as use of hash objects for performance improvement, support for calls to FCMP user defined functions and subroutines within DS2, and use of powerful and flexible matrix programming capability within DS2. We explore executing queries in-databases using FED SQL and explore use of embedded FedSQL to generate queries in run-time to exchange data interactively between DS2 and supported database. This allows processing data from multiple tables in different databases within th e same query thereby drastically reducing processing times and improving performance. We explore use of DS2 for creating, bulk loading, manipulating and querying tables in an efficient manner. |
proc sql, proc step, hash table, proc fcmp, connection string, sas function, variable list, dataset, sample, data step, hash iterator, key, sas base, cpu time, select | source | 20 |
| 11 | Agreeing to Disagree: Using SAS to Make Reasoned Decisions When Information Criteria Select Different Models | Wendy Christensen | Information criteria are a useful and flexible tool for model selection when the null hypothesis testing framework is unsuitable or undesirable. Over 30 procedures in SAS/STAT 14.3 provide information criteria for fitted models automatically. Typically, the model with the lowest information criterion value is considered the "best" model, the model with the second-lowest value is considered the "second-best" model, and so on. In practice, many statistical modelers use multiple information criteria (e.g. AIC and BIC) to select among a set of candidate models. It is possible, however, for different information criteria to rank models differently, potentially leading to seemingly conflicting results. The focus of this breakout session is twofold. First, I provide a conceptual overview of why differences in model ranking occur and describe practical approaches to resolving disagreements. |
feature selection, proc rank, sas base, sample size, hypothesis testing, null hypothesis, likelihood function, sample, proc sql, macro variable, proc freq | source | 10 |
| 12 | An Efficient Way to Output Univariate Analysis Results with Multiple Predictors | Bocheng Jing, Kathy Fung, W. John Boscardin |
When building a predictive model, researchers often begin the selection process with a univariate regression analysis for each variable. The variable with a significant univariate test result that is under a pre-specified cut-off level will potentially be the candidate in the final model. If a study contains many variables, it is repetitive to run the same univariate regression procedure for each predictor and outputting the analysis results after each iteration would be tedious and cumbersome. Using DO LOOP can fulfill the task of procedure automation; however, it is time costly and inefficient. In this paper, we will use a method that runs the univariate regression in an efficient way. We will also use SAS Output Delivery System (ODS) to deliver the analysis results of interest (e.g. p-value, odds ratio, C-statistics) in integration. |
regression analysis, by group processing, do loop, odds ratio, logistic distribution, proc step, proc logistic, univariate analysis | source | 7 |
| 13 | Analyzing international assessments: An ensemble and model comparison approach | Chong Ho Yu, Hyun Seo Lee, Siyan Gan, Emily Lara |
Learners in Asian countries and religions are among the top performers in the Programme of International Assessment of Adult Competencies (PIAAC). In the past, numerous studies had been conducted to identify the predictors of their outstanding performances. However, this type of analysis is challenging due to the large sample size. To rectify the situation, this study utilized ensemble methods (bagging and boosting) in SAS and JMP to analyze these international assessment data. Bagging can minimize variance but may inflate bias whereas boosting can reduce bias and improve predictive power , but cannot control variance. In order to identify the best model, both methods were employed and different criteria were examined for the model selection. | sample, bootstrap, regression analysis, big data, machine learning, data mining, data visualization, hypothesis testing, gradient boosting, sample size, r-squared, data cleaning, proc hpforest, proc step, data science, proc princomp | source | 13 |
| 14 | Animate Your Data! | Richann J. Watson, Kriss Harris |
When reporting your safety data, do you ever feel sorry for the person who has to read all the laboratory listings and summaries? Or have you ever wondered if there is a better way to visualize safety data? Let's use animation to help the reviewer and to reveal patterns in your safety data, or in any data! This hands-on workshop demonstrates how you can use animation in SAS 9.4 to report your safety data, using techniques such as visualizing a patient's laboratory results, vital sign results, and electrocardiogram results and seeing how those safety results change over time. In addition, you will learn how to animate adverse events over time, and how to show the relationships between adverse events and laboratory results using animation. You will also learn how to use the EXPAND procedure to ensure that your animations are smooth. Animating your data will bring your data to life and help improve lives! |
series plot, change from baseline, box plot, proc step, adverse events, by group processing, ods graphics, output delivery system, sample | source | 18 |
| 15 | Automate Repetitive Programming Tasks: Effective SAS Code Generators | Yun (Julie) Zhuo | SAS programmers often need to perform computing chores that require a lot of repetitive typing. Examples include labeling variables for a large data set or transposing a large number of variables. This paper introduces and compares two methods to automate repetitive tasks. The reliability, efficiency, as well as potential pitfalls of the two methods will be demonstrated with two examples. The audience should be comfortable with base SAS and the basic SAS macro language. | macro variable, call execute, label statement, dataset, data step, sas programmer, excel | source | 8 |
| 16 | Automating SAS Job Streams with the Power of VB Script | Lindsey Whiting, Joey Kaiser |
When making important business decisions it is crucial to have the ability to manipulate and analyze large amounts of data. With the amount of data available to us in the world today, automating SAS jobs has become a necessity to provide efficient and critical business improvements . A great strategy to automate SAS jobs and give the ability for custom error checking is to leverage VB Scripting with your SAS code . This paper will discuss job stream automation and utilizing SAS to check files' statuses, notify users of program errors and automatically send out the results of your code. | sas function, macro variable | source | 11 |
| 17 | Better than Average: Calculating Geometric Means Using SAS | Kim Roenfeldt | Geometric means are a robust and precise way to visualize the central tendency of a data set, particularly when examining skewed data or comparing ratios. Measures of central tendency are predominantly presented as arithmetic means or medians that are relatively simple to calculate and interpret, but may be inaccurate in representing data that are not strictly normal. Geometric means represent the best of both worlds, providing estimates that take into account all the observations in a data set without being influenced by the extremes. They can be applied by SAS programmers working in multiple industries including business, finance, health care, and research. Examples are varied and include examining compounded interest rates or returns on investments, assessing population changes in longitudinal data, or investigating lognormal data such lab assay results, biological concentrations, or decay rates. | geomean, standard deviation, numeric functions, central tendency, proc step, sample, longitudinal data | source | 9 |
| 18 | Bring the Vampire out of the Shadows: Understanding the RETAIN and COUNT functions in SAS | Steven C. Black | In SAS there are few things that can turn a good programmer into a pale, sleep deprived, shadow s eeking individual like a RETAIN statement that is not working right. In this paper I hope to provide a deeper understanding on how to better count on and count with the RETAIN statement in SAS. I will illustrate a number of ways to count using the properties of the program data vector and provide some real life examples of how I have found using the RETAIN statement super helpful. In the end I hope to bring out of the shadows and into the light the RETAIN and count functions. | retain, by group processing | source | 8 |
| 19 | Building Dashboard with Base SAS - Institutional Research Experience | Abdus Shahid | Institutions of higher education are increasingly depending on data to make evidence based policy decisions. Top level administrators want to see summarized data as key metrics and dashboards are a good way to present such data in a visually appealing way. This paper presents the process of building a six-panel dashboard that the office of Institutional Research and Effectiveness of Western Oregon University built with Base SAS that brings together student enrollment, retention, graduation and degrees awarded. Other charts in the dashboard show revenue and expenditure by source and type and faculty and staff by rank and class. All of the six charts have several levels of drill down capability. | sas base, dataset | source | 15 |
| 20 | Case Study: Using Base SAS to Automate Quality Checks of Excel Workbooks that have Multiple Worksheets | Lisa A. Mendez, Andrew T. Kuligowski |
This case study provides a real-world example of how Base SAS was used to read in over 985 EXCEL workbooks to check the structure of over 90,000 worksheets - and to repeat the Process quarterly. It will illustrate how components such as the LIBNAME XLSX Engine, PROC SQL (to create macro variables), SAS Dictionary Tables, and SAS Macros were used together to create exception reports exported to MS EXCEL workbooks. The structure of the worksheets, such as worksheet names and variable names, we re checked against pre-loaded templates. Values within the worksheets were also checked for missing and invalid data, percent differences of numeric data, and ensuring specific observations were included in specific worksheets. This case study describes the Process from its inception to the ongoing enhancements and modifications. Follow along and see how each challenge of the Process was undertaken and how other SAS User Group conference proceeding papers contributed to this quality check Process. |
excel, macro variable, xls, proc sql, proc step, sample, error message, dictionary tables | source | 10 |
| 21 | CDISC in Phase I/II Studies: Approaches to adopting standards for CSR deliverables | Emily Woolley, Amber Randall |
Implementation of CDISC standards for CSR deliverables can be complex and costly for Phase I/II studies. The decisions of if and when to implement standards are based on a number of factors including breadth of the development program, potential partnerships, and unknown asset viability. We will discuss the ideal CDISC-compliant process flow - engineered from the final statistical deliverables backwards to the initial planning for data collection. Alternate approaches can be taken to balance time, scope, and effort depending on where in the process CDISC standards are adopted. Case studies illustrate considerations and strategies based on lessons learned from implementing CDISC compliance at different time points. | adam dataset, open label, controlled terminology, phase i, sdtm domain, clinical trial, clinical research, laboratory data, raw data, data science, adverse events, cdisc | source | 9 |
| 22 | Cell Growth Simulation Using SAS Software | Karen Walker | This paper will showcase the number crunching power of SAS 9.4. It's back to basics, with an updated twist, a s we will explore the power of the CAMERA interface coupled with SAS PROCS. Building files read into SAS 9.4, this discussion seeks to uncover broader technological trends by integrating visuals, with the metrics power of SAS 9.4. Our objective for this paper is to AUTOMA TE the process of visualization for cell growth in a way that inspires us. | proc step, web service, proc http, proc json, business intelligence | source | 8 |
| 23 | Combined Predictor Selection for Multiple Clinical Outcomes Using PHREG | L. Grisell Diaz-Ramirez, Siqi Gan, Sei J. Lee, Alexander Smith, John Boscardin |
Like other regression methods in SAS , the PHREG procedure has built-in options to perfo rm predictor selection using stepwise methods or best subsets. However, these built-in options for predictor selection do not allow the simultaneous selection of predictors for multiple outcomes. The selection of a common set of predictors for multiple outcomes is important in clinical settings where practitioners are frequently interested in predicting multiple outcomes in the same subject, while at the same time obtaining a parsimonious model with appropriate predictive accu racy. In this paper, we describe a SAS Macro for selecting a common set of variables for predicting multiple outcomes. The selection method uses a variant of backward elimination based on the averag e normalized Bayesian Information Criterion (BIC) across multiple outcomes. The BICs are obtained by fitting multivariable survival models using PHREG i n SAS version 9.4, SAS/STAT 14.2. |
backward selection, regression analysis, macro variable, proc phreg, macro definition, best subsets, competing risks, auc, stepwise selection, degrees of freedom, call symputx, correlation, sample, clinical endpoint, if-then-else, inner join, likelihood function, proc step | source | 14 |
| 24 | Confessions of a SAS PROC SQL Instructor | Charu Shankar | Presentation | proc sql, proc step | source | 70 |
| 25 | Connecting the Dots: Using ODS RTF ANCHORS, ODS RTF BOOKMARKS, and Table of Contents to Guide Readers Through Your SAS RTF Reports | Debra A. Goldman | In today's world, many of us send our reports via email, sometimes never meeting a client in person. Lengthy reports or dense results may be difficult to follow or even overwhelming for clients, even if we've provided everything they've asked for (and more!). The number of results pages may be uncontrollable, but fortunately, the organization and display of findings are controllable. The use of table of contents (TOC) and hyperlinks helps guide clients through the work we've completed by providing structure and connecting related findings. This paper will demonstrate the TOC feature, and the use of ODS RTF ANCHORS and ODS RTF BOOKMARKS within PROC ODSTEXT to guide users through one's RTF report in SAS 9.4. The relative merits and shortcomings of each method will be presented, along with case use examples. These methods are applicable across disciplines, but the examples will come from biostatistics. |
proc step, proc report | source | 14 |
| 26 | Create Cupid Arrow into Two Love Hearts Image Using SAS PROC TEMPLATE --- For the Valentine's Day | Kaiqing Fan | Each year, for all of our SAS programmers, we may be struggling on how to make our girlfriends happy. Buy a luxurious gift? Or give them a special gift? I would like to suggest to create something special to show our true heart and at the same time, show them our power on technical skills and intelligence. Here is a good engine that using SAS skills to create a Cupid Arrow into Two Love Heart. This is a very special gift. You can also use it to create a single love heart with arrow. | proc template, proc step | source | 8 |
| 27 | Creating BDS DERIVED parameters for a subject-level frequency summary table? Then this macro can be useful | Masaki Mihaila | A BDS (Basic Data Structure)-derived subject level frequency table is a core task for SAS programmers. New DERIVED parameters for the event definitions are needed within BDS ADaM datasets. The consistency of the table structure suggests the use of SAS macro functionality to reduce errors and streamline the process. This paper demonstrates a macro to use original parameters from a BDS ADaM database to generate a new Y/N analysis variable to determine whether a subject experiences a defined event during the clinical trial. This paper will use a "liver function test" mock-up as an example. It does not review basic BDS concepts; readers should have basic knowledge of BDS. | proc sql, proc step, sum, group by, macro quoting function, create table, macro function, macro loop | source | 4 |
| 28 | Crime in the USA: Using SAS to Analyze Recidivism Rates | Philip Mayevskiy | This paper focuses on using the Annual Parole Survey (2014), produced by the Bureau of Justice, Statistics to analyze recidivism rates in the United States criminal justice system. The goal of this paper is to illustrate how to use SAS University Edition to analyze the Annual Parole Survey dataset and interpret the results to make accurate conclusions. Though this paper focuses on using statistical analysis to understand recidivism rates in the United States, the techniques applied are widely applicable to various other government statistics. | missing value, regression analysis | source | 8 |
| 29 | Customized Sharing Settings to Improve the Sustainability of HIEs: An Experimental Approach Using SAS | Mohamed Abdelhamid | Health information exchanges (HIEs) are platforms that enable the sharing of patient health information (PHI) among healthcare providers. HIEs offer many benefits; such as lower cost, faster services, and better health outcome to both patients and providers. However, most HIEs have a rigid consent mechanism that provides access to all participating providers to PHI for all consenting patients. This research investigates the impact of granting greater control to patients in sharing their personal health information on consent rates and making them active participants in the HIEs system. This research utilizes a randomized experimental survey design study. The study uses responses from 388 participants and applies confirmatory factor analysis (CFA) and structural equation modeling (SEM) using SAS 9.4 to test the conceptual model (i.e. PROC CALIS and PROC FACTOR). |
proc calis, proc step | source | 5 |
| 30 | Customizing and Automating your Graphs using the SAS SG Procedures | Jesse Albert Canchola, Alen Dzidic, Shiva Narra |
The SAS SG procedures are arguably the best tools in SAS for creating and customizing your graphs. In the past, automating and customizing the SG procedures may have been complex and tedious. However, many new o ptions have been implemented in the SG procedures beginning with SAS Version 9.4 that promise to make customization and automation easier. The SAS user is taken through examples that show the improvements and is provided wi th a road map for successfully leveraging the power of the SAS SG procedures. | proc step, sas log | source | 20 |
| 31 | Data-Driven Data Analysis | Jack N. Shoemaker | When confronted with a new data channel, the modern data scientist or analyst will employ sophisticated data visualization tools like Visual Analytics to size up the data. Not all users have access to these tools and must rely on more pedestrian code-based approaches. This paper explores techniques using Base SAS to provide data-driven data analysis to help size up data absent the more modern tools. These techniques leverage the details about data available from the dictionary subsystem. Knowing the names, formats, and data types of the data allows one to derive great insight into the content of the data stream. | proc step, proc sql, proc freq, user-defined format, data step, proc report, sample, data science, macro variable, missing value, proc univariate, create table, macro loop, label statement | source | 10 |
| 32 | Dating for SAS Programmers | Joshua M. Horstman | Every SAS programmer needs to know how to get a date... no, not that kind of date. This paper will cover the fundamentals of working with SAS date values, time values, and date/time values. Topics will include constructing date and time values from their individual pieces, extracting their constituent elements, and converting between various types of dates. We'll also explore the extensive library of built-in SAS functions, formats, and informats for working with dates and times using in-depth examples. Finally, you'll learn how to answer that age-old question... when is Easter next year? | date variable, sysdate9, datetime, time, macro variable, date and time functions, datepart, automatic macro variable, user-defined format, dhms, sas programmer, options statement, macro function | source | 13 |
| 33 | Deep neural nets in SAS Enterprise Miner | Russell M. Lavery | Recent advances in algorithms and hardware (the GPU chip) have made it possible to build neural nets that are both deeper and wider than had been practical in the past. This paper explores the theory, and a bit of the practice, associated with the building of deep neural networks in SAS Enterprise Miner. | neural network, proc step, data mining, deep learning, catalog entry, residual, training set, histogram, regression analysis | source | 49 |
| 34 | Defensive programming techniques for ongoing clinical studies | Bharath Donthi, Lingjiao Qi |
In clinical trial studies, statistical programming activities often start when data collection is still ongoing. It's a common situation that we have variables or data sets with partial or completely missing data. Below we discuss defensive programming techniques which avoid re-programming when the database is updated. For missing SDTM supplemental qualifiers or variables, we discuss methods to defensively create these variables for continuing ADaM and table/listing programming. One method is to create a dummy SAS data set with all needed variables with null values in a separate DATA STEP, then set it together with the current data set. The other method is to create required variables using array techniques before manipulating SDTM/SUPP data sets. Additionally, we also present a robust programming technique to dynamically generate table/listing outputs handling situations where the current data set does not have the required data for table/listing outputs. |
macro variable, proc report, upcase function, clinical trial, missing value, proc step, colon modifier, index, binary variable, clinical programming, call symput, %if-%then-%else, cdisc | source | 8 |
| 35 | Dependency Macro: Ensuring data reliability in healthcare analytics | Lissa Bayang, Wayne Leonetti |
Obtaining the latest data in healthcare analytics is of utmost importance. Providers and management rely on the newest data obtained from medical records to help drive their daily goals and progress. In many healthcare organizations, SAS programs are run daily to produce the latest data. However, various issues can prevent the upload of the most current data. Some of these issues include delays from the database, high session volumes due to many users accessing the database, and other program failures. It can be problematic for SAS programs to run without any way of checking if the current data set is available to be consumed. This produces unreliable data for stakeholders who need it. To mitigate this issue, a dependency macro is put in place to check if a data set is present with the current date's TIMESTAMP. If the available file does not meet the requirement, SAS processing is delayed until a data set with the current date's TIMESTAMP is present. |
macro variable, macro definition | source | 7 |
| 36 | Dissecting the Burnout Factor for Modeling Mortgage Refinancing | Alec Zhixiao Lin | As an important variable for understanding mortgage prepayment, the burnout factor has two different usages. In pool level analysis it captures how the heterogeneity in borrowers impacts the slowdown in prepayment rates during a cycle of interest rate drop. The term is also employed in behavioral finance to measure borrowers' incentive for refinancing. Using national data published by Freddie Mac, our regression analysis shows that dissecting the burnout factor in terms of incentive and eligibility will make it a good predictor for mortgage refinancing. The two usages are equally valuable and can complement each other for modeling mortgage refinancing and for the valuation of mortgage-backed security (MBS). | interest rate, regression analysis, sample | source | 6 |
| 37 | DOMinate your ODS Output with PROC TEMPLATE, ODS Cascading Style Sheets (CCS), and the ODS Document Object Model (DOM) by Mastering ODS TRACE DOM, Parsing CSS with a PROC TEMPLATE Front End, and Overriding ODS Style Inheritance with Customized Styles | Louise S. Hadden, Troy Martin Hughes |
SAS practitioners are frequently required to produce SAS output in man datory formats, such as using a company logo, corporate or regulated government templates, and/or cascading style sheet (CSS). SAS provides several tools to enable the production of customized output. Among these tools are the Output Delivery System (ODS) Document Object Model (DOM), CSS, PROC TEMPLATE, and ODS style overrides (usually applied in procedures and/or in originating data). This paper investigates "under the hood" of ODS destinations and PROC REPORT, and investigates how mastering ODS TRACE DOM and controlling styles using the CSSSTYLE option, PROC TEMPLATE, and style overrides can satisfy client requirements and enhance ODS output. Moreover, where report substance and style are maintained separately, data -driven software design is espoused because styles can be configured, tested, deployed, maintained, and modified without altering the underlying report content. |
proc step, proc report, proc template, output delivery system, ods html, txt, proc format, if-then-else, &variable, format statement, sas output, excel | source | 18 |
| 38 | Efficient Use of Disk Space in SAS Application Programs | Thomas E. Billings | A high-level overview of managing disk space for SAS data sets and files created by or for the SAS system. Basic housekeeping is covered: keep files that are in-use and backup or discard files that are not in use. Backup methods are discussed, including the important question whether the operating system that your SAS site runs on might change in the future, necessitating use of the special transport format for backup files. SAS procedures that are commonly used for disk file management are described: PROC DELETE, DATASETS, and CATALOG. SQL DELETE and SAS DATA STEP functions for file management are also discussed. File compression is a very important tool for saving disk space, and the SAS features for this are described. Logical deletion of rows in a data set can waste disk space; prototype SAS code to detect files with this condition is supplied in an appendix. |
proc step, work library, proc sql, character variable, options statement, dataset, proc cport, numeric variable, constraint, proc format, proc delete, proc contents, catalog, sas enterprise guide, delete | source | 14 |
| 39 | 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, character variable, missing value, excel, macro variable, order by, dataset, proc append, lookup, character functions | source | 26 |
| 40 | Extend the Power of SAS to Use Callable VBS and VBA Code Files Stored in External Libraries to Control Excel Formatting Routines and SAS ODS Excel Destination Commands | William E. Benjamin Jr. | Did you ever wish you could use the power of SAS to take control of EXCEL and make EXCEL do what you wanted "WHEN YOU WANTED"? Well one letter is the key to doing just that, the letter "X" as in the SAS "X" Command that opens the door to all operating system commands from SAS. The Windows operating system comes with a facility to write a series of commands called scripts. These scripts have the ability to open and reach into the internals of EXCEL. Scripts can load, execute and remove VBA macro code and control EXCEL. This level of control allows you to make EXCEL do what you want, without leaving any traces of a macro behind. This is Power. |
excel, xls, sas enterprise guide, proc template | source | 15 |
| 41 | Forecasting tourist's arrivals to the USA with SARIMA models. | Mostafa Zahedjahromi | The aims of the present study are to identify a model best fitting the tourist in the USA data and to forecast the number of tourists entering the United States for 2018. The method of maximum likelihood was used to estimate the parameters and to forecast the number of tourists in the future. The data from 1998 to 2011, which have been documented annually by Rachel Passmore at Census School of New Zealand, reveal that the 𝑆𝐴𝑅𝐼𝑀𝐴(0,1,2)(0,1,1),- model may fit most adequately and forecast that the number of tourists who enter the U.S. will reach approximately 540,000 in 6 years, which explains 2.6 times increase, compared to the number of tourists entering the U.S. in 1998. | outlier, maximum likelihood estimation, likelihood function | source | 9 |
| 42 | Forecasting: Something Old, Something New | David A. Dickey | ARIMA (AutoRegressive Integrated Moving Average) models for data taken over time were popularized in the 1970s by Box and Jenkins in their famous book. SASTM software procedures PROC ESM (Exponential Smoothing Models) and PROC UCM (Unobserved Components Models which are a simple subset of statespace models - see PROC SSM) have become available much more recently than PROC ARIMA. Not surprisingly, since ARIMA models are universal approximators for most reasonable time series, the models fit by these newer procedures are very closely related to ARIMA models. In this talk, some of these relationships are shown and several examples of the techniques are given. At the end, the listener will find that there is something quite familiar about these seemingly new innovations in forecasting and will have more insights into how these methods work in practice. |
proc esm, residual, proc step, unit root, estimate, proc calis, seasonality, likelihood function, binary variable, first difference, time series analysis, maximum likelihood estimation, proc ucm, moving average, irregular component, trend, weighted mean, sample, outlier, regression analysis | source | 26 |
| 43 | Formatting outputs for clinical trial data to aid in readability | Lingjiao Qi, Bharath Donthi |
When presenting descriptive and summary statistics in clinical trials and the healthcare industry, formatting of summary tables and supporting listings are critical for data review. Well-formatted outputs greatly enhance readability and reduce review time, which helps draw attention to any significant information embedded among thousands of pages. However, it's often a challenge for programmers to align different data types/formats when combining parameters. Here, we discuss several techniques to increase output readability by aligning both character and numeric data in summary tables and supporting listings. The first method is to use the option ASIS = ON, which reserves leading blank spaces of data. The second method is to use the escape character function, NBSPACE, which inserts, holds, and prints leading and trailing blank spaces for outputting. | clinical trial, dataset, flag variable, macro variable, proc report | source | 11 |
| 44 | From FREQing Slow to FREQing Fast: Facilitating a Four-Times-Faster FREQ with Divide-and-Conquer Parallel Processing | Troy Martin Hughes | With great fanfare, the release of SAS 9 delivered multithreaded processing to a single -threaded SAS world. Procedures such as SORT , SQL, and MEANS could now run faster by taking advantage more fully of system resources through parallel processing paradigms. Multithreading commonly implements divide-and-conquer methodologies in which data sets or data streams are decomposed into subsets and processed in parallel rather than in series. Multithreaded solutions are faster (but typically not more efficient ) than their single-threaded counterparts because execution time (but not system resource utilization ) is decreased. As the costs of memory and processing power have continued to decrease, however, there remains no excuse for not implementing multithreaded processing wherever possible . To this end , and because SAS unfortunately abandoned some hapless procedures in single- threaded Sheol, this text aims to reunite the single-threaded FREQ procedure with its multithreaded bedfellows. |
proc freq, parallel processing, sample, macro variable, character variable, proc step, frequency analysis, sas base, repeated measures, macro definition, stress testing, correlation, numeric variable, macro loop, key performance indicator, sysrc, stepwise selection, regression analysis, proc sql, %if-%then-%else | source | 22 |
| 45 | From Student to Expert: Leveraging SAS Conferences as Professional Development Opportunities | Deanna Naomi Schreiber-Gregory | It all started as an extra credit opportunity for undergraduates. She submitted her honors thesis to a SAS conference to get a little cushion for an upcoming exam. It was accepted for presentation and she was accepted as a student scholar. That was in 2011. Since then, she has moved from first-generation college student and student scholar / junior professional award winner from a small town in the MidWest to invited speaker, conference committee member, and statistical programming expert/data manager for the federal government. This presentation details the lessons learned and experiences gained through the presenter's participation and growth as a SAS conference presenter and network member. In this presentation, you will learn the benefits of accepting challenges as they arise, writing and presenting SAS conference papers, networking, and just making the most out of your conference experience. | source | 6 | |
| 46 | Generating Variable Attributes for Define 2.0 | Abhinav Srivastva | CDISC Define-XML 2.0.0 was officially released in March 2013 by the CDISC -XML Technologies team to describe CDISC SDTM, SEND and ADaM datasets for the purpose of submissions to the FDA. This version presents major changes from the previous version 1.0.0 released in February 2005. The new version runs on the latest ODM v1.3.2. (Operational Data Model) which is a vendor neutral, platform independent format for the interchange and archival of clinical study data. Some of the key changes in this version include extended Controlled Terminology (CT), detailed Value Level Metadata (VLM) description allowing subsets of data with a where- clause, explicit linking to external documents and allowing more clarity to the specifications via Comments. The paper focuses on e laborating the different variable data types that were introduced in v2.0.0 and utilize the guidelines to build an approach when creating Define- XML, especially those that are EXCEL - driven in the back end. |
excel, sample, define-xml, if-then-else, cdisc | source | 10 |
| 47 | Getting Started with the SGPLOT Procedure | Joshua M. Horstman | Do you want to create highly-customizable, publication-ready graphics in just minutes using SAS? This workshop will introduce the SGPLOT procedure, which is part of the ODS Statistical Graphics package included in Base SAS. Starting with the basic building blocks, you'll be constructing basic plots and charts in no time. We'll work through several different plot types and learn some simple ways to customize each one. |
proc sgplot, bar chart, vertical bar chart, scatter plot, nominal variable, line chart, box plot, response variable, histogram, proc step, bubble plot, heatmap, series plot, sas base, density plot, group by, regression analysis | source | 18 |
| 48 | Great Time to Learn GTL | Richann J. Watson, Kriss Harris |
It's a Great Time to Learn GTL! Do you want to be more confident when producing GTL graphs? Do you want to know how to layer your graphs using the OVERLAY layout and build upon your graphs using multiple LAYOUT statement? This paper guides you through the GTL fundamentals! | bar chart, macro variable, proc template, proc step | source | 12 |
| 49 | How Best to Use Macro Quoting Functions | Arthur X. Li | The Macro quoting functions is one of the most difficult concepts to grasp when one learns to write a macro program. One of the reasons for its complexity is closely related to understanding the macro processing, such as macro compilation and execution phases. Furthermore, the situations for utilizing macro quoting functions are not obvious for programmers. In this talk, in addition to reviewing the macro processing, we will examine the most useful macro quoting functions via various examples. | macro variable, sas log, macro quoting function, macro call, character functions, macro function, macro put, substr function, execution phase, if-then-else, macro facility, &variable, missing value, macro definition, %if-%then-%else | source | 11 |
| 50 | How FDA will reject non-CDISC submission | Kevin Lee | Beginning Dec 18, 2016, all clinical trial and nonclinical trial studies must use standards (e.g., CDISC) for submission data and beginning May 5, 2017, NDA, ANDA, and BLA submissions must follow eCTD format for submission documents. In order to enforce these standards mandates, the FDA also released "Technical Rejection Criteria for Study Data" in FDA eCTD website on October 3, 2016. FDA also implemented a rejection process for submissions that do not conform to the required study data standards. The paper will discuss how these new FDA mandates impact the electronic submission and the required preparation for CDISC and eCTD complaint submission package such as SDTM, ADaM, Define.xml, SDTM annotated eCRF, SDRG, ADRG and SAS programs. The paper will introduce the current FDA submission process, including the current FDA rejection processes - "Technical Rejection" and "Refuse-to-File" and discuss how FDA uses "Technical Rejection" and "Refuse-to-File" to reject submission. | data cleaning, data validation rules, cdisc | source | 6 |
| 51 | How SAS Thinks: SAS Basics I | Susan J. Slaughter | Presentation | dataset, libname statement, sas studio, proc step, date variable, sas log, output delivery system | source | 37 |
| 52 | How sensitive is your analysis? A case study on addressing it at ADaM level. | Bhargav Koduru, Balavenkata Pitchuka |
Sensitivity analyses determine how the different values of an independent variable impact a particular dependent variable under a given set of conditions. Sensitivity analyses are becoming an integral component of Phase III clinical trials, as demonstrated by the latest draft (June 2017) of the Addendum on "Estimands and Sensitivity Analysis" to be incor porated into ICH's "E9 Statistical Principles for Clinical Trials". These analyses help to explore the impact of missing data, and deviations by statistical models on trial results. The following is an instance of how the potential bias is addressed by sensitivity analysis. | sensitivity analysis, missing value, clinical trial, outlier, imputation, protocol deviations, change from baseline, data science, proc mixed, cdisc | source | 7 |
| 53 | How to automatically cover arbitrary changes Using automatic code generation method in SAS Enterprise Guide | Kaiqing Fan | In industry, the tremendously large data files and file numbers from different business models keep updating every day; all variables, their values, and the number of variables and the number of observations keep changing; business requirements keep changing too. It causes lots of headaches on how to handle these changes. Using the SAS code generation method and automatically cover these arbitrary changes in SAS engines is a perfect option because the automatic code generation method not only can automatically cover all changes but also can avoid developing a lot of code and save a lot of development time, and it makes the SAS engines readable, easy to understand, and easy to be handled and debugged too. | proc step, proc template, data step, dataset, proc sql, sas enterprise guide | source | 8 |
| 54 | How to Land Work as a SAS Professional | Charu Shankar | By 2018 the United States could face a shortage of 140,000 to 190,000 people with deep analytical skills as well as 1.5 million managers and analysts with the know-how to use the analysis of big data to make effective decisions (source: McKinsey Report). This is a 50-60% gap between the supply and demand of people with deep analytical talent. So, it must come as no surprise that finding SAS work is the question I am asked the most. Daily I am inundated with resumes and requests to connect on LinkedIn and offers of coffee, tea, and dinner. SAS is a highly valued skill, and everyone wants the juice on what steps to take to land work. Time magazine rated SAS as the #1 career skill in the data world. SAS is also the #1 skill to land a bigger paycheck according to this study. To help fill the gap, at SAS I started helping our users to land work by creating a 21-day SAS challenge to identify their strengths. In this informative session, I will share the 21 tips that you can take away. I will also share tips from my own job search and how I landed work as a SAS professional. At the end of this session, you will also be provided an activity sheet for action items to do during the conference. | source | 30 | |
| 55 | IMPORTING DATA WITH DDE (Dynamic Data Exchange) Or Proc Import? | Humberto Cisneros | The purpose of this paper is to determine if DDE or PROC IMPORT are better methods of importing data from spreadsheets. We had presented a paper on DDE at a SAS western conference a number of years ago. This paper is somewhat of an update and comparison between DDE and PROC IMPORT. The Arizona Supreme Court, Administrative Office of the Courts (AOC) receives thousands of reports on spreadsheets every year. The monthly statistical reports are summarized by court and published every year in a fiscal year-end publication called the Data Report. The data is also summarized to enable a broad picture of the judiciary in Arizona and used to answer many "what if" questions looking at the future of the judiciary, such as proposed legislation. The process of printing and entering these data into our SAS AF data entry screens can be very tedious and labor intensive. |
proc import, excel, proc step, sample | source | 19 |
| 56 | Innovation and Your Career in a Rapidly Changing World of Job Titles: How Different is Data Scientist from What I Do? | Richelle Serrano | Data science employs techniques and theories drawn from mathematics, statistics, information science, and computer science to understand and analyze a fact or situation. In the last 15-20 years data science has become an independent discipline. In 2012 the Harvard Business Review published the article "Data Scientist: The Sexiest Job of the 21st Century". It's no surprise the job of Data Scientist is growing faster than Statistician or Statistical Programmer. This paper will explore the role of a data scientist as defined today and the overlap with statisticians and statistical programmer's traditional roles. Next the paper will discuss the skill set and knowledge needed for a statistical programmer to stay current in the evolving world of scientific data and information becoming increasingly available and accessible through open science and open source. | statistical programmer, data science | source | 5 |
| 57 | Interactive Live Clinical Data Monitoring Dashboards with Drill-Down Using SAS & Microsoft Excel | Parmodh Sharma, Ankit Bansal, Parvesh Boora |
Periodical data review is very important and highly recommended for all the ongoing clinical studies to ensure the data integrity and quality. Each clinical study requires experts from various functional groups like SAS programming, Biostatistics, Data Management and so on. Each one of them have various data review requirements and one cannot expect everyone to be familiar with SAS programming as clinical data sets are often available as SAS data sets. Statisticians prefer summary level data whereas others might need to look at the summary level as well as granular level data. These reports are static and hence end users do not have any choice to customize or drill down the reports on their own. Currently it is always directed to a SAS programmer to update the reports which is an overall time consuming process. | excel, clinical trial | source | 4 |
| 58 | Interpreting electronic health data using SAS PRX functions | Amy Alabaster, Mary Anne Armstrong |
Analysts of electronic medical record data take advantage of structured data fields used for patient tracking and claims purposes. In the absence of codes, analysts can use unstructured text data, such as those found in doctors' notes. Though notes are rich in information, they are also full of inconsistencies - cryptic abbreviations, typos, and immense provider variation - that often make structured analysis using basic string functions inadequate. Alternatively, Perl regular expressions can be used to tackle many text problems in health research. This paper reviews the basics of regular expressions and their implementation in SAS using the functions and call routines: PRXPARSE, CALL PRXSUBSTR, PRXMATCH, CALL PRXNEXT, PRXPOSN, and PRXCHANGE. | type i error, sample, precision, type ii error, proc print, proc step | source | 13 |
| 59 | Introduction to DATA Step Programming: SAS Basics II | Susan J. Slaughter | Presentation | raw data, set statement, proc step, input statement, dataset, sas log, if-then-else | source | 40 |
| 60 | Introduction to Data-driven Programming Using SAS | Kirk Paul Lafler | Data-driven programming, or data oriented programming (DOP), is a specific programming paradigm where the data, and/or data structures, control the flow of a program and not the program logic. Often, data-driven programming approaches are applied in organizations with structured and unstructured data for filtering, aggregating, transforming and calling other programs. This paper and presentation explores several data-driven programming techniques that are available to SAS users. | dictionary tables, proc step, proc sql, excel, proc contents, call execute, sas library, sas log, ods excel, output delivery system, macro facility, macro variable, dataset, select, character variable, proc format, proc print, options statement, user-defined format, proc freq | source | 22 |
| 61 | Introduction to SAS Procedures: SAS Basics III | Susan J. Slaughter | Presentation | proc step, proc contents, proc freq, proc print, proc sort, proc sql, output delivery system | source | 46 |
| 62 | Is Really No PR Bad PR? Debunking the Myth | Imran Selim, Devanand Chintoju |
Communication in product promotion is no longer one way. Now, customers, or even non-customers can express their opinion about any ad through social media. Recently, some advertisements have faced public backlash in social media. For example, Dove ran a commercial where a black woman turns into a white woman or Gap Inc. had a commercial where a black child wore a sweatshirt that said "Coolest Monkey in the Jungle'. For Dove, this was not the first time they were accused of airing controversial ads. The "Dove Visible Care" ad of 2011 was also accused of being racist. Is it intentional? Does it conform to the myth that "No PR is bad PR'? In this paper, we examined a number of controversial ads from 2017 and analyzed public sentiment for those ads expressed in YouTube comments posted during the quarter when the ad was first published or the event took place to see if there was a correlation between negative public sentiment and a company's performance during the same time-period. | correlation, sas viya | source | 6 |
| 63 | Let's Get FREQy with our Statistics: Data-Driven Approach to Determining Appropriate Test Statistic | Richann J. Watson, Lynn Mullins |
As programmers, we are often asked to program statistical analysis procedures to run against the data. Sometimes the specifications we are given by the statisticians outline which statistical procedures to run. But other times, the statistical procedures to use need to be data dependent. To run these procedures based on the results of previous procedures' output requires a little more preplanning and programming. We present a macro that dynamically determines which statistical procedure to run based on prev ious procedure output. The user can specify parameters (for example, fshchi, plttwo, catrnd, bimain, and bicomp), and the macro returns counts, percents, and the appropriate p-value for Chi-Square versus Fisher Exact, and the p-value for Trend and Binomial CI, if applicable. | macro parameter, proc freq, binomial distribution, proc step, sample, sas output, class variable | source | 14 |
| 64 | Let's Talk About Variable Attributes | Elizabeth Guerrero Angel | Variables can come in all shapes and sizes. Most data we receive are from external data sources, such as extracting data from a complex data entry system, reading in EXCEL spreadsheets, or importing text files with millions of observations. When combining data from various sources we often have to deal with different variable formats or names that are not functional. This presentation with cover novel solutions to these complex problems, in an easy to understand way, using PUT, INPUT, SUBSTR, and MDY functions. We will demonstrate how these frequently used functions can be used to change formats and fix dates, and can be combined with more complex code to and quickly rename long lists of variables. Variable characteristics in SAS can seem like a pesky problem that won't go away, but we will help you navigate the world of variable attributes. The programming is demonstrated at a beginner's level. |
proc step, proc print, proc contents, excel, proc sql, txt, input statement, proc import, date variable | source | 7 |
| 65 | Logistic and Linear Regression Assumptions: Violation Recognition and Control | Deanna Naomi Schreiber-Gregory | Regression analyses are one of the first steps (aside from data cleaning, preparation, and descriptive analyses) in any analytic plan, regardless of plan complexity. Therefore, it is worth acknowledging that the choice and implementation of the wrong type of regression model, or the violation of its assumptions, can have detrimental effects to the results and future directions of any analysis. Considering this, it is important to understand the assumptions of these models and be aware of the processes that can be utilized to test whether these assumptions are being violated. Given that logistic and linear regression techniques are two of the most popular types of regression models utilized today, these are the are the ones that will be covered in this paper. Some Logistic regression as sumptions that will reviewed include: dependent variable structure, observation independence, absence of multicollinearity, linearity of independent variables and log odds, and large sample size. | regression analysis, logistic regression, proc reg, predictor variable, logistic distribution, correlation, sample, outlier, response variable, sample size, cook's distance, scatter plot, covariance, multicollinearity, standard deviation, proc calis, box plot, condition index, proc step, normality test, proc glm | source | 21 |
| 66 | Machine Learning - Why we should know it and how it works | Kevin Lee | The most popular buzz word nowadays in the technology world is "Machine Learning (ML)." Most economists and business experts foresee Machine Learning changing every aspect of our lives in the next 10 years through automating and optimizing processes such as: self-driving vehicles; online recommendation on Netflix and Amazon; fraud detection in banks; image and video recognition; natural language processing; question answering machines (e.g., IBM Watson); and many more. This is leading many organizations to seek experts who can implement Machine Learning into their businesses. Statistical programmers and statisticians in the pharmaceutical industry are in very interesting positions. We have very similar backgrounds as Machine Learning experts, such as programming, statistics, and data expertise, thus embodying the essential technical skill sets needed. This similarity leads many individuals to ask us about Machine Learning. | machine learning, neural network, regression analysis, pharmaceutical industry, data science, supervised learning, support vector machine, unsupervised learning, proc reg, logistic regression, statistical programmer, sample, logistic distribution | source | 8 |
| 67 | Making Your SAS Results, Reports, Tables, Charts and Spreadsheets More Meaningful with Color | Kirk Paul Lafler | Color can help make SAS results, reports, tables, charts and spreadsheets more professional and meaningful. Instead of producing boring and ineffective results, users can enhance the appearance of their output to highlight and draw attention to important data elements and issues, including headings, subheadings, footers, minimum and maximum values, ranges, outliers, special conditions, and other elements. Color can be added to text, foreground, background, row, column, cell, summary, and total with amazing color and traffic light ing scenarios. Topics include exploring an assortment of examples to illustrate the various ways results, documents, reports, tables, charts and spreadsheets can be enhanced with color, effectively add color to PDF, RTF, HTML, and EXCEL spreadsheet results using PROC PRINT, PROC FREQ, PROC REPORT, PROC TABULATE, and PROC SGPLOT and Output Delivery System (ODS) with style. |
bar chart, proc sgplot, proc step, histogram, proc sgpanel, excel, scatter plot, vertical bar chart, box plot, bubble plot, proc freq, series plot, proc report, data science, class variable, correlation, outlier | source | 20 |
| 68 | Markov Chains as a Predictive Analytic Approach Using SAS/IML | Gregory McKinney | As a predictive analytics approach, Markov Chains provide a powerful tool for modeling complex multi- state dynamic systems. Because of this power, Markov Chain models have been used to address many real-world problems including disease progression, loan portfolio risk, measuring marketing campaign effectiveness, evaluation of clinical drug trials, etc. The list of potential applications of Markov chains is endless. SAS/IML provides a potent framework for implementing Markov chain models in your organization. Sample code for the use of SAS/IML for Markov chain models is included. |
markov chain, transition matrix, portfolio risk | source | 9 |
| 69 | Modeling Heterogeneous Within-Subject Variability | Madeline Craft, Shelley A. Blozis |
The development of smart phones, which can conveniently collect intensive longitudinal data, called ecological momentary assessment (EMA) data, has allowed researchers to better explore dynamic within-subject (WS) and between-subject (BS) processes. Typically, multilevel models are applied to EMA data to account for the hierarchical nature of longitudinal data. Whereas multiple regression estimates a single average trajectory for all subjects, multilevel models account for the unique influence of an individual on his or her repeated measurements by estimating an average trajectory for each subject. Multilevel models can be extended to not only summarize differences in average trajectories but also differences in variances about the average trajectories. | proc mixed, proc step, covariance, covariance structure, longitudinal data, correlation, random intercept | source | 8 |
| 70 | Name that Function: Punny Function Names with Multiple MEANings and Why You Do Not Want to be MISSING Out | Arthur L. Carpenter | The SAS DATA STEP is one of the best (if not the best) data manipulators in the programming world. One of the areas that gives the DATA STEP its flexibility and power is the wealth of functions that are available to it. With over 450 functions in the DATA STEP it is difficult to learn and remember them all, however understanding how to take advantage of the power of these functions is key to taking full advantage of the DATA STEP. This paper takes a PEEK at some of those functions whose names have more than one MEANing. While the subject matter is very serious, the material will be presented in a way that is guaranteed not to BOR the audience. Syntax will be discussed and examples of how these functions can be used to manipulate data will be demonstrated. With so many functions available and with less than an HOUR to present, we obviously will have to TRIM our list so that the presentation will fit within the allotted TIME. |
date variable, sysdate9, dataset, character functions, poisson distribution | source | 12 |
| 71 | Never Cut and Paste Results Again: How to Automate Results with ODS PowerPoint, Metadata and Macros | Ted D. Williams | How many of our precious hours on this earth are spent cutting and pasting results into PowerPoint presentations? With the SAS PowerPoint ODS destination and some basic macro coding, those days are in the past! The system described herein can transform custom results into standard formats requiring no re-coding, no matter how complex the results. A study of Healthcare administrative claims is used to illustrate the aggregation of transactional data into fact tables. SAS metadata from the built-in DICTIONARY library is then used to create a results dataset (a key-value pair variation). Finally a macro iterates through the results and sends tables and chart to the PowerPoint ODS in a ready-to-use format. |
proc step, fact table, proc sql, proc report, create table, macro definition, %if-%then-%else | source | 18 |
| 72 | Non-parametric Analysis of the Variance in SAS | Hend Aljobaily | Comparing more than two groups has important applications within many fields. To analyze such an event, an analysis of the variance can be performed using ANOVA or MANOVA. However, these procedures have to assume normality of residuals. When researchers cannot determine the distribution of the response or cannot determine the parameters of the distribution, non-parametric methods would be used to perform necessary analyses. The Kruskal-Wallis test is a non-parametric test that can be used, when the normality of residuals cannot be assumed, to perform a one-way analysis of variance. This study is discussing methods of modeling non- parametric one-way analysis of variance (ANOVA and MANOVA) using different options in | anova, sample, response variable, kruskal-wallis test, one-way anova, permutation test, proc npar1way, proc step | source | 11 |
| 73 | Oops, I D-I-D It Again! Advanced Difference-in-Differences Models in SAS | Margaret Warton, Melissa Parker |
The quasi-experimental, longitudinal difference-in-differences (D-I-D) study design is increasingly used in epidemiological and healthcare research. D-I-D models generate a causal estimate of the change in an outcome due to an intervention or exposure, after subtracting the expected background change observed in a reference group. Advantages of this method include preservation of time-ordering, accounting for changes in secular trends and regression to the mean, and, when a fixed cohort is used, controlling for unmeasured confounding. In this companion to our 2016 Western Users of S AS conference paper "How D-I-D You Do That? Basic Difference-in-Differences Models in SAS", we introduce advanced difference- in-differences methods and present a practical, step by step approach for implementation in SAS. | propensity score, proc step, sample, sample size, relative risk, proc glmpower, binomial distribution, proc genmod, standard deviation, treatment effect, proc power and sample size, interaction effect, proc mixed, correlation, regression analysis, poisson distribution, repeated measures, estimate, average treatment effect, multiple regression, poisson regression, trend analysis, anova, binary variable, box plot | source | 17 |
| 74 | Optimizing Exam Schedules at Oklahoma State University | Thu Nguyen | Every semester, the Registrar Office of Oklahoma State University schedules hundreds of exams into rooms according to the Colleges' preference and room availability. In addition, these schedules need to incorporate several other requirements, such as schedule priority, proximity, and times to avoid conflicts with other exams. Manual scheduling is time consuming and will not be feasible as the number of requirements increase in the future. Nonetheless, the automated scheduling process must be flexible enough so that non-programmer users can conveniently alter the constraints and input parameters as requirements change from semester to semester. Moreover, the results need to be in a user -friendly format so that the Registrar Office staff can determine whether further adjustments are needed. This paper will demonstrate a program that extracts information entered by users on a spreadsheet to create dynamic SAS scripts using macro programs. | macro variable, proc step, odds ratio, excel, macro definition, sample, proc sql | source | 12 |
| 75 | OUT= is in: Visualizing PROC COMPARE Results in a Dataset | Varaprasad Ilapogu, Masaki Mihaila |
PROC COMPARE is widely used in the pharmaceutical world to validate almost every statistical output. The procedure compares and shows the differences between the contents of two SAS data sets in the 'results window', however, these differences appear as discrete, variable-by-variable differences. Often, programmers find themselves spending time opening base and compare datasets to locate the observations where the values differ. For large datasets, this can be a time-consuming process. This paper discusses the various options in PROC COMPARE that can make the validation process more efficient. Using the out= option in PROC COMPARE along with other options addressed in the paper will allow statistical programmers to produce an output dataset that not only provides the differences between the values of the datasets, but also provides a visual reference using other matching variable values . |
proc compare, proc step, data cleaning | source | 7 |
| 76 | Parallel Processing with Base SAS | Jim Barbour | Parallel processing is a potentially powerful tool for SAS performance tuning. There's a myth out ther e that one needs to license SAS/CONNECT in order to conduct parallel processing. Not true! Parallel processing is eminently practicable using just the Base SAS product. The simplest form of parallel processing relies on the use of SAS option statements alone. More complex parallel processing involves design changes and requires coding in support of those changes as well as the use of the SYSTASK and WAITFOR commands. |
parallel processing, dataset, macro variable, proc step, sysrc, proc freq, set statement, sas enterprise guide, sas base, raw data | source | 17 |
| 77 | Password Protection of SAS Enterprise Guide Projects | Thomas E. Billings | SAS Enterprise Guide lets a user assign a password to a project, after which any/all users must enter the correct password to be able to open and run the project. In this paper we test the security of password protected projects against 2 hacks. We first present a sample project that has multiple types of Tasks that will be used for testing. Before assigning a password to the project, we demonstrate a simple hack that facilitates the examination of some of the internal metadata of a SAS Enterprise Guide project, i.e., a .egp file. Then we assign a password to the sample project and repeat the hack on the password -protected project, with the result that the hack does not work. Next, we try another simple hack - viewing the .egp file in a text editor - and find that this does not work either. The tests here provide independent confirmation that password-protected .egp files are secure against the 2 hacks demonstrated. | sas enterprise guide, sas enterprise guide project, sample, regression analysis, proc reg | source | 7 |
| 78 | Pick a Treatment, Any Treatment! Using Discrete Choice Experiments to Analyze Treatment Preferences. | Cynthia Alvarez | Presentation | source | 13 | |
| 79 | PROC DATASETS: The Swiss Army Knife of SAS Procedures | Michael A. Raithel | This paper highlights many of the major capabilities of PROC DATASETS. It discusses how it can be used as a tool to update variable information in a SAS data set; provide information on data set and catalog contents; delete data sets, catalogs, and indexes; repair damaged SAS data sets; rename files; create and manage audit trails; add, delete, and modify passwords; add and delete integrity constraints; and more. The paper contains examples of the various uses of PROC DATASETS that programmers can cut and paste into their own programs as a starting point. After reading this paper, a SAS programmer will have practical knowledge of the many different facets of this important SAS procedure. |
dataset, proc step, constraint, audit trail, run, key, libname statement, foreign key, sas library, proc datasets, modify statement, sas log, proc contents, sas programmer, proc sql, attrib statement, data integrity, proc append | source | 25 |
| 80 | 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, proc step, sas programmer, proc sql, sample | source | 10 |
| 81 | Purrfectly Fabulous Feline Functions | Louise S. Hadden | Explore the fabulous feline functions and calls available in SAS 9.1 and later. Using CAT functions and CAT CALLs gives you an easier way to streamline your SAS code and facilitate concatenation of character strings. So, leave verbose coding, myriad functions, and the vertical bar concatenation operators behind! SAS 9.2 (and beyond) enhancements will also be demonstrated. | character functions, proc contents, sas log, cpu time, proc step, length statement, catq, character variable | source | 15 |
| 82 | Regulation Techniques for Multicollinearity: Lasso, Ridge, and Elastic Nets | Deanna Naomi Schreiber-Gregory | Multicollinearity can be briefly described as the phenomenon in which two or more identified predictor variables are linearly related, or codependent. The presence of this phenomenon can have a negative impact on an analysis as a whole and can severely limit the conclusions of a research study. In this paper, we will briefly review how to detect multicollinearity, and once it is detected, which regularization techniques would be the most appropriate to combat it. The nuances and assumptions of R1 (Lasso), R2 (Ridge Regression), and Elastic Nets will be covered in order to provide adequate background for appropriate analytic implementation. This paper is intended for any level of SAS user. This paper is also written to an audience with a background in theoretical and applied statistics, though the information within will be presented in such a way that any level of statistics/mathematical knowledge will be able to understand the content. | regression analysis, ridge regression, elastic net, lasso regression, proc step, predictor variable, proc reg, response variable, feature selection, estimate, proc glmselect, correlation, bootstrap, proc calis, sample, quadratic programming, proc univariate, logistic distribution, condition index, proc corr | source | 23 |
| 83 | Ron Fehd, SAS-L's Macro Maven, Answers Your Questions on Macros and Reusable Program Development | Ronald J. Fehd | SAS software consists of two languages, SAS and its macro language. The purpose of this question-and-answer session is to provide overview and perspective of how SAS works and how the macro language can work both within and before SAS program statements and steps. | macro variable, local symbol table | source | 8 |
| 84 | SAS Techniques to Handle Large Files And Reduce Execution times | Kaiqing Fan | As a SAS Developer or SAS user, we are always struggling with the long execution times of our SAS engines because of large data files. Sometimes it would be a couple hours, some other times, it may be more than 20 or 30 hours, or longer. In my eyes, too long execution times are not acceptable. Actually we have many SAS technical skills, and if we can use them properly, we can hugely shorten the execution time. I did it. I successfully shortened the execution time from 36 hours to around 1-2 hours; from 4 hours to 6 minutes. Here I want to summarize most of the technical skills I used and share them with you. Key Words: Execution time, efficiency of execution, SAS Techniques | proc step, data step, proc sql, proc iml, where statement, dataset, proc append, parallel processing | source | 7 |
| 85 | So You Want To Be An Independent Consultant | 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. | source | 10 | |
| 86 | Something Old, Something New: A little programming management can go a long way | Janet J. Li, Aakar Shah |
We propose a statistical programming project tracking tool that will help manage and track programming progress, deliverables, and timelines at the study level. The tool can be used across studies to prepare aggregate reports for upper management and can be updated to fit the needs of any statistical programming organization or team. | clinical programming, excel | source | 8 |
| 87 | Stay Connected to Work Away from Work: A Simple Approach to Send Emails from SAS using VBScript | Nikita Sathish | Clinical trial monitoring requires that SAS programmers periodically generate statistical analysis reports and distribute the reports to cross-functional teams for review. Most reports are distributed via email or an enterprise content management system. Manual generation of email, however, can introduce errors. For example, recipients can be omitted, formatting errors can occur, and reports may not be sent in a timely manner. SAS programmers can avoid these limitations by sending reports directly from SAS to large, customized, email distribution lists. SAS programmers can further improve report distribution by combining SAS with VBScript. VBScript allows programmers to overcome security concerns associated with SAS, by not having to store login credentials or tweak the configuration file. We recommend that programmers send emails from SMTP server through SAS using VBScript. | macro variable, sas programmer | source | 6 |
| 88 | Stop the Madness! Detecting Runtime Errors and Exiting from Nested Macros Gracefully | Ted D. Williams | Few things are more frustrating that kicking off a long running SAS program, only to return hours later and discover the program encountered an error early in processing. One of those even-more-frustrating things is digging through the logs to determine the state of the system upon failure. Which of the many of calls to %VeryHelpfulMacro() failed? What were the parameters and state of temporary tables at that time? This paper describes one approach to monitoring execution of macros, detecting errors, and creating a call stack to determine where and when runtime errors occurred. Adopting these simple techniques can reduce debugging time, promote reuse, and reduce project develop time. | exception handling, macro variable, error message, proc calis, macro call, %if-%then-%else, proc step, macro flow control | source | 9 |
| 89 | Survey data analysis made easy with SAS: a hands-on workshop | Melanie Dove, Katherine Heck |
Presentation | proc step, proc surveyfreq, confidence interval, sample, proc surveylogistic, standard deviation, proc freq | source | 38 |
| 90 | The Anatomy of Artificial Intelligence Solution for Automation of Underwriting Decision-Making Process. | Samuel Berestizhevsky, Tanya Kolosova |
Experience and good judgment are essential attributes of underwriters. Systematic analysis of the underwriting decision-making process was expected to increase the efficiency in developing these attributes in underwriters. However, this approach fell short of expectations. The industry still struggles with the pace of which knowledge and experience is delivered to next generation of underwriters. The solution may lay in the development and deployment of artificial intelligence (AI) methods and algorithms in the automation of the underwriting decision-making process. This paper outlines the current state of the performance measurement of underwriting decision-making process through performance metrics (including a novel one). Further, this paper provides an in-depth description of artificial intelligence methods and algorithms that can be successfully used to automate underwriting decision -making process. | logistic regression, logistic distribution, regression analysis, training set, artificial intelligence, sample, bias-variance tradeoff, key performance indicator, workers compensation, bootstrap | source | 16 |
| 91 | The Doctor Ordered a Prescription ... Not a Description: Driving Dynamic Data Governance Through Prescriptive Data Dictionaries That Automate Quality Control and Exception Reporting | Troy Martin Hughes | Data quality is a critical component of data governance and describes the accuracy, validity, completeness , and consistency of data. Data accuracy can be difficult to assess, as it requires a comparison of data to the real -world constructs being abstracted. But other characteristics of data quality can be readily assessed when provided a clear expectation of data elements, records, fields, tables, and their respective relationships. Data dictionaries represent a common method to enumerate these expectations and help answer the question What should my data look like? Too often, however, data dictionaries are conceptualized as static artifacts that only describe data. This text introduces dynamic data dictionaries that instead prescribe business rules against which SAS d ata sets are automatically assessed, and from which dynamic, data-driven, color-coded exception reports are automatically generated. | data dictionary, data validation rules, data cleaning, variable, excel, quality control, if-then-else, xls, dataset, macro definition, proc import, proc format, proc step, macro variable | source | 20 |
| 92 | The Hidden Job Market: Tips and Techniques to Advance Your SAS Career | Molly Hall | I'll let you in on a little secret. Most companies don't publicly announce their job openings until they have exhausted every opportunity to fill them on their own. Instead, they reach out to current employees of the company, internal or external recruiters, former colleagues and friends. A job posting on Monster or Indeed usually doesn't happen until after the hiring manager has tried every other possible vehicle for filling the opening. The term "hidden job market" refers to this phenomenon. I have roughly 20 years of experience working as an Executive Recruiter in the SAS marketplace. I'm going to share industry secrets with you. I will teach you how to get noticed, and how to avoid common pitfalls. We will explore networking channels that work, talk about the current job market, and delve into LinkedIn and other social media channels. Resumes, cover letters, and interview techniques will also be covered. By the end of this presentation you will understand how to tap into the hidden job market and take your career to the next level. | data science, artificial intelligence | source | 15 |
| 93 | The Inevitable Use of RETAIN Statement in Multiple Scenarios with Examples for Creating Efficacy Parameters | Prabhakara Rao Burma, Venkata N Madhira |
Imputation techniques and deriving analysis flags plays an indispensable role while deriving analysis datasets. By following study SAP, for a given parameter, a value to be assigned to the missing AVAL (Analysis value). Retaining previous observation (analysis value ) to the current observation is one of the recommended methods for imputing a value for missing analysis value. In this paper few examples have been presented where the retain statement is inevitable for populating missing analysis value by conditionally imputing the collected value and deriving analysis flags. | retain, imputation | source | 5 |
| 94 | The Missing Link: A Robust Macro for Recoding General Missing Data Values | Hunter Glanz, Joshua M. Horstman |
No matter the industry or field of study, missing values inevitably complicate a great many datasets and analyses. Deciding what to do with them in an analysis often depends on the analysis itself. Regardless of the uses and analyses, the data need to be clean and tidy first. Tidy data include, among other things, properly coded missing values. Unfortunately, domain-specific software, electronic surveys, and other data collection and organization tools do not necessarily code missing values in the ways that SAS wants: a period for numeric values and a blank for character values. SAS accepts a short list of other special characters as missing values also, but these aren't guaranteed any more than a period or bla nk. To make matters worse, non-numeric flags such as "NA" can cause SAS to read our numeric data into a character variable, rendering the information difficult to analyze. | missing value, character variable, numeric variable, dataset, macro variable | source | 6 |
| 95 | The ODS Excel Destination: Assorted Tips and Techniques to Simplify Writing SAS Data to Excel Workbooks | William E. Benjamin Jr. | This Hands-on-Work shop will introduce many of the Actions, Options and Sub-Options of the New ODS EXCEL Destination, and give the students experience visualizing the results of the new ODS EXCEL Destination outputs by executing code and viewing the results. This class will cover the some of the topics in the following subject areas: Differences between SAS TAGSETS and SAS ODS Destinations SAS ODS EXCEL Destination Actions How to Set EXCEL Property Values Modifying Output Features Using Anchor, Style, and CSS Options that Apply to Titles, Footnotes, and Sheet processing Ways you can adjust Print Features like Headers and Margins * Options that Impact Columns, Rows, and Cells |
excel, xls, ods excel, proc step, macro variable, txt, dataset, proc print, output delivery system | source | 31 |
| 96 | The Shape of SAS Code | Charu Shankar | Presentation | source | 26 | |
| 97 | This Too Shall Pass: Passing Simple and Complex Parameters In and Out of Macros | Ted D. Williams | Even a rudimentary knowledge of SAS macros will highlight one glaring limitation, macros only accept text input parameters and have no output parameters. How can a SAS programmer develop robust and reusable programs with strong encapsulation and abstraction without the ability to return complex data types (i.e. datasets)? Too often the solution involves compromising encapsulation (i.e. referencing global variables) which severely limits reusability by invariably producing runtime errors and the need for modification. But there is a better way. Two programming techniques, data validation and passing parameters by reference, enable the SAS programmer to create robust and reusable macros with strong encapsulation. This study will demonstrate how these techniques, with minimal additional cod e, can dramatically increase the flexibility and usability of macros. | data cleaning, %if-%then-%else, keyword parameter, %macro parameters, sas programmer, macro definition, macro call, proc step | source | 10 |
| 98 | Time Series Analysis of Hate Speech in Social Media | David J. Corliss | Mining and analysis of social media text is a powerful tool for the analysis of thoughts, preferences, and actions of individuals and populations. While commonly used today in marketing and other business applications, Data for Good researchers have begun to apply these methods to the analysis of hate speech in social media. Different channels, including Twitter, Facebook, and Google searches, are found to have distinctive characteristics that affect the types of models and analyses each can support. This paper provides a step-by-step description of how to create and deploy a Twitter API and mine the data to extract tweets with user-selected search terms, including keywords and user name of the person or organization sending the tweet. This methodology is used to investigate hate speech, modeling the time series patterns with the aim of estimating the risk of subsequent acts of violence against persons targeted by the speech. | time series analysis, exploratory data analysis, data science | source | 8 |
| 99 | Use of PROC Tabulate Out File to Customize Tables | Abdus Shahid | Out file from PROC TABULATE process of SAS can be used to customize final output tables needed for reports. This method is especially useful when PROC TABULATE is used for several disparate data sets but the final output requires data to be presented in one final table. |
proc tabulate, proc step, missing value | source | 5 |
| 100 | Use of SAS Graph Template Language (GTL) and HIGHLOWPLOT to Create a Next-Generation Sequencing Multi-Gene Panel Grid | John Bennett | A graphical display of the results of a multi-gene panel is an effective means for viewing and understanding the number, types, and clustering of detected genomic alterations. One potential method for creating this display in SAS involves use of the HIGHLOWPLOT statement. This statement can be used to create a color-coded grid to display gene panel results for a patient cohort. When this technique is used in combination with other graphical statements, attributes, and definitions, it can create a data-rich display that is both eye-catching and useful as a multi-dimensional summary of gene panel results. This paper contains a stepwise set of instructions for using the HIGHLOWPLOT statement to create a grid, using as an example the results of a next-generation sequencing (NGS) gene panel assay for patients with non-small cell lung cancer (Eberhard 2018). The steps involve use of the SAS Graph Template Language (GTL) and the SGRENDER procedure using SAS 9.4. |
proc template, graph template language | source | 11 |
| 101 | Using a lookup table to transform electronic laboratory results into standardized case-specific information to manage a record-breaking flu season | Rachel Perry, Laura Erhart, Shane Brady |
Using a lookup table to add new information efficiently to a primary data set is a powerful technique. This paper explores how a lookup table was utilized with base SAS software to match laboratory reports of influenza in an Arizona infectious disease database, the Medical Electronic Disease Surveillance Intelligence System (MEDSIS), to a list of test and result combinations in order to assign standard categories within the database. Reports received in MEDSIS via electronic laboratory reporting (ELR) include the test name, test result, and possibly additional information in a notes f ield. For ease of analysis, MEDSIS contains fields for categorizing this information into standard options for type of test performed and result, but traditionally required manual data entry for each field. We created a lookup table using the information received from ELR to classify each lab report into standardized options. | lookup, flag variable, index, character functions, proc sql | source | 10 |
| 102 | Using Memory Resident Hash Tables to Manage Your Sparse Lookups | Arthur L. Carpenter | When dynamically controlling an application or process through the use of SAS macros, it is often advantageous to utilize a combination of metadata control files and list processing techniques. Typically the control file is read once into a macro variable list. But what if your information source is a large table and instead of accessing it sequentially you need to first look up specific information based on some supplied criteria? It would be very useful to be able to load the table into memory once and then only access those portions needed at a given point in time. It would be even better if you could do this without creating any macro variable lists. Learn how this can be done using a combination of hash tables, FCMP functions, and the macro language to create memory resident lookup tables. | hash table, macro facility, macro variable, proc step, macro call, proc fcmp, lookup, call execute, dosubl, macro function | source | 11 |
| 103 | Using Net Lift Measure to Model the Effects of Changes in Interest Rates on Mortgage Prepayment | Alec Zhixiao Lin, Xiao Hu |
Mortgage loan prepayment is of constant interest to both academia and practitioners. A considerable drop in the market interest rates will trigger a wave of early payoffs and cause losses to investors in mortgage-related derivatives. This paper suggests the use of net lift measure to estimate the effects of changes in interest rates on underlying mortgage prepayment. The loan-level modeling method will help investors with more accurate valuations of mortgage-related assets. Insights from such a study are also useful to banks owning mortgage portfolios for developing retention strategies in the awake of a mortgage rate drop. | interest rate, response variable, proc reg, regression analysis | source | 15 |
| 104 | Using PROC MCMC in a Process Control Setting: An Illustrative Example with PROC IML | Austin R. Brown | When an experienced observer in a specific discipline examines some process or phenomenon, it is likely that they have prior knowledge about the characteristics and behaviors of what it is they are monitoring. This knowledge could be useful in calculating estimates for the parameters of this process. Leveraging the prior knowledge of parameter behavior along with observed data from the process or phenomenon being observed is the idea upon which Bayesian Estimation is based. In this presentation, attendees will be shown, by example, basic functionality of PROC MCMC to obtain Bayesian estimates, including examining diagnostics for the estimators. Attendees will also be shown an example of how to use Bayesian Estimation via PROC MCMC and PROC IML in a process control environment. This example will highlight some of the advantages of Bayesian Estimation over traditional Maximum Likelihood Estimation, especially in small sample size cases, as is often the case in process control settings. |
proc step, sample, prior probability, likelihood function, proc iml, standard deviation, correlation, quality control, maximum likelihood estimation | source | 8 |
| 105 | Validating User-Submitted Data Files with Base SAS | Michael A. Raithel | SAS programming professionals are often asked to receive data files from external sources and analyze them using SAS. Such data files could be received from a different group within one's own organization, from a client firm, from a Federal agency, or from some other collaborating establishment. Whatever the source, there is likely to be an agreement on the number of variables, variable types, variable lengths, range of values, and variable formats in the incoming data files. Information Technology best practices require that the receiving party perform quality checks (QC's) on the data to verify that they conform to the agreed-upon standards before the data are used in analysis. This paper presents a rigorous methodology for validating user-submitted data sets using Base SAS. Readers can use this methodology and the SAS code examples to set up their own data QC regimen. | dataset, constraint, data cleaning, proc step, proc compare, audit trail, key, data validation rules, macro variable, missing value, proc append, proc datasets, sas log, interval variable, create table, sysrc, proc sql, nominal variable | source | 16 |
| 106 | When the Mean Isn't Enough: Methods for Assessing Individual Differences using SAS | Melissa McTernan | Many programs of research are focused on understanding the "average" individual, leading to the use of statistical methods that emphasize means (e.g. mean differences, mean trajectories, etc.). However, "typical" values are often insufficient and sometimes not representative of any one individual (or one group of people) in a sample. In this paper, I will discuss how SAS is a flexible tool for researchers interested in individual differences. I will include methods of data visualization as well as methods of statistical analysis when the individual is a unit of interest. I will primarily focus on longitudinal data analysis and how individuals change across time. This paper will include syntax for PROC MIXED, PROC NLMIXED, and other procedures. |
proc step, proc mixed, proc sgplot, spaghetti plot, data visualization, proc glimmix, proc sgpanel, sample, longitudinal data, random intercept, repeated measures, data science, proc transpose | source | 8 |
| 107 | Wow! You Did That Map With SAS?! Round II | Louise S. Hadden | This paper explores the creation of complex maps with SAS software. This presentation incorporates explores the wide range of possibilities provided by SAS/GRAPH and polygon plots in the SG procedures, as well as replays, overlays in both SAS/GRAPH and SG procedures, and annotations including Zip Code level processing. The more recent GfK maps now provided by SAS, that underlie newer SAS products such as Visual Analytics as well as traditional SAS products, will be discussed. The pre-production SGMAP procedure released with Version 9.4 Maintenance release 5 will be discussed in context. |
proc step, proc gmap, proc sgplot, sample, sas base, dataset, macro variable, proc sql | source | 30 |
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.
HOME
QUICK SEARCH
AUTHORS
KEYWORDS
HELP
BUGS