HOME QUICK SEARCH AUTHORS KEYWORDS HELP BUGS

WUSS 2015 Papers - Index

102 papers. Source: WUSS (Western Users of SAS Software) conference proceedings.

# Title
×
Authors
×
Abstract
×
Keywords
×
Extras Pages
1 3N Validation to Validate PROC COMPARE Output Amarnath Vijayarangan In the clinical research world the accuracy of data plays a significant role in delivering the quality results due to stringent regulatory requirements. Various validation methods are available to confirm data accuracy and out of these double programming is the highly recommended and commonly used method to demonstrate perfect match between the production and validation outputs. PROC COMPARE is one of the SAS procedure used to compare two datasets and confirm the accuracy saying "NOTE: No unequal values were found. All values compared are exactly equal". The current practice is that whenever a program rerun happens, the programmer must manually review the output file to ensure exact match. This is a tedious, time consuming and error prone approach due to manual intervention. The proposed approach programmatically validates the output of PROC COMPARE of all the programs and generates an output file in the form of HTML with 'Pass / Fail' status flag for each output file. proc compare, proc step, data cleaning, out=, clinical trial source 6
2 A Brief Introduction to Some Object-Oriented Programming (OOP) Concepts for SAS Programmers Andra Northup DS2, a significant alternative to the DATA STEP, introduces an object - oriented programming environment. Many capable, experienced SAS programmers have not had the opportunity to learn and use object - oriented programming which may seem completely foreign, b oth conceptually and in terminology. This paper introduces and provides DS2 examples of some basic OOP concepts such as Encapsulation, Method, Packages, Object, Block, Overloading, and Instantiation, to provide grounding for further exploration of DS2. Int ro duction The focus of this paper is on concepts essential t o a basic understanding of DS2 , particularly those that are unfamiliar even to experienced SAS programmers set statement, implicit loop, sas log, proc sql, missing value source 19
3 A Practical Introduction to SAS Data Integration Studio Erik S. Larsen,
Frank A. Ferriola
A useful and often overlooked tool which SAS released with its Business Intelligence suite to aid in ETL is the Data Integration Studio (or DI Studio) product. DI Studio provides end users with the ability to extract, transform, join and load data from various DBMSs, data marts and other data stores using a graphical interface and without needing to code different credentials for each schema. It will allow for seamless promotion of code to a production system without the need to alter the code. This tool is quite useful for deploying and being able to schedule jobs using the schedule man ager in SAS Management Console as all code created by DI Studio is optimized. While this tool allows users to create code from scratch, one of its most useful tasks is that it can take legacy SAS code and with minimal alterations, can have its data associations created and have all of the properties of a job coded from scratch. sas data integration studio, sas base, dataset, sas administrator, sas enterprise guide source 17
4 A Pseudo-Interactive Approach to Teaching SAS Programming Hunter Glanz With the advent of the exciting new hybrid field of Data Science, programming and data management skills are in greater need than ever and have never been easier to attain. Online resources like codecademy and w3schools offer a host of tutorials and assistance to those looking to develop their programming abilities and knowledge. Though their content is limited to languages and tools suited most for web developers, the value and quality of these sites are undeniable. To this end, similar tutorials for other free-to-use software packages are springing up. The interactivity of these tutorials elevates them above most, if not all, other out-of-classroom learning tools. The process of learning programming or a new language can be quite disjointed when trying to pair a textbook or similar walk-through with matching coding tasks and problems. data science, proc step source 4
5 A Risk Factor Coding Custom Report Created With ODS Report Writing Interface With Recent Literature and Peer Review Robert Springborn The ability to prepare custom designed reports and convey your message in a clear and concise manner is very important in today's sophisticated business environment. Easy to read clearly designed reports can enhance your organization's credibility and reputation. Traditionally, reports were created in SAS using PROC REPORT, PROC TABULATE, or PROC PRINT with the final report converted to RTF or to PDF. Reports created using these procedures can be customized to a limited extent, however reporting requirements for clinical studies are often so highly customized that standard SAS procedures cannot meet the requirements. ODS Report Writing Interface (RWI) provides maximum flexibility and full control of data placement in a table so that even the most rigid reporting requirements can be met with ease. missing value, proc step, sas enterprise guide, excel, adverse events, reporting, clinical data, clinical trial, data cleaning, dataset, sample, proc report source 13
6 A Shared File System on SAS Grid Manger in a Cloud Environment Yingping Zhang,
Margaret Carver,
Gabriele Paciucci,
Steve Paper
The performance of a shared file system is a critical component of implementing SAS Grid Manager in a cloud environment. Intel Cloud Edition for Lustre (Intel CE for Lustre) software is purpose-built for use with the dynamic computing resources available from Amazon Web Services (AWS) [1, 2], and provides high-performance software-defined storage on AWS using compute, storage, and I/O resources. Based on the performance achieved on the Amazon Cloud [6], Intel CE for Lustre is being used by SAS customers to deploy SAS Grid Manager on AWS. This paper will address: Selection of Amazon EC2 instances and configuration of the Intel CE for Lustre file systems on AWS for SAS Grid Computing applications Performance of SAS Grid Computing applications in a cloud environment with Intel CE for Lustre Impact of using AWS EC2 instances with Intel CE for Lustre* as a cluster file system - does the solution provide a substantial benefit for SAS large-block, sequential IO patterns cloud storage, cpu time, grid computing source 10
7 A Short Introduction to Longitudinal and Repeated Measures Data Analyses Leanne Goldstein Longitudinal and Repeated Measures data are seen in nearly all fields of analysis. Examples of this data include weekly lab test results of patients or performance of test score by children from the same class. Statistics students and analysts alike may be overwhelmed when it comes to repeated measures or longitudinal data analyses. They may try to educate themselves by diving into text books or taking semester long or intensive weekend courses resulting in even more confusion. Some may try to ignore the repeated nature of data and take short cuts such as analyzing all data as independent observations or analyzing summary statistics such as averages or changes from first to last points and ignoring all the data in-between. This Hands-On presentation will introduce longitudinal and repeated measures analyses without heavy emphasis on theory. Students in the workshop will have the opportunity to get hands-on experience graphing longitudinal and repeated measures data. proc step, proc mixed, repeated measures, fixed effects, covariance, proc reg, estimate, regression analysis, correlation, likelihood function, longitudinal data, maximum likelihood estimation, repeated measures anova, data science, anova, nominal variable, random intercept, proc genmod, proc sgplot, proc sort, covariance structure, simple linear regression, restricted maximum likelihood, main effect, proc glimmix, spaghetti plot source 19
8 A strategy for understanding your data: Binary Flags and PROC MEANS Tejaswini Tiruke,
Glen Masuda
Many times projects have an enormous number of variables in the dataset so it's often necessary to create binary flags (a.k.a. indicator variables, 1=Yes 0=No) to better understand the data. These variables are a simple yet powerful tool for understanding, coding, and analyzing your data. This paper shows how to create binary flags in a DATA STEP; filter data based on the flags, and efficiently view patterns in the data using the flags with the Means and Summary Procedures. All examples use Base SAS for PC, version 9.3. proc freq, proc step, binary variable, sample source 5
9 Advanced Techniques for Fitting Mixed Models Using SAS/STAT Software Phil Gibbs,
Jill Tao,
Kathleen Kiernan
Fitting mixed models to complicated data, such as data that include multiple sources of variation, can be a daunting task. SAS/STAT software offers several procedures and approaches for fitting mixed models. This paper provides guidance on how to overcome obstacles that commonly occur when you fit mixed models using the MIXED and GLIMMIX procedures. Examples are used to showcase PROCEDURE OPTIONS and programming techniques that can help you overcome difficult data and modeling situations. proc step, proc mixed, proc glimmix, proc plm, covariance, fixed effects, covariance structure, repeated measures, correlation, degrees of freedom, confidence interval source 18
10 Alternative use of proc corr: product co-distribution analysis Amarnath Vijayarangan In Consumer Packaged Goods (CPG) industry, price models have been used to guide the manufacturer or retailers on analyzing billions of products at a time and giving insights into key price points, price sensitivity, promotional activities and competitive price impact. Particularly, identifying the potential competitors for each product from the massive list of products is one of the interesting areas in the analysis and various measures like price gap, correlation and co- distribution are used. The co-distribution explains how many days, weeks, months or by any levels of dimension both the modeled product and the rest of the products which we call them as competitors are sold / moved together. The higher movement is to be considered as the healthy competitors. The focus of this paper is how to achieve this co-distribution from a given data with billions of products using an efficient approach and how PROC CORR surprisingly helps us to achieve the end results. proc corr, proc step, correlation source 6
11 An Example of Discriminate Analysis in SAS using Seal Vocalization Data Mengyu Liu This paper describes the use of DISCRIM procedure in SAS to conduct a discriminate analysis. A Seal Vocalization data set containing the recordings of calls, which is comprised of eight features (one "response" variable and seven quantitative variables), of harp seals in three herds is used. The goal of this analysis is to determine whether the vocalization data can be used to construct a rule which discriminates between the three herds of seals. The STEPDISC procedure is used to select a subset of the quantitative variables for use in discriminating among the groups. Multivariate normality is checked in each of the three herds. Option POOL=TEST of PROC DISCRIM is used to test whether the same variance-covariance matrix of response across different groups. A quadratic discriminant function is derived based on the result of equal variance test. Moreover, since the multivariate normal assumptions are not satisfied, a nonparametric method based on kernel density estimates is also applied. proc discrim, data cleaning, proc step, discriminant analysis, homoscedasticity, ordinal variable, numeric variable source 6
12 Application of Data Mining in Energy Industry: A Case Study of NOx Prediction Jongsawas Chongwatpol The incorporation of environmental control systems in coal-fired power plants has become increasingly standard. However, power producers are still looking for ways to proactively monitor plant operation so that the level of toxic substances emissions of NOx is complied with the environmental regulations. Particularly under alarm conditions, data mining techniques can be applied to provide plant-wide signals of any unusual operational and coal-quality factors that impact the level of NOx, which is deviated from its traditional standard. This study demonstrates a step-by-step guidance on how to conduct data mining project to explain and predict the leading causes of variation of emission of NOx and in the combustion process. Corrective action and preventive maintenance on those unusual factors are regularly evaluated and monitored. data mining, proc hpsplit, regression analysis, stepwise selection, data cleaning source 9
13 Approximation methods and quadrature points in PROC NLMIXED: A simulation study using structured latent curve models Nate Smith,
Shelley A. Blozis
Structured latent curve models, an alternative to nonlinear mixed models, allow researchers to account for individual variability in longitudinal responses through the use of individual latent curves that may vary from the mean response curve. These models can be fit in SAS using PROC NLMIXED, a procedure where a variety of approximation methods and options are available to the savvy user, and the choice of which may affect both parameter estimates and run times. Previous research conducted by the authors using empirical data showed that the combination of approximation procedures with a variety of estimating options produced different results depending on the combination of conditions. These conditions included the 4 different integral approximations (GAUSS, FIRO, HARDY, and ISAMP) available in NLMIXED. estimate, proc mixed, sample, proc step, likelihood function, sample size, fixed effects, maximum likelihood estimation, covariance source 10
14 Architecting Data Management: 7 Principles using SAS, DataFlux and SQL Bob Janka Seven principles frequently manifest themselves in data management projects. These principles improve two aspects: the development process, allowing the programmer to deliver better code faster with fewer issues, and the actual performance of programs and jobs. Using examples from SAS (Base / Macro), DataFlux and SQL, this paper will present 7 principles, including environments (e.g. DEV/TEST/PROD), job control data, test data, improvement, data locality, minimal passes, and indexing. Readers with an intermediate knowledge of SAS DataFlux Management Platform and/or Base SAS and SAS/MACRO as well as SQL will understand these principles and find ways to utilize them in their data management projects. proc sql, proc step, data validation rules, macro put, sas base, data governance, macro variable, sas log, sample, raw data, proc means, cpu time, group by, sas output, order by, macro definition, sas programmer source 17
15 Are You Missing Out? Working with Missing Values to Make the Most of What is not There Arthur L. Carpenter Everyone uses and works with missing values, however many SAS programmers are unaware of the variety of tools, options, and techniques associated with using missing values. Did you know that there are 28 types of numeric missing values? Did you know tha t the numeric missing value (.) is neither the smallest or largest possible numeric missing value? Are you aware of the System options, DATA STEP functions, and DATA STEP routines that specifically deal with missing values? Do you understand how the macr o null value is the same, and different from DATA STEP missing values? Are you aware that observations with missing classification variables may or may not be excluded from analyses depending on the procedure and various options? This paper explores various aspects of the world of missing values. The above questions and others are discussed. Learn more about missing values and make sure that you are not missing out. missing value, proc step, options statement, macro variable, by group processing, update statement, %if-%then-%else, macro loop, macro facility, proc print, proc report, transaction data, macro quoting function, proc freq source 12
16 Basic SAS PROCedures for Quick Results Kirk Paul Lafler As IT professionals, saving time is critical. Delivering timely and quality looking reports and information to management, end users, and customers is essential. The SAS System provides numerous "canned" PROCedures for generating quick results to take care of these needs ... and more. Attendees learn how basic SAS PROCedures such as PRINT and FORMS produce detail output; CHART, FREQ, MEANS, PLOT, SQL, and UNIVARIATE summarize and create graphical, tabular, and statistical output; and utility PROCedures to manage data libraries; Additional topics include techniques for informing the SAS System which data set to use as input to a procedure, how to subset data using a WHERE statement (or WHERE= data set option), and how to perform BY- group processing. proc step, proc means, numeric variable, proc sort, libname statement, proc freq, proc univariate source 19
17 Beyond a One-Stoplight Town: A Base SAS Solution to Preventing Data Access Collisions through the Detection, Deployment, Monitoring, and Optimization of Shared and Exclusive File Locks Troy Martin Hughes The LOCKITDOWN SAS macro, introduced at WUSS in 2014, both detects and prevents data access collisions that occur when two or more SAS processes or users simultaneously attempt to access the same SAS data set. With the implementation of LOCKITDOWN, code reliability and robustness can be greatly improved through the elimination of this common source of process failure. And, as processes patiently wait for each other and play nicely without developer intervention or supervision, code autonomy and automation can be achieved. This autonomy, however, can hide inefficiencies that are created when processes continually vie for data set access and are forced to wait for each other repeatedly. This text introduces an expanded LOCKANDTRACK SAS macro that includes all functionality of LOCKITDOWN and which additionally records and monitors all successful (immediate and delayed) and unsuccessful file lock attempts through a unified control table. access control, sysrc, dataset, macro variable, macro definition, sas base, %if-%then-%else source 11
18 Building and Customizing a CDISC Compliance and Data Quality Application Wayne (Weizhen) Zhong,
Accretion Softworks
Creating your own SAS application to perform CDISC and data edit checks might seem to be a daunting challenge. After all, there are hundreds of CDISC rules for SDTM and ADaM alone! This paper aims to reduce the difficulty of such a proposition to an interesting project for 1 to 2 programmers looking for a challenge over three months. It does so by presenting coding techniques and a backbone that significantly reduce the amount of code needed for this data-driven application, and discussing the do's and don'ts of each phase of the development process, namely planning, design, development, testing, and rollout. Beyond the benefit of a private tool allowing unlimited customization to suit the unique needs of a company, programmers working on such a project also get a chance to build in-depth CDISC and SAS software skills. data validation rules, proc step, proc sql, call execute, proc contents, cdisc source 5
19 Building and Using User Defined Formats Arthur L. Carpenter Formats are powerful tools within the SAS System. They can be used to change how information is brought into SAS, how it is displayed, and can even be used to reshape the data itself. The Base SAS product comes with a great many predefined formats and it is even possible for you to create your own specialized formats. This paper will very briefly review the use of formats in general and will then cover a number of aspects dealing with user generated formats. Since formats themselves have a number of uses that are not at first apparent to the new user, we will also look at some of the broader application of formats. Topics include; building formats from data sets, using picture formats, transformations using formats, value translations, and using formats to perform table look-ups. proc format, proc step, char., character variable, put statement, sysdate9, sas programmer source 10
20 Case Study: SAS Visual Analytics Dashboard for Pollution Analysis Viraj R Kumbhakarna,
Baskar Anjappan
source 25
21 Chi-Square and T-Tests Using SAS: Performance and Interpretation Jennifer L. Waller,
Maribeth H. Johnson
Data analysis begins with data clean up, calculation of descriptive statistics and the examination of variable distributions. Before more rigorous statistical analysis begins, many statisticians perform basic inferential statistical tests such as chi-square and t-tests to assess unadjusted associations. These tests help to guide the direction of the more rigorous analysis. How to perform chi-square and t-tests will be presented. We will examine how to interpret the output, where to look for the association or difference based on the hypothesis being tested, and propose next steps for further analysis using example data. sample, nominal variable, chi-square test, interval variable, proc means, proc ttest, proc step, odds ratio, data science, standard deviation, confidence interval, proc freq, relative risk, goodness of fit, inferential statistics, normal distribution, homoscedasticity, missing value, box plot, one-sample t-test, heteroscedasticity, variable list, frequency analysis, ordinal variable, histogram, class variable source 12
22 Coding Your Own MCMC Algorithm Chelsea Lofland In Bayesian statistics, Markov chain Monte Carlo (MCMC) algorithms are an essential tool for sampling from probability distributions. PROC MCMC is useful for these algorithms, however it is often desirable to code an algorithm from scratch. This is especially present in academia where students are expected to be able to understand and code an MCMC. The ability of SAS to accomplish this is relatively unknown yet quite straightforward. We use SAS IML to demonstrate methods for coding an MCMC algorithm with examples of a Gibbs sampler and Metropolis- Hastings random walk. sample, proc step, random number generation, histogram, proc freq source 19
23 Constructing Confidence Intervals for a Single Binomial Proportion in SAS William Garner Given a sample of n Bernoulli random variables, each with probability p of success, we wish to construct a confidence interval for the proportion x/n, where x denotes the number of 'successes' out of the n samples. The most widely known method is the normal approximation, but it may have serious shortcomings if n is small or if the proportion is close to 0 or 1. Alternative methods have been developed and this paper presents 12 different methods for constructing such confidence intervals, 11 of which are available in SAS 9.4. A comparison of the methods is shown and some thoughts on which method to use are given. confidence interval, binomial distribution, proc step, proc freq source 8
24 Creating Multi-Sheet Microsoft Excel Workbooks with SAS: The Basics and Beyond Part 2 Vincent DelGobbo This presentation explains how to use Base SAS 9 software to create multi-sheet EXCEL workbooks. You learn step-by-step techniques for quickly and easily creating attractive multi-sheet EXCEL workbooks that contain your SAS output using the ExcelXP Output Delivery System (ODS) tagset. The techniques can be used regardless of the platform on which SAS software 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 presentations by this author, this presentation contains new and revised material not previously presented. excel, xls, sas output, sas base, ods xml, proc report, sas log, proc tabulate, sample, adverse events, format statement, dataset source 21
25 Data Analyses in Multivariate Regression Chii-Dean Joey Lin Regression analysis is one of the most used statistical methodologies. It can be used to describe or predict causal relationships between a response variable and a set of predictor variables. An extension of univariate (one response variable) regression analysis is multivariate regression analysis. Multivariate regression extends regression analysis into more than one response variable. In a multiple linear regression model, linear association between the response variable and the predictors are assumed. In addition, the random errors are assumed to be un-correlated and normally distributed with a constant variance. In conducting a multivariate regression analysis, the assumptions are similar to multiple linear regression models but extended to multivariate aspect. In this paper, we introduce SAS codes for data analyses related to multivariate regression using PROC REG. The mtest statement in PROC REG is a key component for multivariate regression analysis. regression analysis, response variable, predictor variable, proc reg, multiple regression, proc step, correlation, normal distribution, covariance, homoscedasticity, null hypothesis, proc discrim, p-value, estimate source 9
26 Data Labs with SAS and Teradata: Value, Purpose and Best Practices Tho H. Nguyen,
Bob Matsey,
Paul Segal
Success in today's global marketplace requires the agility to quickly test hypotheses and experiment with new concepts that drive innovation, uncover market opportunities and proactively react to competitive pressures. Companies need the ability to extend their analytic practice with the proper infrastructures, tools and technology to enhance the agility of analyzing data. That means adding critical flexibility for exploring new, unrefined data, pulling in external data sources and experimenting on emerging theories with 'production' Integrated Data Warehouse (IDW) data without long planning periods or always having to get IT to load their data. By considering a data lab, its value and purpose is to explore and examine new ideas, experiment, prototype new possibilities by combining new data with existing IDW data to create experimental designs and ad-hoc queries without interrupting the production environment. data warehouse, data cleaning source 6
27 DATA Step Merging Techniques: From Basic to Innovative Arthur L. Carpenter Merging or joining data sets is an integral part of the data consolidation process. Within SAS there are numerous methods and techniques that can be used to combine two or more data sets. We commonly think that within the DATA STEP the MERGE statement is the only way to join these data sets, while in fact, the MERGE is only one of numerous techniques available to us to perform this process. Each of these techniques has advantages and some have disadvantages. The informed programmer needs to have a grasp of each of these techniques if the correct technique is to be applied. This paper covers basic merging concepts and options within the DATA STEP, as well as, a number of techniques that go beyond the traditional MERGE statement. These include fuzzy merges, double SET statements, and the use of key indexing. The discussion will include the relative efficiencies of these techniques, especially when working with large data sets. hash table, merge statement, by group processing, set statement, key, conditional do loop, proc sql, adverse events, proc step source 12
28 Decision Management with DS2 Tho H. Nguyen We all make tactical and strategic decisions every day. With the presence of big data, are we making the right or the best decisions possible as data volume, velocity and variety continue to grow? As businesses become more targeted, personalized and public, it is imperative to make precise data-driven decisions for regulatory compliance and risk management. parallel processing, proc step, proc sql, by group processing, elapsed time source 6
29 Differentiating Yourself Kirk Paul Lafler Today's employment and business marketplace is highly competitive. As a result, it is necessary for SAS professionals to differentiate themselves from the competition. Success depends on a number of factors including positioning yourself with the necessary technical skills in relation to the competition. This presentation illustrates how SAS professionals can acquire a wealth of knowledge, and enhance their skills, by accessing valuable and "free" SAS-related web content. With the aid of a web browser and the Internet, anyone can access published PDF papers, Word documents, PowerPoint presentations, comprehensive student notes, instructor lesson plans, hands-on exercises, webinars, audios, videos, SAS Institute's comprehensive technical support website, and more to acquire the essential expertise that will be needed to cut through all the marketplace noise and begin differentiating yourself to secure desirable opportunities with employers and clients. sas programmer, sas consultant source 18
30 Directly Import Data from PDF into SAS Datasets William Wu,
Steven Li,
Yun Guan
In the pharmaceutical industry, generating summary tables or listings in PDF format is becoming increasingly popular. Combining ODS PDF statement and the REPORT procedure can create various PDF output files with different styles. During the process of validating those outputs, there is demand to import PDF summary tables or listings into SAS datasets. A utility is developed which reads in a SAS generated uncompressed PDF file, extracts and converts the data into a SAS datasets. The overview of this utility is presented in this paper. dataset, ods pdf, %if-%then-%else source 12
31 Doing more with SAS Arrays Rahul Pillay Have you used SAS Arrays to perform repetitive calculations or create multiple variables? Maybe you find yourself understanding a bit about SAS Arrays but would like to do more. This paper will help us explore Arrays a bit further. Do you need to transpose data and do additional data manipulations and calculations in the process? Have you considered the possibilities of using two-dimensional Arrays? We will explore examples of transposing and manipulating data, performing complex calculations and briefly explore two-dimensional Arrays. do loop, array, proc step, proc transpose, macro variable, proc sql source 8
32 Dynamic Dashboards Using Base-SAS Software Kirk Paul Lafler Dynamic interactive visual displays known as dashboards are most effective when they show essential graphs, tables, statistics, and other information where data is the star. The first rule for creating an effective dashboard is to keep it simple. Striking a balance between content and style, a dashboard should be void of excessive clutter so as not to distract and obscure the information displayed. The second rule of effective dashboard design involves displaying data that meets one or more business or organizational objectives. To accomplish this, the elements in a dashboard should convey a format easily understood by its intended audience. Attendees learn how to create dynamic interactive user- and data-driven dashboards, graphical and table- driven dashboards, statistical dashboards, and drill-down dashboards with a purpose. key performance indicator, business intelligence source 12
33 Easy Come, Easy Go - Interactions between the DATA Step and External Files Andrew T. Kuligowski Chances are, your raw data was not created within the SAS System. There is a good likelihood that your data may also need to be packaged and passed along to another non-SAS package. This presentation will provide basic answers to two questions common to new SAS users: How do I get my data into SAS for analysis? How do I get my data out of SAS? The focus for this presentation will be on two pairs of DATA STEP statements: INFILE / INPUT and FILE / PUT. We will discuss syntax and usage, citing various types of files as examples. macro variable, file statement, sample, dataset source 16
34 Enhancing the Portability and Reusability of SAS Enterprise Guide Projects Thomas E. Billings The modern SAS ecosystem is complex and includes metadata and non-metadata environments, and both user-written and system-generated SAS source code. In this context, portability has an implicit scope: the media to be ported (metadata and/or code) and the target ported-to environments; these should be specified in system requirements. The tools provided by SAS Enterprise Guide for migrating project metadata to different metadata-based environments are reviewed; related issues to consider in project design are also discussed. Migrating system-generated SAS code to non-metadata environments is also discussed; this can be more difficult than migrating metadata. Project architecture can be an important factor, and techniques are discussed to reduce the usage of external metadata -based references in a project. Finally, the idea of the project as a template - for modification by the programmer as needed - instead of a complete turn-key solution for users, is considered. sas enterprise guide, sas enterprise guide project source 12
35 Exploring SAS Visual Analytics capabilities to go from Fat to Fit! Viraj R Kumbhakarna In this paper we explore capabilities of SAS Visual Analytics for analyzing personal health data automatically captured everyday using Fitbit wearable technology device and Lose It! mobile nutrition logging digital health applications to create personalized health dashboard. Health data analyzed consists of daily macronutrient intake, calories burned, number of steps, floors climbed, active minutes, sleep analysis and other vital statistics captured automatically every day. Goal is to utilize analytical capabilities of SAS Visual Analytics to achieve desired weight loss by closely monitoring daily nutrient intake and keeping within benchmark limits specified by the Food and Nutrition Information Center (FNIC). dataset, bar chart, time series analysis, line chart, series plot, sample, raw data source 22
36 Exposure-Response Plots Using SAS Janette Garner The Food and Drug Administration (FDA) requires that a sponsor carry out an exposure-response analysis looking at PK parameters and safety and efficacy outcomes. This exposure-response analysis is used to determine if there are any concerns over the dosing levels of the drug. The FDA carries out their own analysis and generates plots of dichotomous outcomes using S-Plus. This paper shows how the same plots can be created using SAS 9.2 or later using two examples. A macro is provided that will generate the plot from a subject-level dataset that consists of the PK parameter value and the response variable (coded as 0 or 1). pk parameter, logistic regression, response variable, box plot, logistic distribution, regression analysis, macro definition source 8
37 Find What You Are Looking For And More in SAS Enterprise Guide Casey Smith Are you looking to track changes to your SAS programs? Do you wish you could easily find errors, warnings, and notes in your SAS logs? Looking for a convenient way to find point- and-click tasks? Want to search your SAS Enterprise Guide project? How about a point-and-click way to view SAS system options and SAS macro variables? Or perhaps you want to upload data to the SAS LASR Analytics Server, view SAS Visual Analytics reports, or run SAS Studio tasks, all from within SAS Enterprise Guide? You can find these capabilities and more in SAS Enterprise Guide. Knowing what tools are at your disposal and how to use them will put you a step ahead of the rest. Come learn about some of the newer features in SAS Enterprise Guide 7.1 and how you can leverage them in your work. sas enterprise guide, macro variable, macro definition, sas studio, sql pass-through, sas enterprise guide project, macro function, options statement, implicit sql pass-through, sas programmer source 19
38 Finding the National Best Bid and Best Offer Mark Keintz U.S. stock exchanges (currently there are 12) are tracked in real time via the Consolidated Trade System (CTS) and the Consolidated Quote System (CQS). CQS contains every updated quote from each of these exchanges, covering some 8,500 stock tickers. It provides the basis by which brokers can honor their fiduciary obligation to investors to execute transactions at the best price, i.e. at the NBBO (National Best Bid or Best Offer). With the advent of electronic exchanges and high frequency trading (timestamps are published to the microsecond), data set size (approaching 1 billion quotes requiring 80 gigabytes of storage for a normal trading day) has become a major operational consideration for market behavior researchers recreating NBBO values. This presentation demonstrates a straightforward use of hash tables for tracking constantly changing quotes for each ticker/exchange combination to provide the NBBO for each ticker at each time point in the trading day. hash table, where statement source 6
39 Formats: Not just another pretty face. Christine Riddiough proc format source 33
40 Fraudulent Patterns: Stacking Annotated Data Sets On A US Map Using PROC GPROJECT and PROC GMAP Hanna Peterson Visualizing fraudulent patterns within data can be tricky, especially if there are thousands or even millions of cases to review. Using an example in healthcare, suppose you have a data set of 10,000 providers and you want to determine which providers do not follow normal billing practices. Generally, a Medicare or Medicaid provider should bill to multiple patients over time, so the distances should be consist for those patients. But when a provider only bills for one or two patients with the same or different addresses, this would be considered as an unusual occurrence. It is important to detect these behaviors so the providers are not continuously reimbursed for improper billing. One possible approach is to view the billing patterns based on the distance between providers to a patient who received services. By displaying the distances on a map using PROC GMAP in SAS, we can analyze the data using a visual approach as opposed to sifting through the data using other PROC or DATA steps. proc step, proc sql, proc gmap, sample, proc surveyselect, sql server source 8
41 From Stocks to Flows: Using SAS HASH objects for FIFO, LIFO, and other FO's Mark Keintz Tracking gains or losses from the purchase and sale of diverse equity holdings depends in part on whether stocks sold are assumed to be from earliest lots acquired (a FIFO list) or the latest lots acquired (LIFO). Other inventory tracking applications have a similar need for application of either FIFO or LIFO rules. This presentation shows how a collection of simple ordered hash objects, in combination with a hash-of-hashes is a made-to-order technique for easy data-step implementation of FIFO, LIFO, and other less-likely rules (e.g. HIFO and hash table, hash iterator, hash of hashes source 10
42 Generalized Estimating Equations for Depression Dose Regimes Karen Walker While working on a study for a depression drug, I came across drug administration data by where subjects had no real treatment definition. Subject dose regimes consisted of scenarios like: 10 mg per day, 10mg + 20mg +40mg per week, or 20mg + 10mg + 10mg... And so on. At first glance, I thought "there has to be missing data and those regimes will have a definition later." However, what if there's a need to process this data just as it is? How can this be done? Will it make sense to define a response level for each cumulative logits of the dose values over the course of a study, then fit it to a Proportional Odds model? In this paper I will demonstrate how cumulative logits are affect in the same ways using a parallel slopes test. We will use this information to see if the log cumulative odds are proportional, and discover the influence of explanatory variable, and find the points where regression lines "connect the dots" for a single continuous explanatory variable. correlation, covariance, predictor variable, estimate, proc step, regression analysis, proc genmod, response variable source 8
43 Getting Loopy with SAS DICTIONARY Tables: Using Metadata from DICTIONARY Tables to Fulfill Submission Requirements Jeanina M. Worden Standardizing data allows for a quick understanding of the contents for FDA reviewers however this is only the case when the standards are followed. Lapses in compliance can create delays in the review process, or worse, give the reviewers concerns over the quality of the data. The DICTIONARY tables that are accessible within Base SAS provide data on your data that can be utilized to check, or create, compliant datasets. This paper will provide examples of requirements and how, with a little looping, issues can be identified and requirements can be met. dictionary tables, proc sql, proc step, temporary dataset, raw data source 8
44 Getting Started with Proc FCMP Danny Rithy The PROC FCMP (Function Complier) enables us to create the user-defined functions. This presentation will give you the fundamental concepts of what it is and how it is used in other SAS procedures and the DATA STEP. Using PROC FCMP makes the DATA STEP more simplified and easy to read. It is also open to beginner and intermediate SAS users, especially for those who are seeking to earn an Advanced SAS certification in the future. proc fcmp, proc step, sas log, advanced sas, sas function, exponential distribution, uniform distribution, macro function, macro facility source 7
45 Google Search Tips and Techniques for SAS Users Charles E. Shipp,
Kirk Paul Lafler
Google (www.google.com) is the world's most popular and widely-used search engine. As the premier search tool on the Internet today, SAS users frequently need to identify and locate SAS-related content wherever and in whatever form it resides. This paper provides insights into how Google works and illustrates numerous search tips and techniques for finding articles of interest, reference works, information tools, directories, PDFs, images, current news stories, user groups, and more to get search results quickly and easily. source 6
46 Graphical Results in Clinical Studies A focus on graphics used in oncology Nora Ruel,
Paul Frankel
This paper will discuss various approaches to presenting oncologic data, and focus on ways each of the graphics can be customized and individualized based on the needs of a study. The topics will range from using SGPLOT and SGPANEL procedures - simple but visually effective ways to present stratified information - to using a complex integration of a series of HIGHLOW plots which depict duration of patient responses on a clinical trial. It will also introduce other graphs that are commonly used in oncology, and discuss how they can be tailored to fit the needs of each study and presentation. proc step, waterfall chart, proc sgplot, bar chart, best response, proc template, proc freq, outlier, clinical trial source 12
47 Guidelines for Protecting Your Computer, Network, and Data from Malware Threats Ryan Paul Lafler,
Kirk Paul Lafler
Malware, sometimes referred to as malicious software, represent software threats engineered to damage computer systems, networks and data without the knowledge of the owner using the system. All users are increasingly becoming more prone to malware attacks and need to have strategies and a set of guidelines to help them get the most out of their antivirus software. This paper and poster highlights a classification of malware threats, the types of computer threats, detection strategies, removal methods, and provides guidelines for the protection of essential assets. big data, memory usage source 10
48 How is Your Health? Using SAS Macros, ODS Graphics, and GIS Mapping to Monitor Neighborhood and Small-Area Health Outcomes Roshni Shah With the constant need to inform researchers about neighborhood health data, the Santa Clara County Health Department created socio-demographic and health profiles for 109 neighborhoods in the county. Data was pulled from many public and county data sets, compiled, analyzed, and automated using SAS. With over 60 indicators and 109 profiles, an efficient set of macros was used to automate the calculation of percentages, rates, and mean statistics for all of the indicators. Macros were also used to automate individual census tracts into pre-decided neighborhoods to avoid data entry errors. Simple SQL procedures were used to calculate and format percentages within the macros, and output was pushed out using Output Delivery System (ODS) Graphics. This output was exported to Microsoft EXCEL, which was used to create a sortable database for end users to compare cities and/or neighborhoods. proc step, proc sql, excel source 11
49 How much is $1 worth? Ross Lallian Last year, California Public Employees' Retirement System (CalPERS) paid more than $15 billion in benefit allowances to its more than 500,000 retirees. That money caused a ripple effect, stimulating California's economy by nearly $31 billion. As the country continues to emerge from the great recession, industry sectors and geographic areas experience economic growth differently. In areas where recovery is slowest, each dollar injected into the economy may be more valuable than where recovery is robust. Come learn how CalPERS staff used SAS Enterprise Guide cluster analysis to quantify the relative magnitude of the value of each benefit payment dollar on the various counties throughout California. correlation, time series analysis source 13
50 How to Speed Up Your Validation Process Without Really Trying Alice M. Cheng To ensure the quality of data in clinical trials, as well as, in other disciplines, double programming is often performed. The resulting datasets are then compared to ensure that the data sets are identical (same variables, same attributes, same observations and same variable values). While it is possible to compare two datasets by means of merging in DATA STEP, the SQL procedure and the CONTENTS procedure, the COMPARE procedure in SAS offers relatively simple, yet powerful way to perform validation. In this paper, the author will not only provide a brief introduction of the COMPARE procedure, but will also share with you her experien ce to speed up the validation process. Comparison discussed in this paper is mainly between two datasets, even though it is possible to compare variables within the same dataset using the COMPARE procedure. Below are the topics that will be covered in this paper. proc compare, proc step, data cleaning, out=, sysrc, by group processing, call execute, where statement, clinical trial, adam dataset, cdisc source 23
51 How to Use ARRAYs and DO Loops: Do I DO OVER or Do I DO i? Jennifer L. Waller Do you tend to copy DATA STEP code over and over and change the variable name? Do you want to learn how to take those hundreds of lines of code that do the same operation and reduce them to something more efficient? Then come learn about ARRAY statements and DO loops, powerful and efficient data manipulation tools. This workshop covers when ARRAY statements and DO loops can and should be used, how to set up an ARRAY statement with and without specifying the number of array elements, and what type of DO loop is most appropriate to use within the constraints of the task you want to perform. Additionally, you will learn how to restructure your data set using ARRAY statements and DO loops. do loop, do over, end, array source 11
52 Illustrating preliminary procedures for multi-dimensional item response theory Chong Ho Yu,
Samantha Douglas,
Anna Yu
This paper aims to illustrate proper preliminary item selection procedures prior to using PROC IRT. SAS combines item response theory (IRT) and factor analysis in PROC IRT. As such, SAS can be used to identify a multi-dimensional IRT (MIRT) model, which investigates two or more latent traits of a person. While it may seem convenient to accomplish two tasks by employing one procedure (factor modeling and IRT modeling), users should be cautious of problematic items that affect both factor analysis and IRT. When sample sizes are extremely large, reliability analyses can misidentify even random numbers as meaningful patterns. Because of this problem, data visualization is essential in preliminary MIRT data cleaning. factor analysis, sample size, sample, correlation, proc step, scree plot, data visualization source 11
53 Introduction to SAS Quantile Regression (PROC QuantSelect and PROC QuantReg ) Peter L. Flom This paper is about some new PROCs for modeling using penalized variable selection and some PROCS for building models that are a richer description of your data than OLS. The four PROCS we will cover are: Reg, GLMSelect, QuantReg and QuantSelect. The paper explains theory and gives examples of SAS code and output for four PROCS. Figure 1 proc step, regression analysis, proc reg, proc quantreg, proc glmselect, sample, bootstrap, elastic net, ridge regression, goodness of fit, feature selection, estimate, proc glm, correlation, proc mixed, predictor variable, proc genmod, macro variable, maximum likelihood estimation, odds ratio, p-value, training set, feature importance, likelihood function, data cleaning source 25
54 It's Not That You Know It, It's How You Show It Jim Christine Without a doubt, technical skills are a foundation for success in business. Effective communication is a consistently growing need within the technical community. The way ideas are related, both one-on-one and in groups, can have significant impact on the success of any project. It is not merely about the quantity of the communication, nor the accuracy of the content, but the manner by which the interaction takes place. Electronic mail, teleconferencing, and instant messaging remove important ingredients from the communication process. While many find it sufficiently intimidating to speak in person before an audience of any size, it may be more daunting to present a complex set of ideas without the benefit of facial expressions, voice intonation, or hand gestures. How something is said is often more important than what is actually said. This paper will review effective ways to share information with individuals and projects teams. source 9
55 Latent Analysis Applications for Regression Models Deanna Naomi Schreiber-Gregory The current study looks at several ways to investigate latent variables in longitudinal surveys and their use in regression models. Three different analyses for latent variable discovery will be briefly reviewed and explored. The latent analysis procedures explored in this paper are PROC LCA, PROC LTA, PROC CATMOD, PROC FACTOR, and PROC TRAJ. The analyses defined through these procedures are latent profile analyses, latent class analyses, and latent transition analyses. The latent variables will then be included in separate regression models. The effect of the latent variables on the fit and use of the regression model compared to a similar model using observed data will be briefly reviewed. The data used for this study was obtained via the National Longitudinal Study of Adolescent Health, a study distributed and collected by Add Health. Data was analyzed using SAS 9.3. This paper is intended for any level of SAS user. latent variable, regression analysis, proc step, logistic distribution, correlation, factor analysis, logistic regression, response variable, sample, proc means, proc surveylogistic source 11
56 Leads and Lags: Static and Dynamic Queues in the SAS DATA STEP Mark Keintz From stock price histories to hospital stay records, analysis of time series data often requires use of lagged (and occasionally lead) values of one or more analysis variable. For the SAS user, the central operational task is typ- ically getting lagged (lead) values for each time point in the data set. While SAS has long provided a LAG func- tion, it has no analogous "lead" function - an especially significant problem in the case of large data series. This paper will (1) review the lag function, in particular the powerful, but non-intuitive implications of its queue-oriented basis, (2) demonstrate efficient ways to generate leads with the same flexibility as the lag function, but without the common and expensive recourse to data re-sorting, and (3) show how to dynamically generate leads and lags through use of the hash object. lag function, set statement, hash table, by group processing, time series analysis, missing value, hash iterator source 15
57 Leveraging APIs in SAS to Create Interactive Visualizations Rebecca Ottesen The Internet is one of the richest data resources for statisticians and data analysts. Therefore, it is important to understand the ways in which one can programmatically gather and present web-based data. APIs make it possible for programmers to stream the offerings of big web services. We investigated various APIs and websites to outline the most practical methods for statisticians to tap into these data sources. After gathering and cleaning the data in SAS we implemented a 3D interactive visualization using R and Google Earth. data science, proc sql, proc step, macro variable, proc http, txt, dataset, macro loop, macro definition source 13
58 Maintaining Formats when Exporting Data from SAS into Microsoft Excel Nathaniel Derby,
Colleen E. McGahan
Data formats often get lost when exporting from SAS into EXCEL using common procedures such as PROC EXPORT or the ExcelXP tagset. In this paper we describe some tricks to retain those formats. excel, proc step, proc export, missing value source 11
59 Managing and Monitoring Statistical Models Nathaniel Derby Managing and monitoring statistical models can present formidable challenges when you have multiple models used by a team of analysts over time. How can you efficiently ensure that you're always getting the best results from your models? In this paper, we'll first examine these challenges and how they can affect your results. We'll then look into solutions to those challenges, including lifecycle management and performance monitoring. Finally, we'll look into implementing these solutions both with an in-house approach and with SASModel Manager. All data sets and code in this paper are available athttp://nderby.org/docs/StatModels.zip. proc logistic, logistic distribution, proc step, confusion matrix, gain chart, training set source 13
60 Managing Tables in Microsoft SQL Server using SAS Jason Chen,
Jon Javines,
Alan Schepps,
Yuexin (Cindy) Chen
Getting SAS and Microsoft SQL Server to work together using ODBC connection has been well documented over the years. Interestingly, fewer publications have explored the option to use SAS/ACCESS interface to Microsoft SQL Server directly. In addition to the scarce resources on this topic, the syntax used in the SQL pass-through facility is different than the ones used in PROC SQL. This makes the task of managing tables in SQL Server difficult even for advanced SAS users. As organizations and their technologies evolving rapidly, there are also times that a SAS user would face a situation when an ODBC connection is not possible or performs below acceptable level. The primary objective of this paper is to provide a straight forward presentation of basic operations to help SAS users manage tables located on a SQL Server without the need of establishing ODBC connection. A secondary objective is to provide a smooth learning curve for SAS users whom are new to SQL pass-through facility. proc sql, sql server, dataset, key, odbc connection, relational database, sql pass-through source 12
61 Master Macro Variables - by Examples Sophia Yue Quite often, it is required to use macro variables in a loop. However, SAS doesn't have the ability to define a macro variable as an array. Using a macro variable with a list of values to define an array variable in DATA STEP, using SQL (Structured Query Language) to store row values in a list of macro variables, or using SQL to storing values of all rows in one macro variable are ways to tackle it. Macro variables enable us to dynamically modify codes via symbolic substitution. It allows us to keep one copy of code for different applications/purposes. The paper will cover the example to define macro variable with the value of variable name to generate code dynamically for different scenarios. macro variable, proc sql, proc step, macro facility, select, macro function, options statement, sas base, macro definition, macro put, &variable, call symput, autocall macro, sas function, macro quoting function, call execute, group by, macro call, macro parameter, %macro parameters, dataset, macro loop, variable list, automatic macro variable, proc freq, character functions, symbol table, automatic variable, cpu time, keyword parameter, data step source 16
62 No Regrets: Hiring for the Long Term in Statistical Programming Chris Moriak,
Graham Wilson,
Elizabeth Meeson
Recruiting statistical programmers for lead positions who can be subject matter experts, plan work and direct teams is a formidable task. Finding the right combination of programming experience, clinical development knowledge, and leadership can prove to be elusive. After finding candidates, making the accurate decision to hire might be indefinable. In a widely quoted study on recruiting by the Recruiting Roundtable, 50% of hires are regretted either by the employer or by the new employee within just six months.1 With the average number of work days to fill an opening being two months for companies with >5000 employees2, can a pharmaceutical company better its odds in making the right selection over just flipping a coin? Improving ones odds means creating a better assessment process for both the company and the candidate. The company must assess whether a candidate meets minimum qualifications, has the capability to perform the job, and fits into the business' culture. statistical programmer, clinical programming, clinical research, clinical trial, data science source 7
63 ODS Output Data Sets That Work for You Stuart D. Long,
Edward Heaton,
Daniel R. Scharf
Although ODS Tables, combined with the ODS TRACE and ODS Output statements, provide a consistent method for retrieving statistics generated by SAS Procedures, the design of these tables is inconsistent. Many of the ODS Output data sets created with ODS T ables revolve around statistics describing one specific variable or groups of variables. We commonly use only a subset of the data found in a SAS Listing when reporting or continuing an analysis. Each of these data sets could be streamlined to contain th ese values plus additional descriptive information concerning these variables of interest -- such as the variable name, value, label, and formatted value. This paper proposes a consistent data structure for these data sets that better facilitates reportin g and analysis. It demonstrates a method to translate the data in the ODS Tables into this format. proc step, proc logistic, logistic distribution, proc univariate, proc freq, out=, proc transpose, proc contents, in=, ods output, nominal variable, response variable, interval variable, character variable, output, label statement, numeric variable, hash table, missing value, dataset, proc means, class variable, logistic regression, sysrc, data cleaning, macro definition, macro variable source 29
64 Pattern-Mixture Random-Effects Models for Non-Ignorable Missing Data in Longitudinal Studies Shelley A. Blozis,
Ricardo Villarreal
Random-effects models are popular for the analysis of longitudinal data in part because they easily handle missing response data. If whether data are missing or not, known as missingness, is independent of the missing data, then the missingness is ignorable. Random-effects pattern-mixture models are models that allow one to evaluate if the missingness is ignorable. In these models, one or more between-subjects variables are created to represent patterns of missing data, such as dropout, and are added to the model. Within each missing data pattern the missingness is assumed to be ignorable. Typically, these models rely on only a small number of pattern indicators to represent the missing data patterns, and the effects of the pattern indicators are fixed across subjects. Less common are applications of models in which the missing data patterns are random effects. missing value, proc mixed, repeated measures, covariance, longitudinal data, random intercept, proc step source 3
65 Quick Results with SAS Enterprise Guide Kirk Paul Lafler,
Ryan Paul Lafler
SAS Enterprise Guide empowers organizations, programmers, business analysts, statisticians and end-users with all the capabilities that SAS has to offer. This hands-on workshop presents the built-in wizards for performing reporting and analytical tasks, access to multi-platform enterprise data sources, the delivery of data and results to a variety of mediums and outlets, data manipulation without the need to learn complex coding constructs, and support for data management and documentation requirements. Attendees learn how to use the graphical user interface (GUI) to access tab-delimited and EXCEL input files; subset and summarize data; join (or merge) two tables together; flexibly export results to HTML, PDF and EXCEL; and visually manage projects using flowcharts and diagrams. excel, sas enterprise guide, dataset, proc means, delimited file, sas output, proc sql source 18
66 Quick Tips for SAS Enterprise Guide Scott P. Leslie The SAS Enterprise Guide user interface has a different look and feel than Base SAS (Display Manager) which may discourage users at first glance. This paper illustrates an array of quick tips to improve your SAS Enterprise Guide experience. Tips include managing the windows, setting user options, writing quick macros and adding prompts and notes to programs. Several of these quick tips apply to Base SAS as well. sas enterprise guide, sas base source 9
67 Quotes within Quotes: When Single (') and Double (") Quotes are not Enough Arthur L. Carpenter Although it does not happen every day, it is not unusual to need to place a quoted string within another quoted string. Fortunately SAS recognizes both single and double quote marks and either can be used within the other. This gives us the ability to have two deep quoting. There are situations, however where two kinds of quotes are not enough. Sometimes we need a third layer or more commonly we need to use a macro variable within the layers of quotes. Macro variables can be especially problematic as they will generally not resolve when they are inside single quotes. However this is SAS, and that implies that there are sev eral things going on at once and that there are several ways to solve these types of quoting problems. The primary goal of this paper is to assist the programmer with solutions to the quotes within quotes problem with special emphasis on the presence of macro variables. macro variable, filename statement, macro facility, &variable, macro quoting function, macro put, macro function source 6
68 Reducing Credit Union Member Attrition with Predictive Analytics Nathaniel Derby,
Mark Keintz
As credit unions market themselves to increase their market share against the big banks, they understandably focus on gaining new members. However, they must also retain (and further engage) their existing members. Otherwise, the new members they gain can easily be offset by existing members who leave. Happily, by using predictive analytics as described in this paper, it can actually be much easier and less expensive to keep (and further cultivate) existing members than to enlist new ones. This paper provides a step-by-step overview of a relatively simple but comprehensive approach to reduce member attrition. We first prepare the data for a statistical analysis. With some basic predictive analytics techniques, we can then identify those members who have the highest chance of leaving and the highest value. For each of these members, we can also identify why they would leave, thus suggesting the best way to intervene to retain them. data cleaning, gain chart source 15
69 S-M-U (Set, Merge, and Update) Revisited Andrew T. Kuligowski It is a safe assumption that almost every SAS user learns how to use the SET statement not long after they're taught the concept of a DATA STEP. Further, it would probably be reasonable to guess that almost everyone of those people covered the MERGE statement soon afterwards. Many, maybe most, also g ot to try the UPDATE and/or MODIFY statements eventually, as well. It would also be a safe assumption that very few people have taken the time to review the manual since they've learned about those statements. That is most unfortunate, because there are so many options available to the users that can assist them in their tasks of obtaining and combining data sets. This presentation is designed to build onto the basic understanding of SET, MERGE, and UPDATE. It assumes that the attendee or reader has a basic knowledge of those statements, and it introduces various options and usages that extend the utility of these basic commands. dataset, set statement, merge statement, modify statement, update statement, by group processing, libname statement, out=, input statement, proc step, proc append, if-then-else, sysrc, stop, missing value, where statement source 13
70 Sample Size Convergence of Denominator Degrees of Freedom Method Options in SAS PROC MIXED Timothy Banh Linear mixed models are commonly used for repeated measures data and allow for fixed and random effects to enter a model. The denominator degrees of freedom method (ddfm) option in the PROC MIXED syntax specifies an F distribution for to test for the fixed effects in a linear mixed model. Using parameter estimates produced from fitting a linear mixed-effects model to empirical data, a Monte Carlo simulation was conducted using SAS IML. Models were fit to the simulated data using PROC MIXED with each of the five ddfm options (Residual, Containment, Between-Within, Satterthwaite, and Kenward-Roger) and under two covariance structures for the errors: VC and AR(1). Fixed effects, standard errors, and variances were compared and then analyzed along with increasing sample size. degrees of freedom, fixed effects, sample size, proc calis, covariance, sample, covariance structure, proc mixed, estimate, proc step, significance level, type i error, f distribution, random intercept, random slope, monte carlo source 13
71 SAPs are for saps: A guide to the ins and outs of SAPs in iterative, observational, or publication-oriented research Michelle Turner,
Lawrence Rasouliyan
Statistical analysis plans (SAPs) can be an invaluable tool. They are intended to pre-specify the objectives and endpoints of the analysis, relevant cohorts of patients to include or exclude from specific analyses, and the statistical methodology to be employed. Often the goals of the SAP are to facilitate planning, to document the work to be undertaken, and to provide a roadmap for the statistical programming team. While all noble goals, there are certain practicalities that need to be considered when working with multi-year, longitudinal, observational data and undertaking iterative analyses. This type of work is increasingly common across industries. Taking healthcare as an example, it may not be viable to draft a single SAP containing enough detail for the full set of multi-year and mid- study analyses to be independently replicated. clinical trial, data science source 4
72 SAS at Los Angeles County Assessor's Office Anthony Liu proc step, proc iml, regression analysis, multiple regression, proc reg, covariance, sample source 20
73 SAS Certification as a Tool for Professional Development Susan J. Slaughter,
Andra Northup
In today's competitive job market, both recent graduates and experienced professionals are looking for ways to set themselves apart from the crowd. SAS certification is one way to do that. SAS Institute Inc. offers a range of exams to validate your knowledge level. In writing this paper, we have drawn upon our personal experiences, remarks shared by new and longtime SAS users, and conversations with experts at SAS. We discuss what certification is and why you might want to pursue it. Then we share practical tips you can use to prepare for an exam and do your best on exam day. All information is accurate as of June 2015. sas consultant, sas 9, sas base, sas programmer, raw data, input statement, dataset, date variable, proc freq source 17
74 SAS Graphing Done Right: Two Good Alternatives to PROC GPLOT/GCHART Isaiah Lankham When graphing data in SAS, many users rely on classic yet quirky SAS/GRAPH procedures like PROC GPLOT and PROC GCHART. Some users have good reasons for sticking with SAS/GRAPH procedures, like creating choropleth maps with PROC GMAP, but most would benefit from switching to alternatives like PROC SGPLOT, which is part of the ODS Graphics functionality in Base SAS, or creating graphics with the R programming language using an interface provided by SAS/IML through PROC IML. In this paper, we demonstrating that, despite having a longer name, PROC SGPLOT is just as easy (if not easier) to use as PROC GPLOT/GCHART, and we also demonstrate that PROC SGPLOT's default output is surprisingly similar to graphics created using R's default setting. We also briefly describe methods for customizing PROC SGPLOT output, the most sophisticated being the combination of PROC TEMPLATE, a special Graph Template Language, and PROC SGRENDER. proc step, proc sgplot, proc iml, proc gplot, proc template, scatter plot, sashelp, proc gmap, sas base, proc gchart, class variable, graph template language, dataset, bar chart, options statement source 12
75 SAS Macro Programming for Beginners Lora D. Delwiche,
Susan J. Slaughter
Macro programming is generally considered an advanced topic. But, while macros certainly can be challenging, it is also true that the basic concepts are not difficult to learn. This paper is designed for people who know the basics of SAS programming, but know nothing about SAS macro programming. We explain how the macro processor works, and how to use macros and macro variables. Using these techniques you can create flexible, reusable code that can save you time and effort. macro variable, call symput, proc step, proc print, macro definition, cpu time, dataset, proc sort, sas log, if-then-else, options statement, %if-%then-%else source 12
76 SAS Spontaneous Combustion: Securing Software Portability through Self-Extracting Code Troy Martin Hughes Spontaneous combustion describes combustion that occurs without an external ignition source. With the right combination of fire tetrahedron components-including fuel, oxidizer, heat, and chemical reaction-it can be a deadly yet awe-inspiring phenomenon, and differs from traditional combustion that requires a fire source, such as a match, flint, or spark plugs (in the case of combustion engines.) SAS code as well often requires a "spark" the first time it is run or run within a new environment. Thus, SAS programs may operate correctly in an organization's original development environment, but may fail in its production environment until folders are created, SAS libraries are assigned, control tables are constructed, or configuration files are built or modified. And, if software portability is problematic within a single organization, imagine the complexities that exist when SAS code is imported from a blog, white paper, textbook, or other external source into one's own infrastructure. sas library, libname statement, data validation rules, macro variable, data cleaning source 9
77 SAS to Excel: A Journey with ODS Excel Rohini Rao,
Paul D. Hamilton
SAS Institute has evolved multiple methods for transferring SAS output into EXCEL. DDE is one of the oldest methods, while ODS TAGSETS.EXCELCP is one of the more recent methods, with many options available to the coder. In version 9.4M1, ODS EXCEL was introduced as a new feature. This paper is a discussion of this new export tool. A principal benefit of ODS EXCEL is that it produces a native XLSX file. This is in contrast to ODS.TAGSETS.EXCELXP, which produces an XML file and throws a warning to the user when opening the file. ODS EXCEL supports SAS graphics in the output, including SAS/GRAPH and ODS Graphics. Users no longer need to come up with an alternate excel source 5
78 SAS/STAT 14.1: Methods for Massive, Missing, or Multifaceted Data Maura E. Stokes The latest release of SAS/STAT software brings you powerful techniques that will make a difference in your work, whether your data are massive, missing, or somewhere in the middle. New imputation software for survey data adds to an expansive array of methods in SAS/STAT for handling missing data, as does the production version of the GEE procedure, which provides the weighted generalized estimating equation approach for longitudinal studies with dropouts. An improved quadrature method in the GLIMMIX PROCEDURE MEANS you can fit models not previously possible. The HPSPLIT procedure provides a rich set of methods for statistical modeling with classification and regression trees, including cross validation and graphical displays. The HPGENSELECT procedure adds support for LASSO model selection for generalized linear models. And new software implements generalized additive models by using an approach that handles large data easily. proc step, imputation, proc mixed, likelihood function, regression analysis, logistic distribution, proc gam, bayesian statistics, logistic regression, proc logistic, proc hpsplit, sample, proc glimmix, binomial distribution source 25
79 Secrets from a SAS Technical Support Guy: Combining the Power of the SAS Output Delivery System with Microsoft Excel Worksheets Chevell T. Parker Business analysts commonly use Microsoft EXCEL with the SAS System to answer difficult business questions. While you can use these applications independently of each other to obtain the information you need, you can also combine the power of those applications, using the SAS Output Delivery System (ODS) TAGSETS, to completely automate the process. This combination delivers a more efficient process that enables you to create fully functional and highly customized EXCEL worksheets within SAS. This paper starts by discussing common questions and problems that SAS Technical Support receives from users when they try to generate EXCEL worksheets. The discussion continues with methods for automating EXCEL worksheets using ODS TAGSETS and customizing your worksheets using the CSS style engine and extended TAGSETS. excel, sample, proc step, proc template, output delivery system, proc sql, ods tagsets.excelxp, sas output, ods excel, macro definition, macro quoting function source 22
80 Set Yourself Free - Use ODS Report Writing Technology in SAS Enterprise Guide Instead of Dynamic Data Exchange in PC SAS Part II SAS Code Revealed Robert Springborn The ability to prepare custom designed reports and convey your message in a clear and concise manner is very important in today's sophisticated business environment. Easy to read clearly designed reports can enhance your organization's credibility and reputation. Traditional use of Dynamic Data Exchange (DDE) in PC SAS to produce custom designed reports is the result of widespread and popular use of Microsoft EXCEL. However with most business organizations transitioning to SAS Enterprise Business Intelligence (EBI), where DDE does not function, ODS Report Writing technology is a powerful alternative to create custom designed reports in SAS Enterprise Guide. The driving force for this topic was the need to create hospital level data discrepancy reports which compare California CABG Outcome Reporting Program (CCORP) clinical data, to OSHPD's hospital administrative data, to verify risk factors used in a risk-adjusted operative mortality model. excel, sas enterprise guide, dataset, business intelligence, clinical data source 20
81 Smartmeter Case Study for SAS/Intel Solutions in IoT Suleyman Sair,
Pat M. Herbert
The amount and quality of data generated in Big Data usage scenarios present a big challenge to those looking to benefit from such data. We present a smartmeter use case that shows how one can collect data from the edge of the network and potentially aggregating and transforming the data before shipping them to the data center for in depth analysis and report generation. On the edge devices, we show how such data can be collected in a smart fashion to reduce the quantity and improve the quality of the data being collected with SAS Event Stream Processing. When employed, intelligent gateways can collect edge device data and act as a filter to summarize and normalize the data for sharing through the network and into the cloud. This information then gets sent to the data center for advanced and in depth analytics. The customizable reports generated at the data center can be viewed anywhere utilizing mobile technologies. stream processing, real-time processing, sample source 6
82 Something Old, Something New... Flexible Reporting with DATA Step-based Tools Peter J. Lund The report looks simple enough-a bar chart and a table, like something created with the GCHART and REPORT procedures. But, there are some twists to the reporting requirements that make those procedures not quite flexible enough. The solution was to mix "old" and "new" DATA STEP-based techniques to solve the problem. Annotate datasets are used to create the bar chart and the Report Writing Interface (RWI) to create the table. Without a whole lot of additional code, an extreme amount of flexibility is gained. The goal of this paper is to take a specific example of a couple generic principles of programming (at least in SAS): 1. The tools you choose are not always the most obvious ones - So often, other from habit of comfort level, we get zeroed in on specific tools for reporting tasks. data step, proc report, proc step, bar chart source 15
83 Standardizing the Standardization Process Frank A. Ferriola,
Avery Long
A prevalent problem surrounding ETL development is the ability to apply consistent logic/manipulation of source data when migrating to target data structures. Certain inconsistencies that add a layer of complexity include, but are not limited to, naming conventions and data types associated to multiple sources, numerous solutions applied by an array of developers, and multiple points of updating. In this paper, we examine the evolution of implementing a best practices solution during the process of data delivery, with respect to standardizing data. The solution begins with injecting the transformations of the data directly into the code at the standardized layer via Base SAS or SAS Enterprise Guide. A more robust method that we will explore is to apply these transformations with SAS Macro Facility . This provides the capability to apply these changes in a consistent manner across multiple sources. sas base, create table, data migration, proc sql, macro definition, financial services, proc step, macro facility, sas enterprise guide source 12
84 Staying Relevant in a Competitive World: Using the SAS Output Delivery System to Enhance, Customize, and Render Reports Chevell T. Parker Technology is always changing. To succeed in this ever-evolving landscape, organizations must embrace the change and look for ways to use it to their advantage. Even standard busi ness tasks such as creating reports are affected by the rapid pace of technology. Reports are key to organizations and their customers. Therefore, it is imperative that organizations employ current technology to provide data in customized and meaningful reports across a variety of media. The SAS Output Delivery System (ODS) gives you that edge by providing tools that enable you to package, present, and deliver report data in more meaningful ways, across the most popular desktop and mobile devices. To begin, the paper illustrates how to modify styles in your reports using the ODS CSS style engine, which incorporates the use of cascading style sheets (CSS) and the ODS document object model (DOM). You also learn how you can use ODS to customize and generate reports in the body of email messages. excel, proc step, ods html, filename statement, output delivery system, by group processing, macro function, ods excel, proc template, proc sql, dosubl, proc print, options statement source 26
85 Strategies for Error Handling and Program Control: Concepts Thomas E. Billings SAS provides a complex ecosystem with multiple tools and products that run in a variety of environments and modes. The SAS system provides numerous error-handling and program control statements, options, and features. These features can function differently according to the product/run environment, and many of them have constraints and limitations. Here we review a n umber of potential error handling and program control strategies that can be employed, along with some of the inherent limitations of each. The bottom line is that there is no single strategy that will work in all environments, all products, and all run modes. Instead, programmers need to consider the underlying program requirements and choose the optimal strategy for their situation. sas enterprise guide, exception handling, sas base, proc step, macro variable, error, proc sql source 9
86 Take Your Data Analysis and Reporting to the Next Level by Combining SAS Office Analytics, SAS Visual Analytics, and SAS Studio David Bailey,
Tim Beese,
Casey Smith
SAS Office Analytics, SAS Visual Analytics, and SAS Studio provide excellent data analysis and report generation. When these products are combined, their deep interoperability allows you to take your analysis and reporting to the next level. Build interactive reports in SAS Visual Analytics Designer, and then view, customize, and comment on these reports in Microsoft Office and SAS Enterprise Guide. Create stored processes in SAS Enterprise Guide, and then run them in SAS Visual Analytics Designer, mobile tablets, or SAS Studio. Run your SAS Studio tasks in SAS Enterprise Guide and Microsoft Office using data provided by those applications. These interoperability examples and more will allow you to combine and maximize the strength of each SAS application. sas enterprise guide, sas studio, excel, dataset source 18
87 The Basics of PROC FCMP Dachao Liu SAS Functions can save SAS users time and effort in programming. Each release of SAS has new functions added. Up to the latest version of SAS 9.3, there are over 450 functions. Even with a vast plethora of SAS functions, some SAS users still find the lack of some functions to perform certain tasks. Fortunately, In SAS 9, a new procedure called PROC FCMP was developed to help SAS users to write their own functions. This paper will discuss the basics of PROC FCMP and how we can use it to build our own SAS functions. The intended audience would be those who have a basic idea of SAS functions. proc fcmp, proc step, sas function, data step, excel, return source 5
88 The breakthrough of SAS University Edition: What is it and how do I get it? Chelsea Lofland SAS University Edition provides a free installation of SAS for researchers and students. This is a fantastic tool for people in Academia or those who just have a desire to learn SAS. In this paper we will provide an overview of installing University Edition, how to use it, and a comparison to SAS OnDemand. The information provided is intended for users who are unsure what University Edition is or how to use it, regardless of their familiarity with SAS. data mining, sas base source 4
89 The Data Set statement: What are my options? Mark Kirkham The SET statement in SAS is used to read in data from an existing SAS dataset one record at a time. SET statement options allow flexibility in how records are read in, assist in tracking the dataset that the record originated from, as well as other useful tasks. These are not to be confused with Data Set options such as the KEEP, WHERE, and RENAME that are included in parentheses after the name of the SAS dataset in the SET statement. Some of the SET statement options are: END=, NOBS=, KEY=, INDSNAME=, and POINT=. This paper defines and explains these options and gives examples their uses. set statement, in=, dataset, macro variable, card fraud, sas output source 5
90 The Knight's Tour in Chess - Implementing a Heuristic Solution John R. Gerlach The Knight's Tour is a sequence of moves on a chess board such that a knight visits each square only once. Using a heuristic method, it is possible to find a complete path, beginning from any arbitrary square on the board and landing on the remaining squares only once. However, the implementation poses challenging programming problems. For example, it is necessary to discern viable knight moves, which changes throughout the tour. Even worse, the heuristic approach does not guarantee a solution. This paper explains a SAS solution that finds a knight's tour beginning from every initial square on a chess board - Well, almost. macro variable, macro loop source 8
91 Time to Re-Group: Keeping SAS Code Dynamic through Derived Formats Sara Bodach Creating a series of data tables poses challenges when there are numerous rows to enumerate, cells with counts of 0 must be displayed, and the strata of rows of a characteristic are subject to change by the next data run. The availability of an existing SAS format or dataset combined with the options available in PROC FORMAT can help automate the creation of a series of output data tables according to the user's exact specifications. Outputting an existing format as a SAS dataset through the CNTLOUT= option in PROC FORMAT, regrouping the categories using DATA STEP processing, and adding these new derived formats to the user's format library through CNTLIN= can help keep the SAS code dynamic and reusable in the future, when the series of tables must be updated with newer data. proc step, dataset, proc format, proc print, macro variable, format statement, macro definition source 12
92 Top Ten SAS Performance Tuning Techniques Kirk Paul Lafler The Base-SAS software provides users with many choices for accessing, manipulating, analyzing, and processing data and results. Partly due to the power offered by the SAS software and the size of data sources, many application developers and end- users are in need of guidelines for more efficient use. This presentation highlights my personal top ten list of performance tuning techniques for SAS users to apply in their applications. Attendees learn DATA and PROC STEP language statements and options that can help conserve CPU, I/O, data storage, and memory resources while accomplishing tasks involving processing, sorting, grouping, joining (merging), and summarizing data. dataset, cpu time, proc sql, options statement, proc step, where statement, performance tuning source 7
93 Understanding the SAS DATA Step and the Program Data Vector Steven J. First The SAS system is made up of two major components: SAS PROCs and the SAS DATA STEP . The DATA STEP provides an excellent, full fledged programming language that allows programs to read and write almost any type of data value, convert and calculate new data, control looping and much, much more. In many ways, the design of the DATA STEP along with its powerful statements, is what makes the SAS language so popular. This paper will address how the DATA STEP fits with the rest of the SAS System, DATA STEP assumptions and defaults, internal structures such as buffers , and the Program Data Vector. It will also look at major DATA STEP features such as compiler and executable statements. dataset, if-then-else, proc step, _eof_, output, subsetting if, proc sql source 14
94 Using Arrays to Quickly Perform Fuzzy Merge Look-ups: Case Studies in Efficiency Arthur L. Carpenter Merging two data sets when a primary key is not available can be difficult. The MERGE statement cannot be used when BY values do not align, and data set expansion to force BY value alignment can be resource intensive. The use of DATA STEP arrays, as well as other techniques such as hash tables, can greatly simplify the code, reduce or eliminate the need to sort the data, and significantly improve performance. This paper walks through two different types of examples where these techniques were successfully employed. The advantages will be discussed as will the syntax and techniques that were applied. The discussion will allow the reader to further extrapolate to other applications. hash table, conditional do loop, binary variable, do loop, set statement, key, length statement source 14
95 Using Bootstrapping to Evaluate LOS Median Differences between Two Knee Arthroplasty Procedures Yubo Gao proc step, bootstrap, propensity score, sample source 6
96 Using PROC SGPLOT for Quick, High-Quality Graphs Lora D. Delwiche,
Susan J. Slaughter
When ODS Graphics was introduced a few years ago, it gave SAS users an array of new ways to generate graphs. One of those ways is with Statistical Graphics procedures. Now, with just a few lines of simple code, you can create a wide variety of high-quality graphs. This paper shows how to produce single-celled graphs using PROC SGPLOT and paneled graphs using PROC SGPANEL. This paper also shows how to send your graphs to different ODS destinations, how to apply ODS styles to your graphs, and how to specify properties of graphs, such as format, name, height, and width. proc sgpanel, bar chart, proc step, series plot, proc sgplot, histogram source 19
97 Using SAS EG 71 Stored Processes David Mitchell In this paper you will be introduced to advanced SAS 9.4 functions developed with Enterprise Guide 7.1 and surfaced thru HTML pages. The application design is based on SAS 9.4 client server architecture featuring a discussion of integration with metadata objects in the SAS Management Console. The audience will also learn practical techniques used to create stored processes that will cover: Direct Call to Stored Processes Macro Code Stored Process Linking Prompt Dependencies Hidden Prompts Wow! You did that with SAS Stored Processes 2 Prompt Groupings Dynamic Prompting Formats and Outputs - email and pdf This application is a set of linked stored processes that allow tracking of internal customer contracts. The application integrates several SAS tables driven by stored processes to: Maintaining a customer database Create projects from contracts Create work orders Allow posting of time spent for consultants Create output for a multitude of reports, emails and PDF files. source 14
98 Web Reporting by Combining the Best of HTML and SAS Jason Chen,
Kim Phan,
Yuexin (Cindy) Chen
In most publications, the dominant approach for web reporting has been using ODS HTML and PROC REPORT, which is extremely powerful with very impressive results. Regrettably the layout of the report is limited to a tabular format, which hinders the creativity of the SAS users when they are trying to deliver the exact type of report that the end users requested. This paper will focus on a different approach that may provide greater flexibility to users who intend to produce highly customized reports. First, an HTML report template can be developed to one's heart's content, then SAS will populate the content using one observation in a SAS dataset. Using this method, SAS users can take advantage all the great features that HTML has to offer to supplement what is already accomplished in SAS. Tools such as Javascript and CSS can be applied directly in the HTML report template to enhance the web report instead of trying different workarounds to integrate them. dataset, macro variable, proc step source 10
99 Why Aren't Exception Handling Routines Routine? Toward Reliably Robust Code through Increased Quality Standards in Base SAS Troy Martin Hughes A familiar adage in firefighting-If you can predict it, you can prevent it-rings true in many circles of risk management and accident prevention, including software development. If you can predict that a fire, however unlikely, someday might rage through a structure, it's prudent to install smoke detectors to facilitate its rapid discovery. Moreover, the combination of smoke detectors, fire alarms, sprinklers, fire retardant building materials, and rapid intervention may not prevent a fire from starting, but it can prevent the fire from spreading and facilitate its immediate and sometimes automatic extinguishment. Thus, as fire codes have grown to incorporate increasingly more restrictions and regulations and as fire suppression gear, tools, and tactics have continued to advance, even the harrowing business of firefighting has become more reliable, efficient, and predictable. exception handling, macro variable, automatic macro variable, data cleaning, sas base, macro put, data validation rules, sas log, quality control, proc sql, if-then-else, sysrc, proc sort, error message, quality assurance, sas programmer, proc report, quit, error, options statement, proc freq, macro function, macro definition, %if-%then-%else source 15
100 WUSS 2014 ENCORE: Creating Multi-Sheet Microsoft Excel Workbooks with SAS: The Basics and Beyond Part 1 Vincent DelGobbo This presentation explains how to use Base SAS9 software to create multi-sheet Microsoft EXCEL workbooks. You learn step-by-step techniques for quickly and easily creating attractive multi-sheet EXCEL workbooks that contain your SAS output using the ExcelXP ODS tagset. The techniques can be used regardless of the platform on which SAS software 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 presentations by this author, this presentation contains new and revised material not previously presented. excel, xls, sas output, sas base, format statement, ods xml, proc report, sas log, proc tabulate, output delivery system, datetime, sample, by group processing, dataset source 19
101 Yes, PROC FREQ does that! AnnMaria De Mars While FREQ is one of the first procedures most people learn, the full capabilities are seldom explored. PROC FREQ is a playground for statisticians and "normal people" alike. This presentation covers a dozen uses of PROC FREQ that go beyond counts and percents. These include finding the number of unique records, McNemar test for paired data, Pearson chi-square for independent samples, Fisher's test for small samples, binomial proportions, output of freq data sets to enable "output as input", tests of binomial proportions, relative risk, confidence intervals, dot-plots and bonus features you'll have to attend (or read the paper) to learn. proc freq, proc step, relative risk, sample, null hypothesis, confidence interval, exact test, odds ratio, binomial distribution, proc format, nominal variable, frequency analysis, sample size, outlier, data science source 15
102 You Say 'Day-ta', I Say 'Dat-a' - Measuring Coding Differences, Considering Integrity and Transferring Data Quickly Mary Federico Katz,
Jason R. Beene
We all know there are multiple ways to use SAS language components to generate the same values in datasets and output, e.g.: DATA STEP vs PROC SQL, If-Then-Else vs Format table conversions, PROC MEANS vs PROC SQL summarizations, just to name a few. However, do you ever compare those different ways to determine which are the most efficient in terms of CPU and elapsed time usage? Do you ever consider the time a programmer takes to develop or maintain code? In addition to determining the most efficient syntax, do you validate your resulting datasets? Do you ever check data values that need to remain the same after being processed by multiple steps and make sure they really don't change? We will share some of our best practices that have proven to save computer and human resources. We will also explain some data validation and comparison techniques that ensure data quality and integrity. proc step, proc sql, dataset, cpu time, proc compare, sas log, create table, frequency analysis, sas grid, proc means, proc contents, proc freq, group by, proc format, data cleaning, proc download, missing value, sas base, sql server, excel, sas programming source 13

Back to Conf go 2016 go 2014

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.