WUSS 2013 Papers - Index
110 papers. Source: WUSS (Western Users of SAS Software) conference proceedings.
| # | Title× | Authors× | Abstract× | Keywords× | Extras | Pages |
|---|---|---|---|---|---|---|
| 1 | "How Do I...?" There Is More Than One Way To Solve That Problem; Why Continuing To Learn Is So Important | Arthur L. Carpenter | In the SAS forums questions are often posted that start with "How do I . . . ?". Generally there are multiple solutions to the posted problem, and often these solutions vary from simple to complex. In many of the responses the simple solution is often inefficient and also reflects a somewhat naïve understanding of the SAS language. This would not be so very bad except sometimes the responder thinks that their response is the best solution, or perhaps worse, the only solution. Worse yet, when there is a range of solutions, the 'right answer' that the original poster selects often reflects the simplest solution that the original poster understands. In both cases these folks have stopped learning and have stopped expanding their understanding of the language. The examples in this presentation will illustrate the progression of solutions from the simple (simplistic) to the sophisticated for a number of 'How do I . . . | macro variable, proc sql, proc step, set statement, proc format, point= option, proc freq, whichc, input statement, dictionary tables, if-then-else, macro function, where statement, stop, call symputx, lookup, dataset, proc glm | source | 20 |
| 2 | %CS: A SAS Macro to Calculate and Construct Composite Scores for Large Data | Qinlei Huang | In statistics, and particularly psychometrics, composite scores are calculated from data of multiple variables in order to form reliable and valid measures of latent, theoretical constructs. With the rapid development in methods and software to manage and analyze large data, more and more social science researches (e.g. psychology, education, sociology, political sciences, and economics) adopt large questionnaires which often contain dozens to hundreds of measures with thousands of items (variables). The conventional coding strategy is very time consuming and requires intensive programming efforts to calculate and construct composite scores of measures for large data. A user written SAS macro called %CS is introduced to efficiently handle item reserve coding and composite score calculation in minutes. Specifically, it adeptly uses SAS DATA STEP, PROC SQL, ARRAY, MACRO languages and the list of measures in EXCEL format. |
macro variable, excel, proc sql, macro definition, proc step, latent variable, macro call | source | 6 |
| 3 | %GrabTweet: A SAS Macro to Read JSON Formatted Tweets | Isabel Litton, Rebecca Ottesen |
While social networking sites seek to connect people, they have recently flourished as a connection between businesses and consumers. Twitter, in particular, serves as a notable source of raw data businesses can analyze to discover more about consumers and their trends. Twitter recently updated their API to version 1.1, which only supports JSON format. Currently, there is not a lot of published code for SAS 9.3 to directly retrieve the JSON formatted tweets for API version 1.1 and read them into SAS as a cleaned and ready to analyze dataset. This paper describes the application of PROC HTTP within a macro to grab a specified amount of tweets with varying parameters. |
proc http, proc step, call symput, macro variable | source | 11 |
| 4 | A First Look at the ODS Destination for PowerPoint | Tim Hunter | This paper introduces the ODS destination for PowerPoint, one of the next generation of ODS destinations. Using our new PowerPoint destination you can send PROC output directly into native PowerPoint format. See examples of slides created by ODS. Learn how to create presentations using ODS, how to use ODS style templates to customize the look of your presentations and how to use pre-defined layouts to make title slides and two-column slides. Find out how the PowerPoint destination is like other ODS destinations and how it's different. Stop cutting and pasting and let the ODS destination for PowerPoint do the work for you! |
proc step, ods rtf, options statement, proc template, proc tabulate, ods pdf | source | 20 |
| 5 | A Graphical Approach to Advise an Appropriate Statistical Analysis | Bret Moulton, Robin Jeffries |
Graphics can be a powerful tool to display the information that is contained in a data set. Most often charts and diagrams are created as a way to convey the results of an analysis, but they can be equally useful in the early stages of analysis. When faced with large or complex data set structures, analysts may have to make decisions regarding which analysis is appropriate for the data, and graphics may be able to assist with the decision process. Creative use of the Graphics Template Language (GTL) can provide graphics that allow for visual check of assumptions, which could subsequently advise on the types of analysis that are possible and appropriate. In this paper, we describe a process to create and modify a dynamic graph that allows us to view the differences between pre- and post- intervention survey data, as well as assess potential differences within certain subsets of data and non-mutually exclusive categories. | sample, proc step, histogram, density plot, parametric test, proc template, proc sgpanel | source | 7 |
| 6 | A Quick and Dirty Descriptive Data Summary | Nora Ruel, Rebecca Nelson |
Descriptive data summaries are a staple for population and epidemiologic studies. They involve summarizing data elements and are often integrated with cross-tabulations and comparison statistics with a stratification variable. Certainly, it is easy enough to use a combination of the MEANS, UNIVARIATE, FREQ, and the REPORT procedures to get several stacks of output. But such output requires much manipulation prior to being presentable and easily digested, and repeated iterations of a cleanup process can be cumbersome. The purpose of this paper is to discuss the development of a macro for summarizing a large dataset with numerous variables. It provides the reader tools to generate a nicely formatted basic descriptive statistical report - one that displays the variables in the order intended, contains useful comparison statistics, and is presented in a readable format. | variable list, nominal variable, proc step, interval variable, macro variable, proc freq, proc contents, standard deviation, excel, proc report | source | 12 |
| 7 | A Tutorial on PROC LOGISTIC | Arthur X. Li | In the pharmaceutical and health care industries, we often encounter data with dichotomous outcomes, such as having (or not having) a certain disease. This type of data can be analyzed by building a logistic regression model via the LOGISTIC procedure. In this paper, we will address some of the model-building issues that are related to logistic regression. In addition, some statements in PROC LOGISTIC that are new to SAS 9.2 and ODS statistical graphics relating to logistic regression will also be introduced in this paper. |
odds ratio, likelihood function, logistic distribution, logistic regression, regression analysis, proc logistic, nominal variable, confidence interval, predictor variable, estimate, null hypothesis, maximum likelihood estimation, proc step, interval variable, relative risk, proc freq, predictive probability, response variable, sample | source | 19 |
| 8 | Access to Relational Databases Using SAS | Frederick E. Pratter | SAS software currently provides many of the features of a database management system, including database views and an extended superset of ANSI SQL. However, it is often impractical or just plain impossible to convert desktop or organizational databases into SAS. Consequently, SAS software provides several procedures for access to relational databases. This paper will review how to use the various SAS/ACCESS products for linking networked workstations to remote servers. Most of the examples will use the SAS/ACCESS for Oracle, but the principles described apply equally to local databases in Microsoft Access, as well as other client/server systems such as DB2 and MySQL. |
proc sql, relational database, sql pass-through, sample, proc step, libname statement, create table, sas enterprise guide, in-database processing, select | source | 10 |
| 9 | Accomplish Optimal I/O Performance on SAS 9.3 with Intel Cache Acceleration Software and Intel DC S3700 Solid State Drive | Yingping Zhang, Curry Jeff, Roxas Frank, Benjamin Donie |
Because of the large volumes of data processed, the dramatically increased CPU speed as well as the availability of multiple CPUs on a system, the I/O throughput of the SAS applications could easily become a system bottleneck and a key factor in determining SAS performance. Intel Cache Acceleration Software (CAS) complements the Intel Solid State Disk (SSD) data center family of products for a comprehensive caching solution and prioritizes application performance with unique, policy-based cache control that accelerates applications without backend storage or applications performance degradation. | proc step, record count | source | 10 |
| 10 | Add Dropdowns and Redirects to Your SAS Output | Barbara Ross | Outputting attractive and interactive reports via SAS onto the web doesn't have to be complicated. For most internal purposes, a webpage directory that links to static reports that update regularly is enough. This paper introduces simple ways to add dropdown menus and redirects within your SAS output. All webpages are created using Base SAS and website directories are managed using an open source FTP client for Windows (WinSCP in this case). Techniques used include: JavaScript to select item on click, PHP to collect form entries, and HTML for hyperlinks. The SQL procedure and DATA STEP are used for data transformations. |
macro variable, options statement, sas output, character functions, proc sql | source | 15 |
| 11 | An Abbreviated PROC COMPARE with Traffic Lighting | William Conover | PROC COMPARE is the industry standard for comparing SAS datasets, but digging through the PROC COMPARE output of multiple comparisons every time a weekly data download has been completed can become tedious and inefficient. This paper illustrates a method to pull certain 'key' text strings from the PROC COMPARE output and display them in an easy to read HTML format, complete with green and red traffic lighting, while keeping the integrity of the detailed original output for reference. |
proc compare, proc step, txt | source | 8 |
| 12 | An Algorithm for ARIMA Dynamic Regression Variable Selection | Ross Bettinger | It is frequently the case with Big Data that you have a gazillion exogenous predictor time series that you need to analyze so you can build a dynamic regression time series model.1 The %ARIMA_SELECT macro can help you to determine which exogenous predictors2 are strongly correlated with your response variable and which are not. The %ARIMA_SELECT macro is designed to rank-order individual exogenous time series according to a user-specified performance measure, and can be a valuable tool for reducing the dimensionality of your data. It can also perform variable selection using forward selection or "all subsets" selection for model building. | time series analysis, forward selection, feature selection, response variable, significance level, regression analysis, proc arima, proc step, backward selection, type i error, predictor variable, correlation | source | 14 |
| 13 | An Overview of Syntax Check Mode and Why It Is Important | Thomas E. Billings | The syntax check options direct the SAS system, when a syntax error occurs while compiling source code, to enter a special mode to scan the remainder of the job for syntax errors after the point where the error occurred. In this mode, only the header portion of some data sets are created, permanent data sets are not replaced, but global commands are executed (also a very few PROCs). The options controlling the mode are explained and illustrated using simple test jobs. The effects of setting and resetting the option within a job are explored, and there are some surprises along the way. The risks of running with the options enabled vs. disabled are discussed. | proc step, sas enterprise guide, options statement | source | 8 |
| 14 | Array: Simplify Coding | Kai Yang | Before we run data analysis, we need to perform repeated data manipulation for a group of variables, such as: cleaning, validation, transformation, and recoding. Generally, these tasks can be done by using IF-THEN statements. But arrays provide more efficiency and easier ways to finalize the work. Arrays can dramatically simplify SAS DATA STEP coding also. Using array, we can reduce coding from a couple hundred IF-THEN statements into just a few. The code becomes clearer and easier to read. Array is a powerful tool to fit this job. Array is easy to learn. This paper will present basic usages of array in SAS DATA STEP. |
data step, array, sample | source | 5 |
| 15 | Automated and Customized Reports as a Single Image File Using Graph Template Language (GTL): A Case Study of Benchmarking Reports in Medical Research | Monarch Shah, Ginny Lai, Eric P. Elkin |
Site benchmarking reports give us an overview of basic demographic, clinical, and disease characteristics for the individual site with comparison to the study as a whole. A solution was needed for on-going reporting to over 250 study sites participating in a long-term study. The report needed to be concise, present data in both tables and figures, and provide information from both the individual study site and the entire study. (This objective could also arise in other fields, for example comparing each store's performance to the entire chain or each classroom's performance to the school district.) However, creating and combining tables and figures into an EXCEL or PowerPoint file can be challenging and time consuming. Alternatively, through a new graphical procedure available in SAS 9.2, one can customized reports and automate them to generate for each site and for future use. |
bar chart, graph template language, proc step, proc means, sample | source | 11 |
| 16 | Automated Forward and Best Subset Selection for Generalized Additive Models using PROC GAM | William Garner | Generalized Additive Models (GAMs) are useful exploratory analysis tools for uncovering relationships between predictors and a response variable. PROC GAM allows a user to fit a model, but does not allow for model selection. This paper presents two macros (forward selection and best subset selection) for finding an optimal model based on Akaike Information Criterion (AIC) that can be used in SAS 9.2 or higher. The macros are applied to an example dataset. |
degrees of freedom, proc gam, best subsets, proc step, forward selection, interval variable, regression analysis, response variable, macro definition | source | 11 |
| 17 | Building a Controlled Statistical Programming Environment | Wayne F. Woo | Statistical programming in the pharmaceutical industry continues to evolve as we see new data standards and maturation in understanding and application of 21 CFR Part 11. This has led to further moving away from regarding SAS in isolation as a tool, and more towards an integrated computing environment where SAS is one of the primary components. A controlled programming and analysis environment should include both technical infrastructure and process control. On the technical side, the platform embraces the concepts of the software development life cycle (SDLC) as well as provides the control structures. Tools are put in place that support the phases of activity specified in SDLC models. Increasingly, vendors are offering packaged applications but the implementation and operation of such systems are complex and costly. This paper discusses the pertinent points in constructing a basic technical and process infrastructure to establish a controlled clinical trials programming environment. | data cleaning, audit trail, 21 cfr part 11, clinical trial, access control, clinical programming, sas programming, clinical research, adam dataset, clinical data, sas base, cdisc | source | 10 |
| 18 | Challenges in Moving to a Multi-tier Server Platform | Carey G. Smoak | Moving from a simple server to a multi-tier server environment poses many challenges. The multi-tier server environment in this paper includes a physical application (SAS version 9.3) server and a virtual metadata server. No mid-tier (web) server is included in this configuration. The SAS Management Console 9.3 is used to administer the metadata (users, groups, roles and permissions). Two types of clients (SAS Enterprise Guide and the SAS Add- in to Microsoft Office) are used to perform various tasks using the data on the application server. Challenges include: (1) validating SAS on a multi-tier system, (2) understanding and administering metadata using SAS Management Console, and (3) training users on Enterprise Guide and the Add-in to Microsoft Office. The business need for moving to this type of environment was to allow non-SAS users to have read-only access to SAS datasets to monitor and query clinical trial data. This can be accomplished through the Add-in to Microsoft Office. | dataset, sas management console, data cleaning, sas enterprise guide, excel, sas programmer, clinical trial, sas administrator, sas programming, stress testing | source | 5 |
| 19 | Cheat Sheet: Data Processing Optimization - for Pharma Analysts & Statisticians | Karthikeyan Chidambaram | This paper will provide tips and techniques for the analysts & statisticians to optimize the data processing routines in their day-to-day work. Quite a bit of productivity is lost on slow SAS servers and slow response time from IT teams. However, there are certain tools and techniques, that the analysts can do on their end, to bypass the inefficiencies. This paper will provide a list of those techniques & share the experience on utilizing the SAS GRID architecture. | dataset, options statement, work library, pdv, keep statement, where statement, sas grid, sas enterprise guide, proc step | source | 5 |
| 20 | Checklist for the Standardization of Quality Assurance and Optimization of HEDIS Programming | Jason Hermosillo | The success of a HEDIS programming team depends on their ability to produce high quality results. HEDIS is an acronym that stands for Healthcare Effectiveness Data and Information Set. NCQA designed the HEDIS process as a means of comparing performance across healthcare organizations. HEDIS results receive nationwide attention from employer groups, NCQA, MEDICARE, individual members, etc. Thus, the quality of the results that we produce impacts not only our analytic group but our organization as a whole. Applying a standard of quality assurance and optimization of HEDIS programming can help the group produce rates that are accurate and believable. | quality assurance, sas programming | source | 4 |
| 21 | Competing risks regression: Big Data issues from modest sample sizes | Katharine Kirby, Deborah Barnes, W. John Boscardin |
Competing risks regression is becoming widely used in the analysis of time-to-event data to correctly account for events due to other causes that prohibit the event of interest from occurring. In the presence of competing risks, the cumulative incidence function proposed by Kalbfleisch and Prentice is often used to construct parameter estimates. There are different approaches to modeling the cumulative incidence function directly; one is Fine and Gray's method incorporating a proportional subdistribution hazards model. There are several computational approaches to estimating the Fine-Gray model; the two most popular are the weighted estimating equations approach (used in the original paper by Fine and Gray) and an approach (Geskus 2011) that explicitly augments the original data set with weighted pseudo observations that effectively keep a subject in the risk set for the failure type of primary interest after they experience a competing risk event. | sample size, sample, competing risks, regression analysis, proc phreg, proc step, estimate, cpu time, fine-gray model | source | 4 |
| 22 | Constructing Begin-End Date Intervals from Event or As-of Dates in a SAS DATA Step | Thomas E. Billings | The challenge: you have a SAS table that contains a series of event or as-of dates or datetimes, and you want to create a version of the table that includes date intervals: [begin date, end date] variables that specify when the data for each row are relevant. Basic concepts for dates and intervals are reviewed, followed by an example of a table with a series of dates, and the target date intervals to be constructed. The different methods available to construct intervals are briefly described. Design considerations and options, including possible problems, are covered in-depth. Code for a single DATA STEP that uses the LAG function to construct date intervals is reviewed. An appendix provides a numeric method to minimize possible data loss when using datetimes of arbitrary precision. |
proc sql, lag function, sample, proc step, proc sort | source | 8 |
| 23 | Converting Electronic Medical Records Data into Practical Analysis Dataset | Irena Stijacic Cenzer, Mladen Stijacic, Sei J. Lee |
Electronic medical records (EMRs) are becoming an increasingly common source of data for medical research. These records are a rich in medical data, including lab results, medications and health conditions. However, EMR data is usually not set up conveniently for statistical analysis. We describe the methods and SAS code we used to prepare EMR data for two studies in the population of older patients with diabetes. The paper includes examples of using SAS to interpolate values, impute missing values, combine measures from different days into one summary variable, estimating length of stay with discontinued admission and discharge dates and more. | adam dataset, final analysis | source | 6 |
| 24 | Converting Entity-Attribute-Value (EAV) Source Tables into Useful Data with SAS DATA Steps | Thomas E. Billings, Baskar Anjappan, Junling Ji |
Entity-attribute-value (EAV) tables are a non-relational, row-based data structure in which each variable is recorded on a separate row. The EAV table has columns that identify: a) the associated entity (source table) name, b) the relevant attribute/variable name, and c) the value of the attribute/variable, usually in string (character) form. Such data must be transposed, converted (in many cases) from character to numeric/DATETIME, adjusted for length, and cleaned to be useful. These operations are complex and cumbersome in SQL, but the SAS DATA STEP provides a more elegant way to process EAV data. In particular, the use of RETAIN variables, FIRST and LAST.BYVARIABLE operators, and IF-THEN-ELSE logic are powerful tools for turning complex, messy, unusable EAV data into standard, clean by-column data. |
proc sql, proc step, proc transpose, relational database, sample, group by | source | 9 |
| 25 | Creating a DOS Batch File to Run SAS Programs | David W. Franklin | We often have many SAS programs to run in a directory. While it is possible to run each individually, it is better if a DOS Batch file be created with the list of programs being run and the order in which they are run. This paper looks at a SAS macro that will take the list of SAS programs in a directory, as specified by the user, and create a DOS Batch file to which can then be run to run all the SAS programs. Also presented will we a small SAS program that you can run at the end of the program to send you an email saying when the programs had finished, and whether there are any issues in the SAS LOG to review! | sas log, macro definition | source | 4 |
| 26 | Creating Custom Graphic Output Using the SG Annotate Data Set | Doug E. Lassman | New to the version 9.3 release, SAS added the capability to include custom text, lines and shapes to ODS Statistical Graphics. This paper will show examples of how these can be used to enhance graphic outputs. The examples will be primarily from the pharmaceutical industry but these can easily be extended to use in other areas. Annotations can be used in the SGPLOT, SGPANEL and SGSCATTER procedures. Graphs using each procedure will be shown concentrating mainly on the TEXT and LINE annotation functions but the others will also be discussed. |
adverse events, proc sgplot, laboratory abnormality, waterfall chart, proc step | source | 13 |
| 27 | Creating Excel-lent SAS Data Sets | Ben Cochran | On occasions, a SAS user might find themselves in the position where they need to write a SAS program that can read and process files in a specific direct ory. In this case, the contents are a ll EXCEL spreadsheet files. All these files need to be read and converted into SAS datasets. This paper illustrates how to do this in a step by step process using the DATA STEP. |
dataset, proc import, sas log, proc step, call execute | source | 6 |
| 28 | Creating Graphical Patient Profiles Using SAS | William Garner | Patient profiles bring together various sources of related data for a subject participating in a clinical trial. They are especially useful when the data is dynamic, e.g. additional tests are done based on the finding of a radiological scan. This paper describes the development of such a profile for a clinical trial as well as general macros made which utilizes general inputs from a standardized dataset structure. The profile is broken down into a series of 3 objectives, each with their own numbered steps. | clinical trial, study day | source | 12 |
| 29 | Cross Platform migration of SAS BI Environment: Tips and Tricks | Amol Deshmukh | As a part of organization wide initiative to replace Solaris based UNIX servers with Linux based Servers, California ISO migrate d SAS BI environment to Linux based Server. Migration of existing SAS BI Environment to a new architecture and upgrade it to latest maintenance release could be overwhelming due to various factor like - New Operating System - Operating System Preparedness - Third party Software needs - Enhancement to existing SAS BI Architecture by utilizing features from latest release. - Installation Nuances - SAS Hot fixes - Metadata Migration - User Data Migration - Portal Data Migration This paper provides details about the approac h we have taken to successfully complete this migration and lessons learnt during this migration process. It also provides a step by step migration guide and includes high level details of various SAS tools used such as 1. SAS Auto call Macros 2. Various tools and scripts used for installation and customization 3. | sas management console, data cleaning | source | 8 |
| 30 | Current Directions in SAS/STAT Software Development | Funda Güneş | Recent years brought you SAS/STAT releases in rapid succession, and another release is targeted for 2013. Which new software features will make a difference in your work? What new statistical trends should you know about? This paper describes recent areas of development focus, such as Bayesian analysis, missing data analysis, postfitting inference, quantile modeling, finite mixture models, specialized survival analysis, and structural equation modeling. This paper introduces you to the concepts and illustrates them with practical examples. More Frequent Releases of SAS/STAT Software In previous years, SAS/STAT software was updated only when Base SAS software was released, but SAS/STAT is now released independently of Base SAS along with other SAS analytical products. This means these products can be released when enhancements are ready, and the goal is to update SAS/STAT every 12 to 18 months. |
source | 22 | |
| 31 | Customize Comparison Tables for Clinical Studies | Polina Kukhareva, Katherine J. Roggenkamp |
Comparisons between two or more groups are very common in clinical studies. This paper describes a two-step strategy to create customized tables containing correct comparative p-values and descriptive statistics faster and easier. At the first step, you use a SAS macro to create a data set and an RTF file for the descriptive statistics and p- values. This macro has three advantages over performing the estimations one by one. First, the macro makes it easier to compare a long list of baseline characteristics. Secondly, it allows variables to be added or deleted from the list. Thirdly, it works with comparisons of two or more than two groups. The macro can save hours of code-writing time for a programmer. At the second step, you can change variable labels, titles, footnotes, or the style of the report, by using the DATA STEP and PROC REPORT. Program code for post processing as well as the macro code is included. |
nominal variable, interval variable, chi-square test, macro call, anova, label statement, baseline characteristics, clinical trial, kruskal-wallis test | source | 12 |
| 32 | Decision Trees as a Predictive Modeling Method | Gerry Hobbs | Predictive modeling has become an important area of interest for people who in areas such as credit scoring, target marketing, churn prevention, forensic identification, medical diagnosis and fraud detection. The SAS System provides numerous tools that may be used for the prediction of both continuous and categorical response variables, targets in the current lexicon. While there are many different methodologies (neural networks, etc.) used for these purposes, in this presentation I will limit myself to prediction algorithms based on recursive partitioning, commonly called decision trees. | proc hpsplit, predictor variable, regression analysis, response variable, sample, validation set, data cleaning, neural network, nominal variable, training set, bootstrap | source | 8 |
| 33 | Design of Experiments (DOE) Using JMP | Charles E. Shipp | JMP has provided some of the best design of experiment software for years. The JMP team continues the tradition of providing state-of-the-art DOE. In addition to the full range of classical and modern design of experiment approaches, JMP provides a template for Custom Design for specific requirements. The other choices include: Screening Design; Response Surface Design; Choice Design; Accelerated Life Test Design; Nonlinear Design; Space Filling Design; Full Factorial Design; Taguchi Arrays; Mixture Design; and Augmented Design. Further, sample size and power plots are available. Ground-breaking progress is added in Version 11 with Definitive Screening Design. | quality control, sample size | source | 4 |
| 34 | Different ways of parallel processing using SAS | Arun Akkinapalli, John Prenner |
The present competitive scenario calls for efficiency with respect to time, a vital factor in evaluating any process. The use of parallel processing has largely enhanced this factor. This paper illustrates in three different methods, how to use SAS to take advantage of parallel processing. The first method uses MP CONNECT, the second method uses SYSTASK com mand and the third uses X command . Each of the methods are discussed with pointers to their respective advantages and limitations, as well as an example is used to compare each of these methods with respect to their run time durations. | mp connect, parallel processing | source | 4 |
| 35 | Dynamic Regression in ARIMA Modeling | Ross Bettinger | Box-Jenkins time series models that contain exogenous predictor variables are called dynamic regression models. These models require analysis of correlations between current and lagged values of response, exogenous inputs, and errors to accurately reflect the relationship between response and predictors. We discuss the analysis of exogenous variables as they are used in dynamic regression and how PROC ARIMA may be used to incorporate them into transfer functions for time series model building. Time series in this paper are assumed to be stationary and nonseasonal to simplify the discussion, but since the analysis of nonstationary and seasonal time series proceeds according to the standard Box-Jenkins methodology there is no restriction in practice on the use of exogenous predictors. |
time series analysis, regression analysis, correlation, response variable, residual, lag function, covariance, moving average, proc arima, sample, proc step | source | 11 |
| 36 | Estimating Medication Adherence Using a Patient-Mix Adjustment Method | R. Scott Leslie | The Centers for Medicaid and Medicare Services (CMS) and several national health care quality organizations regard medication adherence as a major attribute of quality of care. The preferred method of measuring medication adherence is the Proportion of Days Covered (PDC) by medication(s) over a specified review period. Although PDC can be calculated fairly easily from pharmacy claims using relatively little data elements, patient's medication adherence is most likely confounded by patient demographics and other measurable and immeasurable factors. This paper explores the use of a patient-mix adjustment method to account for patient's characteristics and previous medication history. Included is a description of a macro used to calculate PDC and estimate medication adherence. | do loop, insurance claims, data step, binary variable, risk adjustment | source | 9 |
| 37 | Estimating the Impact of Lost to Follow-up on Breast Cancer Patients' Disease-free Survival | Debbie Yan Qun Huang | The 5-year survival rate for breast cancer patients is much higher than patients with other types of cancer. Due to the longer survival period, breast cancer patients tend to have increased rates of lost to follow-up, compared to other cancers. The occurrence of distant metastasis cannot be reliably ascertained for lost patients, unless they had a breast cancer-specific death. The impact of lost patients on recurrence rates and disease-free survival (DFS) was explored in patients seen at the City of Hope from 1997 to 2012. Female breast cancer patients with a stage of 0, I, II, or III at diagnosis were included in these analyses (N=2,358). Of these patients 1,937 were non-lost and 421 were lost. Stratified by lost status, Kaplan-Meier estimates for DFS were computed using PROC LIFETEST. Cox proportional hazards models were built with PROC PHREG to adjust for multiple predictors. |
disease-free survival, propensity score, proc step, proc phreg, logistic distribution, regression analysis | source | 7 |
| 38 | Exact Testing Procedures in SAS for Categorical Data Analysis | Guogen Shan, Darren Liu |
In categorical data analysis, the majority of methods are based on asymptotic approaches. As we all know, asymptotic approaches are very easy to calculate, however, they may have an unsatisfied type I error control. Actual type I error rates of testing procedures could be under- estimated or over-estimated for the discrete data. In addition, when power of the study is over- estimated, sample size is definitely under-estimated. The sample size in a study is actually not enough to attain the pre-specified power. In order to avoid such problems, exact approaches can be considered as alternatives in data analysis. SAS provides the option EXACT in several procedures for producing exact p-values as well as exact confidence intervals. We will review the commonly used conditional exact approach (Fisher's test) by using examples in the SAS help files. We will also compare the EXACT statement in SAS to exact testing procedures in other statistical software packages. | confidence interval, proc freq, confidence level, proc step, exact test | source | 5 |
| 39 | Exploring the PROC SQL _METHOD Option | Kirk Paul Lafler, Charles E. Shipp |
The SQL Procedure contains powerful options for users to take advantage of. This presentation and poster explores the fully supported _METHOD option as an applications development and tuning tool, and learn how to use this powerful option to understand and control how a query processes. |
proc sql, proc step, sas log, where statement, error message, options statement, data merging | source | 4 |
| 40 | Factor Analysis: Quit being a whiny baby and learn it with SAS Enterprise Guide | AnnMaria De Mars | Why should YOU know about factor analysis? Imagine yourself in this scenario - someone, maybe you, has collected survey data at great expense. Maybe you paid subjects to answer questions about themselves, gave students credit to participate in a study, and now you have dozens, perhaps hundreds, of variables on each person. How on earth do you analyze these data? You could just go through and start putting questions together to form sub-scales, but that is pretty arbitrary. Enter factor analysis to help you make sense of your data. Factor analysis is extremely useful. Conceptually, it is relatively easy to understand - mathematically, um, not so much so. Fortunately, SAS Enterprise Guide makes the whole process much simpler. | factor analysis, correlation, sas enterprise guide, scree plot, proc means, sample, missing value | source | 9 |
| 41 | Flexibility by Design: A Look at New and Updated System Options in SAS 9.4 | Jan Squillace | Base SAS software's many, customizable options make it an extremely flexible programming language. For example, you can customize the options to make the software suitable for different machine sizes, data file sizes, data types, memory sizes, languages, and locales. Each SAS release adds more flexibility with new options and updated default values for existing options. This paper discusses new and updated SAS 9.4 system options that are most likely to affect Base SAS programmers. The discussion covers options that enable you to create very large data sets, accelerate program execution time, ensure the correct date and time in SAS output, prevent truncation of input and output external files and SAS programs, read two-digit years correctly, and save your SAS environment for use in later SAS sessions. | options statement, bufsize, dataset, cpu time, sas output, sas library, work library, libname statement, proc step, correlation, sas base, elapsed time, proc sort, sas log, proc options | source | 16 |
| 42 | Flexible Code: How Not to Get Stuck in a "Maze of twisty little passages, all alike" | Paul D. Hamilton | Creating global macro symbols which hold the value of patient counts per study treatment arm is a technique very widely utilized by clinical SAS programmers in the pharmaceutical industry. This paper introduces a slight variation on one standard method, that results in greatly reduced complexity and greatly enhanced flexibility. It relies on both very old tools, and some relative newcomers that may be novel to some. | proc step, proc report, macro variable, treatment arm, proc means, dataset, global symbol table, proc sql, symbol table, pharmaceutical industry, missing value | source | 6 |
| 43 | Fly Over, Drill Down and Explore! | Suzanne Brown | Data often have a spatial dimension, whether it is a five-year financial plan and annual budget, or public health initiatives spanning several counties or states, differences in geographic areas inform healthcare providers or illuminate the differences between regional spending. SAS/GRAPH and GMAP provide a powerful entry point for investigation. When combined with the power of ODS, GCHART, SAS Macro Language, and Base SAS, data become more user friendly and informative. This paper demonstrates how to incorporate the power of ODS with SAS Graph to draw a map, insert annotation to select a location of interest, use ODS to create drill-down, and explore hyper-linked data tables and charts. Using SAS-supplied datasets to draw map boundaries, we create an annotation data set, use Macros to dynamically create high level and detail reports for each destination, add hyperlinks, and create graphs to turn data into information. |
macro facility, macro definition, proc step, proc report, call execute, sample, dataset | source | 6 |
| 44 | From Database to your Desktop: How to almost completely automate reports in SAS, with the power of Proc SQL | Kirtiraj Mohanty, Trinh Nguyen |
AS has many varied applications, and in many situations, data analysts use SAS, to automate reporting and data summarization processes. PROC SQL is a powerful procedure, which could be used to pull data from databases, manipulate and summarize the data within SAS, as per the requirement and then email or export EXCEL or CSV files to the end user. SAS connection to ODBC can be used to connect to any popular database servers (e.g. Teradata, Oracle, MS SQL Server, MS Access etc.) and conveniently bring data into SAS (as SAS dataset format) and then perform various data manipulation/summarization techniques using PROC SQL to bring the data into the desired format, for further analysis or reporting purposes. Macro variables could be used to dynamically generate variables, like date ranges, which need to change over time, to execute SQL queries. |
proc sql, proc step, dataset, excel, batch job, data science | source | 8 |
| 45 | Generation of Subset Listings | William Coar | Throughout the course of a project, it is fairly common for a SAS programmer to provide a print of raw data, otherwise called a data listing. Data listings allow a reviewer to drill down into the original values that may be of interest as a result of summarization, or may be used by data management to aid in data review and cleaning. In the pharmaceutical industry, a typical request is to produce a listing of all observations within a dataset, with perhaps a few key additional fields added. Subsequent requests often come in the form of regenerating these listings on subsets of data. For example, if particular sites are identified as having problematic data, a data manager may want to further review data listings for those particular sites. The first part of the application proposes the use of existing listing programs without any modification to generate versions of such listings based on user specified criteria to identify a subset similar in spirit to defining a WHERE statement. | macro variable, where statement, proc step, batch processing, pharmaceutical industry, sas programming, clinical trial, data step, data cleaning, data review, execution phase, macro definition | source | 13 |
| 46 | Getting so Much when Reviewing Data with Touch | Sy J. Truong | Data reporting with SAS in the form of data listings for summary tables are becoming antiquated in the era of multi-touch tablet and mobile computing. SAS is a very powerful analytical tool and traditionally has a robust set of reporting tools. However, ODS is showing its age as people are finding other ways of accessing and reviewing their data in addition to a desktop computer or on hard copy. As users shift from sitting at our desk towards reviewing clinical data on mobile devices, we need a new SAS option, or perhaps a "PROC MOBILE". This paper presents a novel |
adverse events, clinical data, mysql, sas programmer, proc freq, dataset | source | 14 |
| 47 | Going the Distance: Google Maps Capabilities in a Friendly SAS Environment | Anton Bekkerman | While the GEODIST procedure allows users to calculate "as the crow flies," straightline distances, SAS does not directly provide capabilities to calculate road distances between locations. For many users who might only have addresses (rather than geographic coordinates) and who need to determine actual road distances for optimizing routes, minimizing transportation costs, or simply translating postal addresses to geographic coordinates, existing SAS functionality may be insufficient. I demonstrate how Google Maps can be integrated with SAS to perform these functions and output the desired results within the SAS environment. That is, after a SAS user specifies a location or multiple locations (as postal addresses, city names, state names, etc.), the information is passed to Google Maps from within SAS, the underlying Google Maps HTML code with the coordinates and/or directions is retrieved and parsed, and the desired results are recorded to a SAS dataset. | out=, macro variable, macro definition, %if-%then-%else | source | 9 |
| 48 | Graphical Representation of Patient Profile for Efficacy Analyses in Oncology | William Wu, Xiaoxian Dai, Linda Gau |
With the advancement of cancer care and the need to develop new therapies for cancer, oncology clinical trials have become more and more popular. Currently, most of the efficacy analyses in oncology clinical trials are represented by tables and listings. For patients with multiple visits, it is not convenient to read and understand the information presented in the tables and listings. In this paper, we introduce a SAS macro developed in SAS 9.3 to create patient profile graphs in a multi-page PDF file using the SAS Output Delivery System (ODS) for efficacy analyses. On each page of the PDF file, there are two graphs. In addition, supporting information is added as listings to the graphs using the SAS Annotate Facility. Efficacy data for patients with chronic lymphocytic leukemia (CLL) are used to generate the graphics output using the developed SAS macro. Compared to the tables and listings, the graphs are more intuitive and much easier to understand. |
in=, clinical trial, ods pdf, sample | source | 7 |
| 49 | Hands-On SAS Macro Programming Tips and Techniques | Kirk Paul Lafler | The SAS Macro Language is a powerful feature for extending the capabilities of the SAS System. This presentation highlights a collection of techniques for constructing reusable and effective macros tools. Attendees are introduced to the techniques associated with building functional macros that process statements containing SAS code; design reusable macro techniques; create macros containing keyword and positional parameters; utilize defensive programming tactics and techniques; build a library of macro utilities; interface the macro language with the SQL procedure; and develop efficient and portable macro language code. |
macro variable, macro facility, proc step, autocall macro, macro definition, macro function, macro parameter, %macro parameters, proc sql, dictionary tables, options statement, macro loop, &variable | source | 9 |
| 50 | Hasing in PROC FCMP to Enhance Your Productivity | Andrew Henrick, Donald Erdman, Stacey M. Christian |
Hashing is an important tool often used to improve performance of operations such as merging, filtering and searching. Hashing has been supported in the DATA STEP for more than a decade, and beginning with SAS 9.3 is available to user-defined subroutines through the FCMP Procedure. Subroutines have always encapsulated and modularized code, making programs reusable, and the addition of hashing allows users to extend the scope of their programs, tackling larger problems without sacrificing simplicity. This paper compares existing hashing support in the DATA STEP with the new implementation in the FCMP Procedure. Examples are provided demonstrating how hashing in user-defined subroutines is used to improve performance and streamline an existing program. |
hash table, hash iterator, proc fcmp, sysrc, proc step, where statement, cpu time, dataset, numeric variable, hashing function | source | 15 |
| 51 | Helpful Tips for Novice Mainframe Programmers | Rahul Pillay | Do you create reports via mainframe? Use SAS as the one stop shop for all your data manipulations. SAS can efficiently read in data, create datasets without the need for multiple data steps and produce EXCEL reports without the need for edits. This poster is intended to help provide novice mainframe programmers with helpful tips to efficiently create reports using SAS in the mainframe environment. Topics covered will be Replacing JCL with SAS for Reading in Data, Efficient Merging for Efficient Programming, using PROC FREQ for Data Quality and PROC TABULATE for Superior Reporting. Replacing JCL with |
source | 2 | |
| 52 | How Best to Write a Loop in the DATA Step | Arthur X. Li | During the execution of the DATA STEP processing, the DATA STEP works like a loop, repetitively reading the data and creating observations one at a time. We call this type of loop the implicit loop. Sometimes we need to execute certain SAS statements repeatedly. In this situation, we need to construct an explicit loop by using the DO, DO WHILE, or DO UNTIL statements. There is a wide range of applications for explicit loops, such as generating random samples, reading multiple external data files, and so forth. However, in some scenarios, creating an explicit loop can be very tricky, even for seasoned programmers. Constructing a successful loop is dependent upon grasping SAS programming fundamentals, such as understanding that the SAS data set is created one observation at a time in the program data vector (PDV). In this paper, you will learn how to create loops with various applications and what happens in the PDV when creating the explicit loop. |
do loop, conditional do loop, output, sample, infile statement, execution phase, dataset, in=, automatic variable, out=, implicit loop, _n_, set statement, stop, compilation phase, ranuni | source | 19 |
| 53 | How to be a Data Scientist Using SAS | Chuck Kincaid | The role of the Data Scientist is the viral job description of the decade. And like LOLcats, there are many types of Data Scientists. What is this new role? Who is hiring them? What do they do? What skills are required to do their job? What does this mean for the SAS programmer and the statistician? Are they obsolete? And finally, if I am a SAS user, how can I become a Data Scientist? Come learn about this "job of the future" and what you can do to be part of it. | data science, machine learning, data mining, big data, proc sql, association rules | source | 13 |
| 54 | How to Compute Custom Hazard Ratio in SAS (V8.2&V9.2) PHREG Procedure | Liguo Cheng, Yu Li |
Cox's proportional hazards regression model is widely used in the analysis of survival data to explain the effect of the explanatory variables on hazard rates. The PHREG procedure in SAS provides new features (CLASS, CONTRAST, and HAZARDRATIO statements) on generating the hazard ratio and its confidence interval in V9.2 compared to V8.2. This paper aims to provide different methods to compute the customized hazard ratio for covariates with multiple categories. The emphasis is on illustrative examples of comparisons for manually generating the dummy variables in SAS V8.2 and using CLASS, CONTRAST, and HAZARDRATIO statements in SAS V9.2. |
hazard ratio, binary variable, predictor variable, proc phreg, estimate, nominal variable, hazard function, regression analysis, proc step | source | 8 |
| 55 | How to Measure Your Success with a Two Dimension Array | Humberto Cisneros, Carrin Huff |
follow-up period, debt collection, proc means, proc step | source | 14 | |
| 56 | Implementation of DEFINE.XML Generators using SAS Hash Objects and User-Defined Functions | Lei Zhang | Define.xml, as a data definition file for clinical study data, is one of key documents required for electronic submissions of CDISC standard datasets, such as SDTM and ADaM. However, generating a define.xml file is not an ordinary task, it poses a new challenge to many SAS programmers. In this paper, we explore a new way to develop a define.xml generator by leveraging new programming concepts and facilities in SAS9. The paper is organized as follows. It first reviews define.xml elements and the challenges of creating a define.xml file, and then proposes a new model for the define.xml metadata repository using object-relational (OR) data modeling concepts. Next, it introduces a lightweight framework called CCAT for the development of define.xml generators. The CCAT framework is implemented with the hash objects and user-defined functions in SAS9. | hash table, where statement, relational database, clinical trial, controlled terminology, create table, proc step, character variable, data step, proc fcmp, sas 9, sas programmer, excel, cdisc | source | 19 |
| 57 | Importing and Displaying Data Using SAS Enterprise Guide: Las Vegas Style | R. Scott Leslie | SAS Enterprise Guide allows users to import and display data quicker and easier than ever. The Import Data wizard contains multiple options to transform EXCEL spreadsheets into clean SAS data sets which can then be displayed as charts, tables and graphs with the use of several available Task wizards. Topics covered in this paper include navigating Enterprise Guide menus, importing EXCEL spreadsheets using the Import Data wizard, summarizing data sets with Task wizards, and using the Report Layout tool to create a PDF of your final output. US Census and publicly available real estate data on Las Vegas are used to demonstrate these effective Enterprise Guide features. |
sas enterprise guide, excel, dataset, txt | source | 13 |
| 58 | IMPROVING DATA ENTRY by 70% Importing Multiple Excel Worksheets Using DDE (Dynamic Data Exchange) | Humberto Cisneros, Carrin Huff |
The purpose of this paper is to streamline our manual method of data entry by establishing an electronic process. Based on various papers presented at SAS conferences, we were inspired to use DDE to improve our data entry process for data received on EXCEL spreadsheets. The Arizona Supreme Court, Administrative Office of the Courts (AOC) receives over 3,000 statistical reports from the courts every fiscal year. The details provided by these statistical reports are published 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 AOC receives statistical reports from all state courts and probation departments via the Internet, facsimile, Word, EXCEL, email, and through the U.S. mail. |
excel, macro variable | source | 13 |
| 59 | Introduction to the CDISC Standards | Sandra Minjoe | The Clinical Data Interchange Standards Consortium (CDISC) encompasses a suite of standards across the clinical space. The Study Data Tabulation Model (SDTM) and Analysis Data Model (ADaM) are probably the two standards most familiar to SAS User Group attendees, but there are many others. This paper and presentation focus on the foundational standards of CDISC, from protocol to analysis reporting, along with data exchange and controlled terminology. Each of these standards is introduced, emphasizing how it fits into the big picture. If you want to learn about these standards that are becoming common in the pharmaceutical, biotech, and medical device industries, or just add a few acronyms (such as PRM, CDASH, SDTM, SEND, ADaM, ODM, and NCI EVS) to your vocabulary, then this is for you! | cdisc | source | 10 |
| 60 | Ischemic Heart Disease: The Weekend Effect | Mahdi Khoshchehreh, Nasim Mirnateghi, Shaista Malik |
Acute coronary syndrome (ACS) is a common medical emergency where well-timed procedures can be lifesaving. Individuals presenting with ACS symptoms need to be rapidly assessed to determine if those symptoms are indicative of acute ischemia or other potentially serious disorders. Interventions must be performed expeditiously if ACS is the leading diagnosis. For instance, decreased 'Door-to-Balloon' time in acute ST elevation myocardial infarction resulted in improved heart function and decreased mortality. In the United States, ACS accounts for more than 1.4 million hospital admissions per year. In the general population, the annual incidence of ACS is approximately six cases per 10,000 persons. Although death rates have declined over the past few decades, ACS remains responsible for about one-third of all mortality of Americans age 35 and older. | source | 1 | |
| 61 | It's not the Yellow Brick Road but the SAS PC FILES SERVER will take you Down the LIBNAME PATH= to Using the 64-Bit Excel Workbooks | William E. Benjamin Jr. | SAS users who also use EXCEL or produce EXCEL workbooks will eventually find that the rapid pace of hardware and software changes occurring today will soon meet them head on. The need for faster computers and bigger workbooks are accelerating. This issue is not new, 8-Bit computers were replaced with 16-Bit CPU's, and they lost the battle to 32-Bit computers. Today new computer hardware routinely comes with up to eight 64-Bit CPUs in a single 2X2 piece of hardware for an affordable price. The fictional path down the yellow brick road to OZ was fraught with many challenges. SAS Institute has stepped up to the challenge of the way their users mix and match hardware and software. Since SAS Institute could not control the users and their hardware, the institute expanded the way programmers can use the LIBNAME statement to create a PATH= to open the way to create and read new EXCEL formats. |
excel, xls, libname statement, proc sql, sas log, proc step, name range list | source | 14 |
| 62 | JMP Visual Analytics | Charles E. Shipp | For beginners, we review the continuing merging of statistics and graphics. Statistical graphics is the forte of JMP software and the JMP team pioneered the way for SAS Visual Analytics. Moving forward into Version 11, JMP has easy navigation, a graph builder, advanced algorithms in 85 platforms, and robust statistics you can trust. For olde-timers, we celebrate JMP success and discuss evolving and emerging developments, which we saw at the JMP Discovery Summit 2013 with the new Design of Experiments additions and other additions to JMP Version 11. Many of the views will be shown in the presentation, and a lively discussion will continue in the hallway! | correlation, quality control | source | 7 |
| 63 | JMP, Excel, and SAS Connectivity | Charles E. Shipp, Kirk Paul Lafler |
Isn't Microsoft EXCEL the most used software in the world? Isn't JMP the best in the world for statistical graphics and data discovery? And isn't SAS software the gold standard for robust and reliable analysis? Combine these three with easy connectivity and you have everything you need. Depending on requirements, your (1) input, (2) discovery and analysis, and (3) final display and reporting can begin with any of the three and end with any of the three. We demonstrate the most likely paths that emphasize JMP capabilities. A lively discussion will continue in the hallway! |
excel, dataset | source | 14 |
| 64 | Ma, How Long Do I Cook The Turkey For? | David W. Franklin | Shortly it will be Thanksgiving and the cry will go out from the kitchen in some households "Ma, How Long Do I Cook The Turkey For?" This paper aims to give a lighthearted introduction to ODS RTF output using information of cooking times for that traditional of meats' at Thanksgiving, the turkey. Along the way there will be some turkey facts added in for little bit of light relief. |
proc step, proc report | source | 9 |
| 65 | Macro to compute Charlson Comorbidity Scores from Medicare Data | Irena Stijacic Cenzer, Kathy Fung, W. John Boscardin, Ken Covinsky, Louise Walter |
The Charlson score is one of the most widely used measures of the burden of disease and the prognostic impact of that disease burden. It is often used in epidemiologic studies, and as method of risk adjustment in policy analyses. The Charlson score considers which of the 17 diseases of interest a person has, assigns a point score to each based on its mortality risk, and sums them up to generate a score of disease burden. The final risk scores range between 0 and 41, with higher values associated with higher mortality risk over 10 years. Each disease in the index has an assigned weight of 1,2,3 or 6, with AIDS and Metastatic Solid Tumor having the highest weight of 6. Computing Charlson score from large claims datasets, including Medicare claims data, is possible due to richness of data in those claims. For each patient we have bills (claims) submitted to Medicare, which cover bills for services delivered in a wide variety of settings. | insurance claims, mortality | source | 7 |
| 66 | Make a Good Graph | Sanjay N. Matange | A graph is considered effective if the information contained in it can be decoded quickly, accurately and without distractions. Rules for effective graphics - developed by industry thought leaders such as Tufte, Cleveland and Robbins - include maximizing data ink, removing chart junk, reducing noise and clutter, and simplifying the graph. This presentation covers these principles and goes beyond the basics, discussing other features that make a good graph: the use of proximity for magnitude comparisons, nonlinear or broken axes, small multiples, and reduction of eye movement for easier decoding of the data. We also examine ways in which information can be obscured or misrepresented in a graph. | bar chart, series plot, data visualization, output delivery system | source | 16 |
| 67 | Matching with Hash Objects | Gregory Watson | The hash and hash iterator objects provide a powerful mechanism for storing and retrieving data within a DATA STEP. The ability to dynamically add and remove data from the hash object and retrieve it in an ordered manner allows for efficient processing of otherwise cumbersome operations. This paper reviews the syntax of hash and hash iterator objects and demonstrates their use to perform Mahalanobis distance matching within propensity score caliper for moderately large data sets. The result is an efficient algorithm that illustrates the utility of the hash and hash iterator objects in advanced DATA STEP programming. |
hash table, mahalanobis distance, propensity score, covariance, hash iterator, data step, propensity score matching, standard deviation, proc fcmp, temporary array, regression analysis, proc sort, logistic distribution, proc step | source | 6 |
| 68 | Navigate the SAS Log - GPS Style | Rebecca Ottesen, Ethan Miller |
Sometimes the notes, warnings and errors in the SAS Log can be cryptic at best. Hours of programming and deciphering the log can make a person feel a little down and somewhat nutty. What if there was a way to have the SAS log be informative and amusing at the same time? Having the option to change how the SAS log communicates might actually keep a user from throwing their computer out the window. Our aim is to help thousands of SAS programmers to understand how the messages in the log can be interpreted in an entertaining way. | sas log, missing value, error message, numeric variable, macro definition | source | 11 |
| 69 | Need to Find a Date? | William Coar | In a Contract Research Organization (CRO), a large variation in data structure from client to client introduces complexity to seemingly ordinary SAS programming. Something as simple as working with date variables often requires pre-processing to obtain a structure in a more usable format. For example, it is common to find date information as one or more character variables, or to find date information in three separate month, day, and year variables. Although the format of variable(s) with date information usually changes from project to project, it is often the case that they are consistently defined across datasets within a project. If the attributes of these variables are also consistently defined they can be particularly helpful in writing a SAS macro to automatically scan variable attributes within a dataset and subsequently create numeric date variables when appropriate. A SAS macro IDDATE is introduced that looks to define such numeric dates without much user input. | date variable, adverse events, data step, sample, array, clinical trial, in=, numeric variable | source | 8 |
| 70 | Optimism of Best Subset Selection by AIC/BIC for Prognostic Model Building | Yinghui Miao, Irena Stijacic Cenzer, Katharine Kirby, W. John Boscardin |
The widespread use of predictive models for health-related outcomes in life science research highlights the need for developing and validating accurate prognostic models. Over-optimism of model performance measures is a common phenomenon in risk prediction modeling in medical settings. In WUSS-2012 and SUGI-2013 presentations and proceedings, we proposed an approach to evaluate optimism due to variable selection and coefficient estimation and presented a SAS macro that works for logistic and Cox regression models with both best subsets and stepwise selection by using the traditional and .632 bootstrapping methods per Harrell algorithm. This current paper is a further development of our work to find an optimal subset based on the Akaike information criterion (AIC) and the Schwarz Bayesian information criterion (BIC) and to estimate the optimism of this process. We demonstrate this approach and the related SAS macro by developing a prognostic model on ten year mortality in older adults | best subsets, regression analysis, feature selection, logistic regression, macro call, logistic distribution, bootstrap, sample, proc phreg, data cleaning, stepwise selection, life sciences | source | 13 |
| 71 | Our Quartiles Don't Agree! | David W. Franklin | "Why is my first quartile number different from yours?" It was this question that led to a study of methods that can be used for calculating the first and third quartile for a set of data. SAS provides five methods for calculation of the quartile but other methods exist and are used in other common software packages. In this paper ten methods are discussed from the point of view of a SAS programmer and a macro presented that will calculate first and third quartiles for the five methods not provided in the Base SAS package. | sample, excel | source | 6 |
| 72 | Plot Those Earthquakes! | David W. Franklin | When major earthquakes occur, whether it is in Japan, New Zealand or our own shores, information hits the news wires in minutes. But those that are reported are only the earthquakes where there is measurable damage or big events, however many go being unreported. The United States Geological Survey (USGS) records earthquakes throughout the world on a near realtime basis. There are many tools out there that will plot these events, however, using SAS, not only can we take this data and plot it, giving an indication of its size, but it is also possible to take this data and do predictive analysis on it, something that SAS is very good at. This paper will first look at where and how you get the earthquake data from the USGS, and then follow this up with a SAS program that is able to read this file and plot the location of earthquakes on a map, indicating their size, and also do rough calculations for time and distance between two events. | filename statement, dataset | source | 8 |
| 73 | Proper Estimation of Relative Risk Using PROC GENMOD in Population Studies | Kechen Zhao | Relative risk (RR) is usually the parameter of interest in cohort studies. Binary outcomes in cohort studies are commonly analyzed by applying a logistic model to obtain odds ratio (OR) for comparing risks among groups with different sets of characteristics. However, OR always overestimates RR, sometimes dramatically for more common outcomes. Nevertheless, recent medical literature has frequently included uncritical applications of logistic regression to cohort studies. The purpose of this paper is to demonstrate the correct application of a modified Poisson regression method to directly estimate relative risk from a cohort data set, which has quickly gain popularity in medical and public health research. Simulated population data is used to illustrate statistical methods with PROC GENMOD in SAS 9.3. |
regression analysis, relative risk, poisson regression, poisson distribution, logistic regression, binomial distribution, logistic distribution, odds ratio, response variable, proc genmod, proc step, confidence interval | source | 14 |
| 74 | Quick Results with PROC SQL | Kirk Paul Lafler | Structured Query Language (SQL) is a universal language that allows you to access data stored in relational databases or tables. This hands-on workshop presents core concepts and features on using PROC SQL to access data stored in relational database tables. Attendees learn how to define, access, and manipulate data from one or more tables using PROC SQL quickly and easily. Numerous examples are presented on how to construct simple queries, subset data, produce simple and effective output, summarize data with summary functions, and join two tables. |
proc sql, proc step, dictionary tables, where statement, select, inner join, macro variable, sas library, sas log, macro facility, view, create table, group by, macro call, order by, relational database, right join | source | 17 |
| 75 | Repeated Measures ANCOVA with the MIXED and GLM Procedures: Examining an Intervention to Reduce Childhood Obesity | Lauren Cook, Jaimie N. Davis, Donna Spruijt-Metz, Nicole Gatto |
This paper describes a basic use of the MIXED procedure in SAS to conduct a repeated-measures Analysis of Covariance (ANCOVA), building on preliminary analyses from PROC GLM. The data were collected at two separate occasions, and include a dichotomous variable that serves as the main predictor, several dependent variables of interest, and covariates that are predominantly time-independent, as well as some that are time-dependent. The specific goal is to examine the effect of a nutrition and gardening intervention with elementary school children in Los Angeles. |
proc genmod, proc step, proc mixed, repeated measures anova, repeated measures, proc glm, covariance, time-dependent covariate | source | 6 |
| 76 | SAS on a Shingle, More Flippin with Hash | Ethan Miller, Kirk Paul Lafler |
Tired of getting data sets with multiple records per ID when you need a flat file for analysis? Tired of struggling with one-too-many merges? With just a small investment of time you too can easily create a flat file with one record per ID. Through the use of PROC SORT, PROC TRANSPOSE, SAS MACRO, Hash, and the DATA STEP, this paper examines how to create a flat file with customized variable names and labels for multiple time intervals. |
hash table, proc transpose, flat file, proc step, conditional do loop, elapsed time, class variable, lookup | source | 10 |
| 77 | SAS Web Editor, is it the right choice for you? | Rebecca Ottesen, Jamelle Simmons |
The SAS Web Editor was released in SAS OnDemand for Academics as a way for students to learn to use SAS via a Web-based tool. The Web Editor is similar to traditional Windows based SAS with the added advantage that there is no installation and it has platform independence. Being able to access SAS in this way is extremely important for classroom use where the type of machine varies across students. However differences exist in how the data, libraries and files are accessed and the Web Editor also requires an Internet connection. With the release of the Web Editor to the global SAS community in SAS 9.4, we will share our experience and the tradeoff between using SAS in a local installation versus a Web-based environment. | dataset, libname statement, sample, proc sql, sas enterprise guide | source | 9 |
| 78 | Sharing SAS User-Related Information via Creative Commons Copyright Licenses | Thomas E. Billings | Papers written for SAS User Groups (SUGs) often lack a copyright notice, with the result that individuals wishing to use/share the paper contents usually assume that the copyright is - by default - all rights reserved, the most restrictive license possible. An alternate, newer approach is to use copyright to specify how readers can use and share SUG papers. Such an approach supports the information-sharing goal of SUGs and the open access publishing model that is sweeping academic publishing. Free-to-use copyright licenses from Creative Commons (CC) are designed to facilitate the sharing of information, while allowing paper authors to retain some rights and controls, i.e., these licenses specify some rights reserved. Authors of SUG papers are encouraged to use CC licenses. Similarly, the terms of use for sascommunity.org allow sharing and use of papers published there, unless the posted material specifies another license. Preface/Notes 1. | sample, life sciences | source | 6 |
| 79 | Sharpening Your Skills in Reshaping Data: PROC TRANSPOSE vs. Array Processing | Arthur X. Li | A common data managing task for SAS programmers is transposing data. One of the reasons for performing data transformation is that different statistical procedures require different data shapes. In SAS, two commonly used methods for transposing data are using either the TRANPOSE procedure or array processing in the DATA STEP. Using PROC TRANSPOSE mainly requires grasping the syntax and recognizing how to apply different statements and options in PROC TRANSPOSE to different types of data transposition. On the other hand, utilizing array processing in the DATA STEP requires programmers to understand how the DATA STEP processes data during the DATA STEP execution. In this talk, these two methods will be reviewed and compared through various examples. |
proc transpose, array, proc step, by group processing, do loop | source | 15 |
| 80 | Simulation in SAS with Comparisons to R | Chelsea Lofland, Rebecca Ottesen |
Statistical simulation is a versatile tool that seems relatively underrepresented in SAS literature, despite the software's capabilities. Simulation is widely used in Academia and is a key component of Bayesian analysis, therefore software capable of performing these complex simulations is in demand. Common methods vary from simply simulating samples from a known distribution to the more complicated procedure of coding a Markov Chain Monte Carlo (MCMC). This paper provides demonstrations of standard simulations used in both frequentist and Bayesian analysis so users can gain exposure to this area of SAS. We also provide comparisons between simulations run in R and SAS as a resource for those who want to explore both languages. A compilation of this material is beneficial information due to the rapidly increasing prominence of simulation in statistical analysis. | sample, proc step, regression analysis, random number generation, histogram, proc surveyselect, bayesian statistics, proc means, normal distribution, random sampling, estimate, proc printto, proc reg, box plot, monte carlo | source | 25 |
| 81 | Solve Complex Business Challenges by Leveraging Advanced OLAP Cube Techniques and MDX Programming | Stephen M. Overton | In today's fast-growing field of business analytics, there are many tools and methods for summarizing and analyzing big data. This paper focuses specifically on OLAP technology and features natively available in OLAP cubes which allow organizations to deploy robust business intelligence reporting when high volumes of data exist. This paper will discuss how to use these features to enhance basic OLAP cubes by utilizing member properties, defining dynamic measures and dimensions using the MDX language, and improving performance for high data volumes. | big data, raw data, star schema, sample, proc step, bank transaction, sas enterprise guide | source | 14 |
| 82 | Some Techniques for Integrating SAS Output with Microsoft Excel Using Base SAS | Vincent DelGobbo | This paper explains some techniques to integrate your SAS output with Microsoft EXCEL. The techniques that are presented in this paper require Base SAS9.1.3 SP4 and above, and can be used regardless of the platform on which SAS is installed. You can even use them on a mainframe! Creating and delivering your workbooks on- demand and in real time using SAS server technology is discussed. Although the title is similar to previous papers by this author, this paper contains new and revised material not previously presented. |
excel, xls, sas base, proc export, sas output, proc print, title statement, proc step, dataset, sas log, sample, ods html, sas 9, format statement, output delivery system, by group processing | source | 19 |
| 83 | Sorting Your List of User-Defined Macro Variables | Christopher Moore | %PUT _user_ prints all user-defined macro variables to the log in a peculiar order. If a lot of macro variables are user-defined, how do you quickly discover if a macro variable still exists or view the big picture of your macro variables? In many cases, this would take a long time! If the macro variables were sorted alphabetically, a lot of problems would be solved and time would be saved. This paper will show you a simple macro that sorts and prints all user-defined macros, in addition to their respective values. |
macro variable, macro put, txt, macro definition | source | 4 |
| 84 | Strategies and Techniques for Debugging SAS Program Errors and Warnings | Kirk Paul Lafler | As a SAS user, you've probably experienced first-hand more than your share of program code bugs, and realize that debugging SAS program errors and warnings can, at times, be a daunting task. This paper and presentation explores the world of SAS errors and warnings, provides important information about syntax errors, input and output data sources, system-related default specifications, and logic scenarios specified in program code. Attendees will learn how to apply effective techniques to understand, fix, and resolve errors and warnings, allowing program code to work as intended. | options statement, sas log, proc step | source | 8 |
| 85 | Strategies and Techniques for Getting the Most Out of Your Antivirus Software for SAS Users | Ryan Paul Lafler | memory usage | source | 6 | |
| 86 | Subsampling with a Survey Sampling Design? DOMAIN Idea is To Get an Appropriate Variance Estimate | Anita Rocha | Research sometimes calls for performing estimation on a subpopulation of the entire study population. For data collected using a complex survey sampling design, why not just analyze a likewise representative subsample of the entire sample? Unfortunately, the design itself can get in the way of deriving appropriate variance estimates. The DOMAIN statement can help. In this presentation, I will review complex survey sampling design and the variance estimate under these conditions. Using an example from the SAS/STAT Version 9.3 survey procedures, I will explore the difference between a BY statement and a DOMAIN statement for subpopulation estimates. This talk will be of interest to survey researchers, including those conducting surveys in the context of social science, public health and marketing. |
by group processing, proc calis, sample, degrees of freedom, proc surveymeans, proc step, proc surveyreg, regression analysis | source | 6 |
| 87 | Survival 101 - Just Learning to Survive | Leanne Goldstein, Rebecca Ottesen |
Analysis of time to event data is common in biostatistics and epidemiology but can be extended to a variety of settings such as engineering, economics and even sociology. While the statistical methodology behind time to event analysis can be quite complex and difficult to understand, the basic survival analysis is fairly easy to conduct and interpret. This workshop is designed to provide an introduction to time to event analyses, survival analysis and assumptions, appropriate graphics, building multivariable models, and dealing with time dependent covariates. The emphasis will be on applied survival analysis for beginners in the health sciences setting. | proc step, kaplan-meier plot, hazard ratio, proc phreg, survival analysis, proportional hazards assumption, binary variable, rank test, log-rank test, time-dependent covariate, nominal variable, interval variable, stepwise selection, maximum likelihood estimation, confidence interval, proc calis, likelihood function, regression analysis | source | 24 |
| 88 | Taking Full Advantage of sasCommunity.org: Your SAS Site | Arthur L. Carpenter, Donald J. Henderson |
sasCommunity.org is becoming a hub or clearinghouse for technical information related to the use of SAS software. The site is managed and run by SAS users for SAS users. It is free and open to all SAS users to browse. Any SAS user can contribute to the site - just create an ID in order to contribute new content or to expand upon existing content. sasCommunity.org is built on top of the same software as Wikipedia. So if you know how to use Wikipedia, you have a head start on using sasCommunity.org. This workshop will enable attendees to: Learn how to make use of this site Learn how to navigate the information contained on the site. Learn how to discover the wealth of its hidden treasures. Find out that there are a number of ways you can contribute, and discover how you too can quickly make a difference in this world-wide community of SAS users. * Learn how even small contributions can enhance the site for everyone. | macro function, macro facility | source | 10 |
| 89 | Telling Stories with Your Data - Graphs, Tables and Basic, Basic Statistics with SAS Enterprise Guide | AnnMaria De Mars | You've spent a lot of time and effort on design and data collection, now what's next? There is a lot of talk about BIG data, but many of us spend our days with not-very-big-at-all data where a few errant records here and there can throw off results. This presentation takes that first look at your data - exploratory data analysis, with a focus on the basics. Using data from the pilot study for Spirit Lake:The Game, an educational game for students in grades four through six, you'll see how to use SAS Enterprise Guide to take a first look at your data, filter data sets, a super-simple method for getting tables of descriptive statistics. | sas enterprise guide, missing value, exploratory data analysis, data science, univariate analysis, outlier | source | 19 |
| 90 | The Association of Morbid Obesity with Mortality and Coronary Revascularization among Patients with Acute Myocardial Infarction using ARRAYS, PROC FREQ and PROC LOGISTIC" | Ashwini Erande, Shaista Malik |
The aim of this study was to investigate the impact of morbid obesity (body Mass index >= 40 kg/m2) on in -hospital mortality and coronary revascularization outcomes in patients presenting with acute myocardial infarctions (AMI).The Nationwide Inpatient Sample of the Healthcare Cost and Utilization Project was used, and 413,673 Patients hospitalized with AMIs in 2009 were reviewed. Morbidly obese patients constituted 3.7% of all patients with AMIs. All the analyses were performed in SAS 9.3. ARRAY Statements were used to create the morbid obesity variable based on the ICD9 codes from 2 4 "Diagnosis" data elements. The SAS procedures PROC FREQ and PROC LOGISTIC were used to perform bivariate and multivariate analyses. |
proc step, proc freq, proc logistic, logistic distribution, odds ratio, logistic regression, sample, likelihood function, regression analysis, nominal variable, multivariate analysis, p-value, predictor variable, response variable, do loop, null hypothesis, array, bivariate analysis, sample size, binary variable | source | 11 |
| 91 | The Essence of DATA Step Programming | Arthur X. Li | The fundamental of SAS programming is DATA STEP programming. The essence of DATA STEP programming is to understand how SAS processes the data during the compilation and execution phases. In this paper, you will be exposed to what happens "behind the scenes" while creating a SAS dataset. You will learn how a new dataset is created, one observation at a time, from either a raw text file or an existing SAS dataset, to the program data vector (PDV) and from the PDV to the newly-created SAS dataset. Once you fully understand DATA STEP processing, learning the SUM and RETAIN statements will become easier to grasp. Relating to this topic, this paper will also cover BY-group processing. |
output, dataset, automatic variable, retain, execution phase, input statement, _n_, compilation phase, if-then-else, out=, sas log, by group processing, set statement, in=, subsetting if, infile statement, put statement, proc step | source | 19 |
| 92 | The Impacts of the Canadian Wheat Board Ruling on the North American Malt Barley Markets: Demonstrating a Copula Approach to Data Simulation | Heidi Schweizer | The 2011 Marketing Freedom for Grain Farmers Act deregulated Canadian grain markets and removed the Canadian Wheat Board as the sole buyer and seller of Canadian grain. We present a rational expectations contract decision model that serves as the basis for an empirically informed simulation analysis of malt barley contracting opportunities between Canadian farmers and U.S. brewers in the deregulated environment. This analysis is accomplished by using a copula approach and in this paper we demonstrate how the experimental COPULA procedure was applied in this context. The copula approach allows us to simulate data specifying the dependence structure and the marginal distributions of the simulated variables separately. This mechanism allows us to avoid making strong assumptions about the joint distributions of price and yield variables and also allows us to avoid unrealistic outcomes when simulating data. |
correlation, beta distribution, proc step, histogram, normal distribution, likelihood function | source | 8 |
| 93 | The Ins and Outs of Web-Based Data with SAS | Bill McNeill | Do you have data on the web that you want to integrate with SAS? This paper explains how you can obtain web data, process it, and export it back to the web. Examples use existing features, such as the SOAP and XSL procedures, the SAS XML Mapper application, and the XMLV2 LIBNAME engine, along with two new features: the XMLV2 LIBNAME engine AUTOMAP= option and the JSON procedure. The AUTOMAP= option allows for creation of default XMLMap files within SAS. The JSON procedure exports SAS data sets in JSON format to an external file. And if you need to write free-form JSON output, forget the SAS PUT statements, the JSON procedure supports free-form JSON output as well. |
web service, proc sql, dataset, libname engine, sas base, proc json, libname statement, ods json, where statement, ods html | source | 25 |
| 94 | The Many Ways to Effectively Utilize Array Processing | Arthur X. Li | Utilizing array processing allows you to reduce the amount of coding in the DATA STEP. Some may find that using array processing is confusing or even intimidating. First of all, the syntax for constructing arrays, especially for multi- dimensional arrays, is complicated; there are way too many rules. Once mastering syntax rules, you still need to understand what happens in the Program Data Vector (PDV) during array processing; otherwise, the data set that you created by using array processing may not be the one that you intended. Lastly, knowing when best to use array processing is another challenge. In this section, in addition to learning how to create one- and multi-dimensional arrays, you will also receive a brief review on how to create an explicit loop in the DATA STEP - the prerequisite for constructing an array. You will also be exposed to what happens in the PDV during array processing. |
array, do loop, execution phase, output, in=, out=, dataset, compilation phase, array bounds, temporary array, missing value, automatic variable, implicit loop, set statement, class variable | source | 14 |
| 95 | The Poor Man's Program Metadata Extractor | Joe Perry | Some of SAS' vertical products provide user macros that can be used to extract metadata information from SAS programs, logs and outputs, SAS Drug Development is one of these. Access to programming metadata can enable management teams to oversee the flow of work in an organization, regardless of the industry. All SAS programming organizations have SAS Base and, fortunately, a poor man's version of this SAS utility. Using SAS' PROC FCMP, SAS developer Jason Secosky created a user compiled function framework that crawls through directories and surfaces the metadata for use. This framework is extended here into a low-cost MD extractor that can be used by every SAS programming organization. Something the author calls the Poor Man's Program Metadata Extractor. BACKGROUND A PharmaSUG 2013 a paper was presented, Using Workflows and Metadata Information to Standardize Business Processes in Pharmaceutical Programming by Peng Yang, et. al. Ms |
clinical research, audit trail, proc fcmp | source | 8 |
| 96 | The Utility of the DATA Step Debugger in Logic Errors | Darryl Nousome | There are a few strategies in debugging errors that arise during SAS programming. Errors in programming can manifest as either syntax or logic errors. Syntax errors tend to be easily identified as they stop the program and generate error messages in the log window. While logic errors will not halt SAS during the DATA STEP compilation phase, this may result in data that is unintended. A useful tool in examining logic errors is invoking the DATA STEP Debugger, which allows viewing of the Program Data Vector (PDV) during the execution of the DATA STEP. When the DATA STEP Debugger is running, there are many options that can exa mine values of selected variables, suspend statements, display the values of any variables in the PDV, or other commands. This process can aid in identifying segments of code that may contain logic errors. This paper will highlight some techniques that are used by the DATA STEP Debugger. I |
sas log, compilation phase | source | 6 |
| 97 | Tools for Imputing Missing Data | Taylor Lewis | Missing data frequently pose a problem to applied researchers and statisticians. Although a common approach is to simply ignore the missing data and analyze only the fully observed portion, an alternative is to impute, or fill in, the missing data, which can often prove advantageous. This paper begins by discussing patterns of missing data as well as the assumptions behind techniques to compensate for it. Much of the paper focuses on tools conveniently built into PROC MI, which allows one to conduct multiple imputation as a way to incorporate additional uncertainty inherent when imputing missing data. Of course, PROC MI can still be used for single imputation. The paper will also illustrate the %IMPUTE module of IVEware, a powerful (free) SAS add-on developed by researchers at the Institute for Social Research at the University of Michigan, which is particularly helpful for tackling multivariate missingness. |
imputation, proc step, proc mi, sample, regression analysis, proc mianalyze, logistic regression, multiple imputation, missing value, response variable, logistic distribution, proc reg, nominal variable, interval variable, proc calis, predictor variable, binary variable, proc surveymeans, ods output, covariance | source | 16 |
| 98 | Uncovering Patterns in Textual Data with SAS Visual Analytics and SAS Text Analytics | Daniel Zaratsian | SAS Visual Analytics is a powerful tool for exploring data to uncover patterns and hidden opportunities. The challenge with the growing amount of data is that the majority is unstructured, often in the form of customer feedback, survey responses, social media conversation, blogs, news articles, and other unstructured text. By integrating SAS Visual Analytics with SAS Text Analytics, you can uncover patterns in both structured and unstructured data, while enriching and visualizing your data with customer sentiment and categorical flags, and uncovering root causes that primarily exist within unstructured data. This paper highlights a case study that provides greater insight into unstructured data and demonstrates advanced visualization, while enhancing time to value by leveraging SAS Visual Analytics high-performance, in-memory technology and SAS advanced text analytics capabilities. | unstructured data, root cause analysis | source | 11 |
| 99 | User-Specified Likelihood Expressions Using NLMIXED and the GENERAL Statement | Melissa McTernan, Shelley A. Blozis |
SAS PROC NLMIXED was developed for the estimation of nonlinear mixed models, including both multilevel and longitudinal data. Nonlinear mixed models are models for which a random coefficient may enter an equation nonlinearly. PROC NLMIXED may be used to estimate models for which a response follows a normal, binomial, or Poisson distribution, as well as several other distributions. For ones not included in the standard options, the program includes an option for the user to express a likelihood function. This naturally allows for more complex distributions, including joint distributions between variables that follow possibly unique distributions. |
likelihood function, proc nlmixed, proc step, probability distribution, gamma distribution, estimate, longitudinal data, logistic distribution, correlation, normal distribution, poisson distribution, proc mixed, binomial distribution, regression analysis | source | 4 |
| 100 | Using PROC ARIMA to Model Trends in US Home Prices | Ross Bettinger | We demonstrate the use of the Box-Jenkins time series modeling methodology to analyze US home prices. A selected set of regional market home prices was included as exogenous predictors to extend the analysis beyond a single time series. We used PROC ARIMA to build models with publicly-available estimates of national US home prices (Zillow Zestimate) and regional market home prices distributed across the nation. Prewhitening of the exogenous predictors was performed to remedy the potential complication of autocorrelations in the predictors. We found that the resulting model satisfied the assumptions of the methodology and that the forecasts produced closely fit the actual data. |
time series analysis, correlation, unit root, estimate, proc calis, regression analysis, standard deviation, response variable, moving average, proc arima, maximum likelihood estimation, proc step | source | 13 |
| 101 | Using PROC FCMP to the Fullest: Getting Started and Doing More | Arthur L. Carpenter | The FCMP procedure is used to create user defined functions. Many users have yet to tackle this fairly new procedure, while others have only attempted to use only its simplest options. Like many tools within SAS, the true value of this procedure is only appreciated after the user has started to learn and use it. The basics can quickly be mastered and this allows the user to move forward to explore some of the more interesting and powerful aspects of the FCMP procedure. Starting with the basics of the FCMP procedure, this paper also discusses how to store, retrieve, and use user defined compiled functions. Included is the use of these functions with the macro language as well as with user defined formats. The use of PROC FCMP should not be limited to the advanced SAS user; even those fairly new to SAS should be able to appreciate the value of user defined functions. |
macro facility, proc fcmp, proc step, macro function | source | 10 |
| 102 | Using PROC NLMIXED to Fit Correlated Residual Error Structures in Nonlinear Mixed Models | Shelley A. Blozis, Jeffrey Harring |
SAS PROC NLMIXED provides a framework for fitting nonlinear mixed-effects (NLME) models to normal repeated measures in which a model is used to describe individual-specific change. In these models, variation of and the covariation between the repeated measures may be partitioned into between-individual and within-individual components. The default specification of the within-individual covariance structure is that the residuals are independent with constant variance. This is unlike the many options made available through PROC MIXED for fitting linear mixed models. This paper describes how PROC NLMIXED may be used to specify different within-individual covariance structures to allow for serial correlation and heterogeneous variances. Empirical examples are presented to illustrate the module. This paper is intended for SAS users with intermediate-level experience with SAS and with an understanding of the theory underlying mixed models for longitudinal data. |
proc mixed, proc step, covariance structure, covariance, ar(1), correlation, repeated measures, logistic distribution, likelihood function | source | 5 |
| 103 | Using SAS Enterprise Business Intelligence to Automate a Manual Process: A Case Study | Erik S. Larsen | Often times while on a client site as a SAS consultant, you are faced with a project which involves many manual steps and can include both legacy code and EXCEL spreadsheets. Running this code (or possibly segments of code, depending on what the results are) along with some cutting and pasting rows and columns here and there which ultimately results in a report that gets sent out to a client. The client (or clients) like this report and keep asking for more of them until these reports become a task in a business analyst's daily routine. This routine grows as the volume of data or number of reports increase until it consumes the entire day. This paper will illustrate a real-world example of how a report which consisted of legacy SAS programs and EXCEL spreadsheet manipulation that grew so large that a more efficient way of providing these reports to clients needed to be developed. |
excel, sas data integration studio, xls, business intelligence | source | 6 |
| 104 | Using SAS for Error Grid Analysis (EGA) of Glycated Hemoglobin A1c | Jesse Albert Canchola, Christopher Canchola |
Error Grid Analysis (EGA) uses graphical error grids for performance evaluations of medical devices or for comparing candidate and comparative measurement methodologies. Though not as widely used as we would like, EGA is an instructive and visually appealing performance evaluation new or improved test on the y-axis with a paired measurement of the reference test on the x colorful grid of clinical regions (as established by experienced clinicians glucose (mg/dL and mmol/l), hematocrit (%) and hemoglobin (g/dL) have been proposed, there is no known EGA for glycated hemoglobin A1c (HbA1c or, simply, A1c glycated hemoglobin A1c (%) using T he SAS System v9.3, including SAS/GRAPH and the SAS/GRAPH Annotate facility. For example, a new device as compared to a predicate or currently accepted or gold For example, a new blood collection method as co |
proc gplot, proc step | source | 7 |
| 105 | Using SAS Macro Functions to Manipulate Data | Ben Cochran | The SAS DATA STEP has the reputation for being one of the best data m anipulators in the IT world. While the author of this paper agrees with this statem ent, it is possible to go beyond the capab ilities of the DATA STEP by using SAS Macro functions. It would be difficult to show the full power of these Macro Functions in an hour presentation, so, this paper will look at a few commonly used Macro Functions and compare and contrast them to DATA STEP functions. These functions can be used not only to manipulate data, but to manipulate entire programs as well. |
macro variable, macro function, macro definition, macro trigger, macro facility | source | 8 |
| 106 | Using SAS ODS Graphics | Chuck Kincaid | This presentation will teach the audience how to use SAS ODS Graphics. Now part of Base SAS, ODS Graphics are a great way to easily create clear graphics that allow any user to tell their story well. SGPLOT and SGPANEL are two of the procedures that can be used to produce powerful graphics that used to require a lot of work. The core of the procedures are explained, as well as the options available. Furthermore, we explore the ways to com bine the individual statements to make more complex graphics that tell the story better. Any user of Base SAS on any platform will find great value from the SAS ODS Graphics procedures. |
proc step, series plot, sas base, proc sgplot, numeric variable, proc sgpanel | source | 18 |
| 107 | Using SAS to Create Custom Tables and Presentations in Microsoft Office through Dynamic Data Exchange (DDE) | Kathryn Martin-Fingar | Dynamic Data Exchange (DDE) offers SAS users a way to create custom output in Microsoft Office. The benefit of DDE is that tables and slides can be easily created in EXCEL and PowerPoint-exactly how you want them to look- with design features that are often difficult to generate in SAS using other methods, such as the Output Delivery System (ODS). After the table or slide is created, DDE can be used to populate it with data. This paper reviews DDE code necessary to transfer data from SAS to both EXCEL and PowerPoint. Surveillance products from California's Maternal and Infant Health Assessment (MIHA) Survey will be shown as examples, demonstrating how DDE and macro do-loops can generate a series of worksheets containing county-level data tables that were designed in EXCEL and contain a number of rich features. Similarly, DDE can loop through slides, populating charts with data on a series of indicators. |
excel, macro variable, macro put, sample, put statement, macro function, proc step, macro quoting function, proc sql | source | 20 |
| 108 | Weighting Multiple Years to Identify Trends: A Logistic Regression of Public Use Data | Marie Boman-Davis | Public use data are important sources of information to investigate national health behaviors and health outcomes. It is common to find published articles that use a single year of cross-sectional weighted data, however, published articles with multiple years of data are less common. Comparing multiple years of independent repeated cross- sectional weighted data provide an opportunity to estimate and analyze population changes (e.g., trends) as well as generate new and valuable findings for program planning, implementation and decision making. This paper will demonstrate how to append three years of public use data as well as generate weighted analyses including descriptive statistics, univariate statistics, and logistic regression. | logistic regression, proc step, univariate analysis, logistic distribution, regression analysis, proc surveyfreq, proc surveylogistic | source | 5 |
| 109 | Writing Code in SAS Enterprise Guide | Susan J. Slaughter, Lora D. Delwiche |
If you are a SAS programmer who has avoided using SAS Enterprise Guide because you think it's only good for point-and-click, then this paper is for you. You may be surprised to learn that SAS Enterprise Guide offers programmers many advantages over Display Manager. We'll show you different ways to write and run code, explain how SAS Enterprise Guide can help to organize your work, and discuss issues unique to coding in SAS Enterprise Guide. | sas enterprise guide, libname statement, sas log, sas programmer, proc step, options statement | source | 20 |
| 110 | Your Resume - Selling Yourself Using SAS | Rebecca Ottesen, Susan J. Slaughter |
These days selling yourself as the ideal candidate for a job is a tricky business. Your resume should demonstrate strengths and skills, cite meaningful performance metrics, quantify contributions to the organization, and set you apart from the competition, all while being concise and staying to the point. As a SAS user, it is likely that the skill set you would like to showcase involves programming and data analysis, so it seems perfectly natural that you should use these skills to create content for your resume. A well thought out SAS graphic or table might be the perfect selling point to catch the attention of a hiring manager. This paper will provide some ideas for showcasing your SAS skills no matter how much experience you have. | bubble plot, data analyst, bar chart, proc sgplot, sas enterprise guide | source | 8 |
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