MWSUG 2012 Papers - Index
114 papers. Source: MWSUG (Midwest SAS Users Group) conference proceedings.
| # | Title× | Authors× | Abstract× | Keywords× | Extras | Pages |
|---|---|---|---|---|---|---|
| 1 | A Basic Recipe for Building a Campaign Management System from Scratch: How Base SAS, SQL Server and Access can Blend Together | Tera Olson | Designing and building a custom campaign management system can be a daunting task. The system we envisioned had to manage billions of rows of data, execute all of the components of a strategic marketing program, and provide a user-friendly interface for project management. During the build we learned that success depended on clear requirements for the design team, a thoughtful and organized system architecture, and efficient, tested and documented SAS code tying it all together. This paper provides information, both practical and technical, around building a campaign management system from scratch using Base SAS, Microsoft SQL Server and Microsoft Access. It addresses what worked well and lessons learned in hopes that others who are considering building such a system can benefit from the experience | proc sql, sql server, macro variable, proc step, sas base, sas programmer, proc append, macro definition | 7 | |
| 2 | A Brief Survey of Clustering and Segmentation for Customer Intelligence | George J. Hurley | Clustering and segmentation is important in nearly all industries as it allows businesses to identify and categorize customers. Using this approach a business can market and develop products for a targeted segment(s). The methods of these targeted objectives are dependent on business need, industry and type; that is, one industry may use a direct mail campaign, while another uses an ad campaign to one segment, and develops a new product for another. Regardless of the business implementation, the underlying methodology of segmentation is fairly similar. In this paper, implementation and basic technical aspects of hierarchical clustering, k-means clustering, normal mixtures, and self-organizing maps will be discussed. These methods are all available in JMP Pro. In addition to comparing these methodologies, the paper will also discuss some common business uses of clustering. Clustering Simply put, clustering exists in order to separate things into groups | hierarchical clustering, outlier, covariance, likelihood function, sample, data cleaning, agglomerative clustering | 18 | |
| 3 | A CareerView Mirror: Another Perspective on Your Work and Career Planning | Bill Donovan | Career planning in today's tumultuous job marketplace requires a more rigorous and disciplined approach, which must begin with each individual tracking his or her particular skills and experiences. The ability to organize and inventory your entire career-related experiences is the foundation of a solid career plan. The catalog of your work assignments and functional responsibilities creates a reflection of your efforts in your career to-date. All of this helps to build your CareerView Mirror | 3 | ||
| 4 | A Cup of Coffee and Proc FCMP: I Cannot Function Without Them | Peter W. Eberhardt | How many times have you tried to simplify your code with LINK/RETURN statements? How much grief have you put yourself through trying to create macro functions to encapsulate business logic? How many times have you uttered "If only I could call this DATA STEP as a function"? If any of these statements describe you, then the new features of PROC FCMP are fo r you. If none of these statements describe you, then you really need the new features of PROC FCMP. This paper will get you started with everything you need to write, test, and distribute your own "DATA STEP" functions with the new ( SAS 9.2) PROC FCMP. This paper is intended for beginner to intermediate programmers, although anyone wanting to learn about PROC FCMP can benefit |
proc fcmp, proc step, sas log, return, put statement, sas programmer | 16 | |
| 5 | A Multifaceted Approach to Generating Kaplan-Meier and Waterfall Plots in Oncology Studies | Stacey D. Phillips | The new Statistical Graphics (SG) procedures and Graph Template Language (GTL) available in SAS 9.2 have greatly increased the flexibility and ease with which graphs and figures are generated from SAS. This paper will demonstrate multiple methods of generating the commonly utilized Kaplan-Meier curve and waterfall plot from oncology data. Examples and discussion will range from traditional SAS/GRAPH procedures such as PROC GPLOT to Statistical Graphics (PROC SGPLOT) and the Output Delivery System (ODS) with GTL |
proc step, waterfall chart, proc sgplot, proc template, proc gplot, output delivery system, graph template language, censoring, sas output, sample | 12 | |
| 6 | A SAS Solution to Create a Weekly Format | Susan Bakken | As programmers, we are frequently asked to report by periods that do not necessarily correspond to weeks on the calendar - for example, a client may want to see sales by week since the day a product was released. This paper presents simple, easy-to-use, self-contained SAS code that utilizes date functions, macro variables, a DO/UNTIL loop, and the FORMAT procedure to create formatted values for any weekly periods needed, based on dates specified by the user. It also presents a second example of code that can be used with different start dates within the same data set |
proc format, proc step, macro variable, proc freq | 9 | |
| 7 | A Simple Solution for Generating Two Sets of Similar Reports | Lion Li, Zheng Wang, Yanhong Li |
In preparing regulatory submissions for multi-regional clinical trials, we are often required to generate two sets of reports for one trial with one set of report including the whole ITT population (i.e., subjects from all countries involved) and another partial ITT population (i.e., subjects in the country with regulatory authority). The two reports contain all contents in the same layout, and the only difference is the population selection, which should be specified in titles to differentiate one from the other. In this paper a simple solution for generating two sets of similar reports is presented with the aim of reducing workload and increasing efficiency | proc step, create table | 6 | |
| 8 | Add a Little Magic to Your Joins | Kirk Paul Lafler | To achieve the best possible performance when joining two or more tables in the SQL procedure, a few considerations should be kept in mind. This presentation explores options that can be used to influence the type of join algorithm selected (i.e., step-loop, sort-merge, index, and hash) by the optimizer. Attendees learn how to add a little magic with MAGIC=101, MAGIC=102, MAGIC=103, IDXWHERE=Yes, and BUFFERSIZE= options to influence the SQL optimizer to achieve the best possible performance when joining tables |
proc sql, sas log | 6 | |
| 9 | An Analysis of Diabetes Risk Factors Using Data Mining Approach | Akkarapol Sa-ngasoongsong, Jongsawas Chongwatpol |
Preventing the disease of diabetes is an ongoing area of interest to the healthcare community. Although many studies employ several data mining techniques to assess the leading causes of diabetes, only small sets of clinical risk factors are cons idered. Consequently, not only many potentially important variables such as pre -diabetes health conditions are neglected in their analysis, but the results produced by such techniques may not represent relevant risk factors and pattern recognition of diabe tes appropriately. In this study, we categorize our analysis into three different focuses based on the patients' healthcare costs. W e then examine whether more complex analytical models sing several data mining techniques in SAS Enterprise Miner 7.1 can better predict and explain the c auses of increasing diabetes in adult patients in each cost category | data mining, logistic regression, proc hpsplit, regression analysis, missing value, neural network, logistic distribution, sample, data wrangling, type ii error, feature selection, response variable, nominal variable, outlier, stepwise selection | 11 | |
| 10 | Applying Analytics to High Performance Customer Profitability Models in Financial Services | Tony Adkins, Gary Cokins |
Where financial services companies have looked at customers in the past, much of the literature focuses on the "apex" customers. These are the top 10-50 customers by value, whose importance to the business means that they demand an extraordinary service, often at the expense of profitability. Historically, it was difficult to build models of a scale that produce customer profitability, so models tended to stop at segment level. We have tended to rely on the traditional rather arbitrary groupings used within a business, and this can disguise important trends. Bringing together analytics and high performance in memory profitability models allow us to discover hidden patterns in behaviors that cross arbitrary boundaries in the financial services industry and refine our interpretation of intermittent risks | proc hpsplit, customer profitability, cluster analysis, credit card, regression analysis | 9 | |
| 11 | Are Sales Figures in Line With Expectations? Using PROC ARIMA in SAS to Forecast Company Revenue | Saveth Ho, Brian Van Dorn |
The distribution of corporate sales, like many types of financial data, tends to be serially correlated, with revenue in one time period related to revenue in the past. This allows sales revenue to be described by an ARIMA time series model. These models use autoregressive and moving average components that relate current observations to prior observations, and also contain seasonal components that utilize the similarity of values to those obtained at the same time point in prior years. Special indicator variables can account singular events such as holiday weeks, major market campaigns or price increases. The ARIMA procedure in SAS/ETS allows for the identification and estimation of these time series models, with many diagnostics available for describing the serial correlation and for selecting an appropriate model. In addition, values can then be forecast for subsequent time periods, along with their corresponding confidence intervals |
confidence interval, correlation, time series analysis, proc arima, binary variable, proc step, autocorrelation, moving average, proc sgplot, unit root, residual | 10 | |
| 12 | Are You Dense? Using Kernel Density Estimation (KDE) to Connect the Dots Amidst Uncertainty | Stephen Crosbie, David J. Corliss |
Data Visualization: Smoothing data for display using Kernel Density Estimation. Application of the KDE Procedure (provided with Base SAS) with the Univar Statement provides smoothing for data in graphs. While PROC KDE provides a great resource for smoothing data, the bandwidth selection is fixed and does not account for uncertainty / variance measurements. This paper presents a macro for smoothing data that takes into account uncertainty at each observation point. The method can be used for data with normal and nearly-normal uncertainty distributions |
proc step, histogram, proc univariate | 8 | |
| 13 | Autocall Macro Libraries | Ken Schmidt | The power of SAS Macros can speed up programming time, eliminate errors, as well as insure consistency of assumptions. The presentation will include how to set up a macro directory, how to assign macro names, and provide general descriptions of some of the most useful macros used in a library | macro definition, autocall macro, stored macro, options statement, macro facility | 4 | |
| 14 | Automagically Copying and Pasting Variable Names | Arthur S. Tabachneck, Randy Herbison, Andrew Clapson, John Henry King, Roger J. DeAngelis, Tom Abernathy |
Have you ever wished that, with one click, you could copy any table's variable names (or labels) so that you could paste them into your editor or possibly a Word file, powerpoint or spreadsheet? You can and, with just base SAS, there are some little known but easy to use methods available for automating many of your (or your user's) common tasks | data step, sas base, proc step | 7 | |
| 15 | Avoiding Pitfalls when Merging Data | James Lew, Joshua M. Horstman |
The merge is one of the SAS programmer's most commonly used tools. However, it can be fraught with pitfalls to the unwary user. In this paper, we look under the hood of the DATA STEP, examine how the program data vector works, and see how this knowledge can help us avoid common missteps when performing merges. We illustrate these principles through simple examples and discuss best coding practices for merging |
merge statement, pdv, by group processing, out= | 5 | |
| 16 | Base-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, proc sort, numeric variable, libname statement, proc freq, proc univariate, proc sql | 17 | |
| 17 | Building Macros and Tracking Their Use | Richard Koopmann Jr. | Many of the routine tasks we do in SAS can be converted into parameterized macros. Whether you are processing data sets for regular reports, automating infrequent and mundane tasks, or documenting SAS libraries, macros can help make repetitious tasks more tolerable and less error-prone. Developing a common macro script structure and committing to it are just the first steps toward having a more concise code base. One immediate benefit of using macros is the ease of implementing code changes. Typically, estimating the impact of impending source changes (e.g., adding a column, renaming a schema, or deleting a table in a SQL database) is a distributed task-end-users are asked to identify potential breaks in their code base. If the end-users tend to work with different versions of their code for different projects or requests, the number of SAS files to evaluate quickly multiplies. With macros, however, there will be a smaller fraction of SAS files to evaluate | macro variable, macro call, proc sql, date variable, proc step, macro definition | 6 | |
| 18 | Calling a Remote Macro Using %INCLUDE or a Stored Macro Facility | Tony Reeves | Many of us find SAS macros intimidating. They often bring to mind images of doubled ampersands and percent signs spinning off in nested iterations that are intricate as the julias in a Mandelbrot image. However, macros can be quite useful. In particular, when a segment of code is likely to be broadly shared but must be routinely updated in a manner that is uniform and accurate, it can be useful to have a remote macro that many SAS programmers can access but only one or a few can edit. This paper creates an example of such a macro. It then describes two complimentary methods of programming it so that it can be invoked by programmers from remote locations. The first uses %INCLUDE coding to identify the remote SAS program file containing the macro. The second creates a stored macro facility to call the same macro. My goal will be to be to stress the advantages of each approach at different points in the process of developing and using such a macro |
macro facility, stored macro, libname statement, data step, options statement, cpu time, macro definition | 13 | |
| 19 | Check and Summarize SAS Log Files | Qiling Shi | Data validation is a very important task, while validat ing the SAS program s is equally important to a Quality Assurance (QA) analyst. The exact positions of message suc h as ERRORs, WARNINGs and specific NOTEs in SAS LOG will give QA analyst s a quick access to the points of possible mistakes. Checking for errors in a large SAS log file can be tedious and also easy for QA analysts to miss a lot of useful information. This paper contains a simple but very effective SAS program which can be used to check and summarize SAS log files quickly | sas log, error message, proc means | 4 | |
| 20 | Collapsing Levels of Predictor Variables for Logistic Regression and Weight of Evidence Coding | Bruce S. Lund, Steven Raimi |
In binary logistic regression it is routine to collapse the levels of a predictor variable to achieve parsimony while maintaining predictive power. This paper gives a method and SAS macro for collapsing nominal or numeric predictors. If numeric, the order can be maintained during collapsing. At each step the method maximizes log likelihood among all choices for collapsing. Stopping guidelines are provided. SAS code is given to convert the collapsed levels of the predictor to weight-of-evidence coding. This methodology of collapsing levels applies to the nominal multinomial target as well. All data processing was performed using Base SAS, SAS Stat, and JMP | proc step, likelihood function, logistic distribution, predictor variable, missing value, proc logistic, sample, class variable, sample size, logistic regression, proc freq, response variable, regression analysis, macro definition | 13 | |
| 21 | Combined Forecasts: What to Do When One Model Isn't Good Enough | Ed Blair, Michael J. Leonard, Bruce Elsheimer |
SAS High-Performance Forecasting 4.1 offers a new, innovative process for automatically combining forecasts. Fore- cast combination, also called ensemble forecasting, is the subject of many academic papers in statistical and forecast- ing journals; it is a known technique for improving forecast accuracy and reducing variability of the resulting forecasts. By integrating these methods into a single software system, SAS High-Performance Forecasting 4.1 surpasses the functionality of any existing software system that incorporates this capability. This paper describes this new capability and includes examples that demonstrate the use and benefits of this new forecast combination process | feature selection, akaike information criterion, estimate, time series analysis, proc step, forecast horizon, residual, standard deviation, correlation, proc esm | 14 | |
| 22 | Comparative Medication Adherence for Antihypertensive Therapy in Rural Ambulatory Clinics | Terrence J. Adam | The assessment of medication adherence is a key measure of patient exposure to pharmaceuticals. However, measures of patient utilization of medications are frequently limited to available data sources such as medication claims data. Though gold standard measures such as directly observed therapy or measures of medication biomarkers are often available, these methods are generally either too expensive to implement or logistically implausible to manage. These limitations make indirect measures of medication utilization useful in providing data on medication exposure to assess drug usage and assess clinical outcomes. Several methods to measure adherence are included in this paper focused on antihypertensive therapy | insurance claims, type ii error | 3 | |
| 23 | Copy and Paste Almost Anything | Arthur S. Tabachneck, Randy Herbison, John Henry King, Richard A. DeVenezia, Nathaniel Derby, Ben Powell |
Every day, data appear on computer screens in the form of spreadsheets, wiki pages, HTML, PDF, Word documents or any of the methods that are used to display data forms and tables. And, with any of those formats you can typically highlight and copy only the data you desire to your computer's clipboard. However, because there currently isn't a PROC IMPORT dbms=clipbrd option, how can you paste such data into a SAS dataset? The present paper provides code that we believe can be used to accomplish most such tasks and, at the same time, provides examples of features that we think should be available in PROC IMPORT for all DBMS options |
macro variable, proc import, proc step, missing value, dataset, label statement, excel | 17 | |
| 24 | Creating a SAS Frequency Data Set of Valid Categorical Variables for Export to Microsoft Excel or Access | Neil Kamdar | This paper describes a project that required the creation of a data dictionary with frequencies of categorical variables with appropriate formats to be stored for a variety of SAS Medicare Claims data sets. The implementation of CALL SYMPUT, PROC SQL, and the VNAME function are utilized to ensure lists of frequencies of categorical variables can be collapsed into a single data set for exportation to Microsoft EXCEL, Access, or other data processing and reporting software packages. After multiple macro calls and PROC APPEND with the FORCE option, final recommendations are made for post-macro post-processing to ensure readability of the dataset with associated formats is feasible. All analysis and programming was conducted on SAS Version 9.2 on a Windows XP Professional Workstation |
proc freq, character variable, proc step, data step, proc contents, nominal variable, data dictionary, macro call, proc sql, call execute, raw data, proc sort, macro put, excel | 7 | |
| 25 | Current Health Trends and Risk Behavior Analysis in American Youth: Using a Large Sample | Deanna Naomi Schreiber-Gregory | The current study looks at recent health trends and behavior analyses of youth in America. Data used in this analysis was provided by the Center for Disease Control and Prevention and gathered using the Youth Risk Behavior Surveillance System (YRBSS). This study outlines demographic differences in risk behaviors, health issues, and reported mental states. Interactions between risk behaviors and reported mental states were also analyzed. Results included reporting differences between the years of 1991 and 2011. All results are discussed in relation to current youth health trend issues. Data was analyzed using SAS 9.2. This paper is intended for any level of SAS user, introductory statistics will be used. This paper is also written to an audience with a background in psychology and/or statistics | correlation, proc step | 4 | |
| 26 | Customer Sentiment Imputation Using Hash Tables | David J. Corliss | Hash tables provide a powerful methodology for leveraging bid data by formatting an n-dimensional array with a single, simple key. This advancement has empowered S AS programmers to compile exponen tially more missing data points than ever before. A hash table can support s torage and fast analytics for a group of people, keyed by an ID number, conta ining hundreds of fields of all types including variable-length fields, in which the majority of data in this vast array is empty. However, the hash struct ure also offers the key to this paradox, supporting analytics to calculate maximum likelihood estimates for missing values leveraging extensive data resources available for each individual. An important application of this is in sent iment analysis, where text from customer contacts, tweets, social media sites an d other sources can be compiled for a large group of people, expressing their l ikes or dislikes for particular products | hash table, imputation, sample, missing value, likelihood function, lookup, proc step, regression analysis | 8 | |
| 27 | Developing an Analytics Center of Excellence (Or The Care and Feeding of Magical Creatures) | Charles D. Kincaid | Analytics is becoming a mission-critical venture for companies who want to be ahead of their competition. For those of us in the field it's been a long-time coming and we're excited to see the possibilities. But what does it take for companies to really succeed in analytics? We have a talent shortage of analytics professionals, a wealth of tools and technology, tons of buzz words, and organizations that know they want it, but don't know what "it" is. Based on our experience and expertise, this paper will give the reader insight into some of the challenges of building an Analytics Center of Excellence and guidance in ways to overcome them. The paper will be accessible and valuable to any attendee in any industry. It will be of particular interest to anyone with the desire to promote analytics within their organization | business intelligence, data science | 11 | |
| 28 | Direct Marketing Profit Model | Bruce S. Lund | A net lift model gives the expected incrementality (the incremental rate) of a prospect in a direct marketing or customer retention campaign. Typically, a net lift model would be used to score prospects in a campaign which included an offer of value to the prospect. This paper extends the net lift model concept by adding profit and cost components. This leads to a prediction of profit called the Profit Model. This model involves three component models. The first component model compares the buyers in treated group vs. the buyers in control to give the probability that a purchase was treated. The second component is a traditional in-market model which is built on the full control group. The third component model gives the probability that a treated buyer will use the offer versus buying without being aware of the offer. Costs and profits are externally provided | sample, logistic distribution, proc logistic, proc step, data cleaning, predictor variable, logistic regression, sample size, regression analysis | 8 | |
| 29 | Doing More with the Display Manager: From Editor to ViewTable - Options and Tools You Should Know | Arthur L. Carpenter | If you have used the interactive interface for SAS you have most likely used the Display Manager. As it ships, the Display Manager is very powerful and yet fairly easy to use with a minimal learning curve for the new user. Because it is functional 'right out of the box', most users do very little to customize the interface. This is a shame, because the Display Manager contains a great many hidden opportunities to make it even more powerful, even easier to use, and customized for your way of using the interface. The Display Manager builds a variety of windows, screens, and dialogue boxes to f acilitate communication between SAS, the Operating System, and the user. For each of the five primary windows and extending to the dozens of secondary windows there are options that control the content, display, and level of interaction. Options have defaults and a majority of these can be easily changed to suite your needs | proc step, dataset, macro call, proc print, macro facility, macro variable, macro put, macro quoting function | 17 | |
| 30 | Effectively Utilizing Loops and Arrays in the DATA Step | Arthur X. Li | The implicit loop refers to the DATA STEP repetitively reading data and creating observations, one at a time. The explicit loop, which utilizes the iterative DO, DO WHILE, or DO UNTIL statements, is used to repetitively execute certain SAS statements within each iteration of the DATA STEP execution. Utilizing explicit loops is often used to simulate data and to perform a certain computation repetitively. However, when an explicit loop is used along with array processing, the applications are extended widely, which includes transposing data, performing computations across variables, etc. Being able to write a successful program that uses loops and arrays, one needs to know the contents in the program data vector (PDV) during the DATA STEP execution, which is the fundamental concept of DATA STEP programming |
do loop, output, execution phase, array, conditional do loop, in=, out=, dataset, missing value, compilation phase, array bounds, implicit loop, temporary array, standard deviation, automatic variable, class variable, normal distribution, set statement | 17 | |
| 31 | Error Reduction and Report Automation Approaches for Textually Dense Pharmaceutical Regulatory Conformance Incident Data | Barry deVille, Mark Wolff |
The Periodic Safety Update Report (PSUR)1 is a significant feature of the post-trial, in-market monitoring of drug efficacy. The manufacturer's response to a drug-use incident is comprehensive: new literature must be searched, a wide range of interactions with related agents must be examined, and finally, a complete clearance must be claimed. This response is a huge information-processing burden due to the many factors at play and because so much of the information - starting with the original exception report (including numerical data) - is delivered in unstructured textual format. This presentation discusses a proof of concept carried out on behalf of a major pharmaceutical manufacturer that deployed a variety of text content identification and manipulation techniques to eliminate manual error and automate the report production | sas enterprise guide, adverse events | 14 | |
| 32 | Essential SAS Coding Techniques for Gaining Efficiency | Kirk Paul Lafler | As SAS software becomes increasingly more popular as the tool of choice by application developers and end-users, guidelines for its efficient use is critical. The Base-SAS software provides SAS users with a powerful programming language for accessing, analyzing, manipulating, and presenting data. This hands-on workshop illustrates many useful coding techniques for SAS users to apply in their programs and applications. Attendees learn DATA and PROC STEP language statements and options that help conserve CPU, I/O, data storage, and memory resources while accomplishing tasks involving processing, ordering, grouping, joining (merging), and summarizing data |
dataset, cpu time, proc sql, where statement, pdv, options statement, proc step, if-then-else | 7 | |
| 33 | Estimating the discrete probability distribution of the age characteristic of Veteran populations using SAS, SAS/OR and SAS Simulation Studio for use in population projection models | Michael C. Grierson | This paper examines the discrete probability distribution of the age characteristic of the Veteran population in the US. The basis of the examination is the American Community Survey 1 (ACS) and the Social Security Administrations (SSA) period life table for males in 2007.2 The ACS is stratified to efficiently represent population elements including the population of Veterans. The current Veteran population discrete probability distribution for age is examined as a starting point. The survey also supports examining the expected future age of Veteran discrete probability distributions. The paper will show how to use an efficiently designed stratified survey (the 1 year ACS) to support a simulation that moves that population into the future and provides a basis for estimating future population age distributions and their consequent impact on organization cost and budget planning | probability distribution, sample, life table, proc surveyfreq, proc sgplot | 15 | |
| 34 | Executing a PROC from a DATA Step | Jason Secosky | All programs are built by creatively piecing together simpler parts into a larger whole. In SAS, the SAS macro facility provides an ability to group and piece together analytic blocks. However, writing complex programs using the SAS macro facility can be difficult and cumbersome. An easier way is to combine two new functions, RUN_MACRO and DOSUBL, with DATA STEP code. RUN_MACRO and DOSUBL enable DATA STEP code to immediately execute a macro and act on the result, something that was not possible before SAS 9.2. This paper presents examples of using these two new functions from DATA STEP to code programs that are easier to read, write, and maintain |
proc step, macro variable, proc sql, proc http, web service, sas base, proc fcmp, macro facility, macro definition | 12 | |
| 35 | Exploring the PROC SQL _METHOD Option | Kirk Paul Lafler | The SQL Procedure contains powerful options for users to take advantage of. This presentation explores the fully supported _METHOD option as an applications development and tuning tool. Attendees learn how to use this powerful option to better understand and control how a query processes |
proc sql, proc step | 3 | |
| 36 | FAQ: PROC TEMPLATE | Katherine Burgess, Ashley Miller |
PROC TEMPLATE can be a very useful tool in SAS. It provides many options for organizing and presenting your ODS output. We will provide a brief introduction to PROC TEMPLATE and demonstrate its use through SAS table and style templates. Step by step examples of both will be given focusing on basic modifications such as changing fonts, colors, and traffic lighting. Not only will we discuss how to EDIT and DEFINE your own template from a beginner's perspective, we will also demonstrate how easy it is to save your template so that you can use it in future projects, and share your template across multiple users on a single network |
proc step, proc template, proc means, sas output | 19 | |
| 37 | Flexible HTML Reporting Using Advanced Macro Programming and TableEditor Tagset | Smita Sumant | SAS ODS techniques provide the ability to create HT ML outputs and help minimize manual work. However, if you still miss dynamic and interactive EXCEL functionalities, we have a solution! Now, you can filter, sort and conditional format HTML ou tput just like Microsoft EXCEL. This paper demonstrates how advanced macro programming techniq ues and user-defined tagset TableEditor were used to create interactive and efficient HTML reports at RCI, the global leader in timeshare exchange and part of the Wyndham Worldwide family o f companies. Advanced macro programming is applied to organize HTML pages and to create a dynamic menu page with hyperlinks. User-defined tagset TableEditor is utilized along with SAS ODS t echniques to create EXCEL like data grids and to perform conditional formatting. The primary goal of this paper is to elaborate these programming techniques in such a way that the readers can immed iately implement these methods with minimal effort |
proc format, proc step, macro definition, excel, sample | 10 | |
| 38 | Get SASsy with PROC SQL | Amie Bissonett | As a data analyst for genetic clinical research, I was often working with familial data connecting parents with their children and looking for trends. When I realized the complexity of this programming could be accomplished quite easily with the SQL Procedure, I started learning the syntax and I've been a PROC SQL fan ever since. I've been suggesting SQL solutions to colleagues for their programming tasks for years and now I'm writing a paper to share the power of PROC SQL with you. This paper will give you some simple PROC SQL steps to get you started and some more complex steps to show you a few of the ways that PROC SQL can make your programs simpler and more efficient |
proc sql, proc step, create table, macro variable, group by, inner join, select, full join, by group processing, right join, adverse events, proc freq | 12 | |
| 39 | Get the Best Out Of SAS ODS Graphics and the SG (Statistical Graphics) Procedures: Communication-Effective Charts, Things That SAS/GRAPH Cannot Do As Well, and Macro Tools To Save Time and Avoid Errors | LeRoy Bessler | ODS Graphics and the SG (Statistical Graphics) Procedures are now built into Version 9.3 of Base SAS, and entail no additional software licensing charge. However, this technology comes with options and features that require optimization by you to actually get communication-effective output if you want more than simply the default results that come with no added thought or effort. This paper prescribes principles of communication-effective graphic design, and shows you how to implement them. For certain charts, macros are provided to make getting desired results easy and quick. Less code means less opportunity for coding error. The paper also emphasizes and delivers widely usable solutions that were impossible or less well rendered with SAS/GRAPH. The new tools manifest some unexpected behaviors, which do not even announce themselves in the SAS log. The paper points these out, and shows how to cope with them |
bar chart, output delivery system, series plot, proc step, horizontal bar chart, proc sgplot, sas log, time series analysis, ods listing, ods graphics, macro call, ods html, line chart, vertical bar chart, excel, macro definition, if-then-else, macro loop, order by, proc sgpanel, sas base, macro parameter, proc template, %if-%then-%else, proc gplot | 70 | |
| 40 | Getting the Code Right the First Time | Michael C. Frick | Writing code to support data analysis has a unique set of problems and is a vastly different task than writing traditional software. More often than not, it is throwaway code whose ultimate direction is not always known at the start of the project - intermediate results drive further investigative steps. Additionally, there is often a time-sensitivity to these types of projects. This limits the usefulness of traditional requirements gathering and technical specification writing. Even so, writing code to support analytics can be tricky and one must stick to simple, repeatable techniques to confidently write code that works the first time, every time. In this paper, I will describe a process of work developed over the last 30 years aimed at eliminating both coding and data interpretation errors as they occur. The methods are not rocket science, but rather rely on straight-forward techniques and "data diligence" | proc freq, proc step, do loop, note, conditional do loop, missing value, where statement, calendar year, data science, txt, numeric variable, sas output, excel | 11 | |
| 41 | Getting to Know an Undocumented SAS Environment | Brian K. Varney | For many companies, SAS has been used for decades a nd there may or may not be people still around that know the details about the SAS deployment. For a more co mplex SAS environment (such as a SAS Enterprise Bus iness Intelligence environment), it is harder to decipher how it was deployed. This paper intends to help co mmunicate the steps on how to become familiar with the details of a SAS environment whether it is a basic SAS Founda tion install or a multi-server SAS Enterprise Business Intellige nce Environment. This paper intends to help a new S AS administrator or user become familiar with a SAS en vironment for which there is no or limited document ation | proc step, sas enterprise guide | 8 | |
| 42 | Getting to the Good Part of Data Analysis: Data Access, Manipulation, and Customization Using JMP | Audrey Ventura | Effective data analysis requires easy access to your data no matter what format it comes in. JMP can handle a wide variety of formats. Once the data is in JMP, you can choose from a variety of options to reshape the data with just a few clicks. Finally, customize your data with labels, colors, and data roles so that graphs and charts automatically look the way you want them to. This paper walks through two or three story lines that demonstrate how JMP can easily import, reshape, and customize data (even large datasets) in ways that allow your data to be displayed in vibrant visualizations that will wow your audience | dataset, data science, line chart, excel | 19 | |
| 43 | Google Search Tips and Techniques for SAS and JMP Users | Kirk Paul Lafler, Charles E. Shipp |
Google (www.google.com) is the worlds most popular and widely-used search engine. As the premier search tool on the Internet today, SAS and JMP users frequently need to identify and locate SAS and JMP 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 | 5 | ||
| 44 | How Readable and Comprehensible Is a SAS Program? A Programmatic Approach to Getting an Insight into a Program | Rajesh Lal, Raghavender Ranga |
In any programming language, there are general guidelines for writing "better" programs. Well-written programs are easy to re-use, modify, and comprehend. SAS programmers commonly have guidelines for indentation, program headers, comments, dead code avoidance, efficient coding, etc. It would be great if we could gauge a SAS program's quality by quantifying various factors and generalize for individual programming styles. This paper aims to quantify various qualitative characteristics of a SAS program using Perl regular expressions, and provide insight into a SAS program. This utility, when used across a large project, can serve as a tool to gauge the quality of programs and help the project lead take any corrective measures to ensure that SAS programs are well written, easily comprehensible, well documented and efficient | proc step, flag variable | 12 | |
| 45 | Human side of BI implementation | Arlen Harmoning | The proliferation and refinement of Business Intelligence (BI) software is reflective of the exponential growth occurring in the "information age" and the "digital revolution". However, the adoption rate of BI among global organizations and specifically the human users in those organizations has not met the expectations of the marketers of these BI tools and puzzled many that analyze and monitor the technology and business world. While the technology vendors have refined their tools addressing ease of use, real time data, mobility and intuitive use; management science has focused on the implementation of these tools within a complete system. Organizational culture has not changed at the same rate as technology, and human behavior may be a contributing factor that needs to be considered for a successful implementation. In a hind-sight case study reflection, personal observations are shared about implementation techniques that may help address the slower than expected adoption of BI | business intelligence, key performance indicator | 7 | |
| 46 | Innovative Techniques: Doing More with Loops and Arrays | Arthur L. Carpenter | DO loops and ARRAY statements are common tools in the DATA STEP. Together they allow us to iteratively process large amounts of data with a minimum amount of code. You have used loops and arrays dozens of times, but do you use them effectively? Do you take advantage of their full potential? Do you understand what is really taking place when you include these statements in your program? Through a series of examples let's look at some techniques that utilize DO loops and ARRAYs. As we discuss the techniques shown in the examples we will also examine the use of the loops and the arrays by highlighting some of the advanced capabilities of these statements. Included are examples of DO and ARRAY statement shortcuts and 'extras', the DOW loop, transposing data, processing across observations, key indexing, creating a stack, and others |
do loop, hash table, conditional do loop, set statement, temporary array, array, character variable, numeric variable, end= option, moving average, point= option, array bounds, mod, stop, lookup | 14 | |
| 47 | Introduction to the Graph Template Language | Sanjay N. Matange | In SAS 9.2, the SAS/GRAPH Graph Template Language (GTL) goes production. This system is used by many SAS analytical procedures to creat e the automatic graphica l output within the Output Deliv ery System (ODS). Now, you can access this same system to create your own cust om graphs or to customize the graphs created by the SAS analytical procedures. This presentat ion helps you understand the basics of GTL, and how you can leverage its features to customize your graphs |
bar chart, class variable, scatter plot, histogram, proc step, regression analysis, proc template | 13 | |
| 48 | JMP Coders 101 Insights | Charles E. Shipp, Kirk Paul Lafler |
JMP Version 10 is a powerful data discovery tool that is used interactively on your personal computer. We illustrate finding cause and effect in Veterans Hospital cancer patient data and show the code JMP creates as we interact. We demonstrate and discuss briefly the derivation of the density ellipse and its value to show data position, extent, and correlation in cause and effect. We conclude with leads to JMP learning and user exchange interaction. Introduction SAS Institute recently released Version 10 of JMP, and with it, additional choices: in addition to JMP Version 10, there are three additional packages: JMP Genomics, JMP Clinical, and JMP Pro (for data mining and advanced predictive modeling). Most JMP users will settle on JMP Version 10, but specialists and institutions with needs in the other areas will adapt quickly to the more advanced packages. Visit www.JMP.com to learn the possibilities | data profiling, correlation | 6 | |
| 49 | JMP Pro Bootstrap Forest | George J. Hurley | JMP Pro includes a number of analytical features that are very powerful, including a technique called "Bootstrap Forest". The Bootstrap Forest uses many decision tree type classification models, based on data and variable subsets to determine an optimal model. Through this bootstrapping methodology, a superior model can typically be generated relative to typical decision tree partitioning methods. Generally speaking, most applications of classification that would use a typical decision tree can use the bootstrap forest method; hence there is wide applicability of this method across industries. This paper will focus on how to use JMP Pro to perform this analysis, as well as some potential applications of it. The paper is not intended to be a theoretical explanation of this method. Sample Data JMP Pro installs with a number of built in datasets. These should be available to anyone who is using JMP. To access these files, you go to the "Help" menu and select "Sample Data" | bootstrap, sample, data cleaning, proc hpsplit, confusion matrix | 10 | |
| 50 | JMP Spatial and Temporal Graphics: The Geocoded Moving Bubble Plot, Proc Geocode, and PowerPoint | George J. Hurley | Some of the primary accolades of JMP are the graphics features, which allow for easily created graphics with minimal coding. This paper will focus on how to create bubble plots in a map environment. These plots will include a temporal dimension, classification dimension, and a magnitude dimension, creating a 5-dimensional plot on a single surface. In addition to creating the plot, the pre-work of using PROC GEOCODE to generate map-type data and the post-work of saving the plot as a Flash movie and including it in PowerPoint will also be discussed |
bubble plot, proc step | 11 | |
| 51 | Making it Add Up; Diagnosing Merge Issues Using PROC SQL and Simple Arithmetic | Eric Schreiber | Data set merges are an everyday part of working in SAS. Often times these merges are simple and easy, especially while merging subsets from a singular source. Merging data sets from different sources can be a bit trickier, however. One missing letter can be the difference between a clean merge and accidentally removing valuable data. Picking through the non-matching data, character by character, can be a long and tedious process but there are ways to programmatically find these differences; one of which will be explained in this paper | group by, proc sql, proc step, character variable, create table, by group processing, numeric variable | 6 | |
| 52 | Methods for Interaction Detection in Predictive Modeling Using SAS | Douglas Thompson | Analysts typically consider combinations of variables ("interactions") when building a predictive model. If the target is Y and there is an interaction between two predictors X1 and X2, it means that the relationship between X1 and Y differs depending on the value of X2. SAS provides several easy-to-use methods to detect interactions. One method is to consider all possible n-way interactions using multiplicative interaction terms. For example, this can be done in the MODEL statement of PROC LOGISTIC using "|" between potentially interactive variables and "@n" to specify the number of variables that can be involved in an interaction (e.g., "@2" refers to 2-way interactions). Another approach that has been recommended is to use decision trees to identify interactions; SAS Enterprise Miner enables interaction detection using this method |
proc hpsplit, sample, logistic distribution, logistic regression, response variable, data cleaning, data mining, estimate, main effect, proc logistic, regression analysis, proc step, null hypothesis, proc calis, interaction effect | 13 | |
| 53 | Model Selection Using Recursive Macro - Enhancements to R2 Selection in PROC REG | Anca M Tilea, Philip L Francis III, Brenda W Gillespie, Rajiv Saran |
"Beauty is in the eye of the beholder", the saying goes. Similarly goes with model selection methods, "Model selection is in the eye [hand] of the statistician". There are as many methods as statisticians. Some are preferred, and some are rather tedious but lead to the "best" model. I recently had to perform model selection for a regression analysis, using the R2 statistic to get the BEST SUBSETS models. In the first step, starting with all possible covariates as potential candidates, I was going to use a PROC REG, with selection = RSQUARE. In the second step, I was patiently going to run through all the BEST SUBSETS models and flag the ones that had all covariates significant in the model (say, using α = 0.05). Thirdly, I would "compile" all the covariates that contributed to all-significant models, and re-run the PROC REG, since we know that starting with all possible covariates in the model may shrink the sample size significantly |
proc reg, feature selection, proc step, sample size, sample, proc sql, regression analysis, macro variable | 10 | |
| 54 | Modeling Complex Survey Data | Taylor Lewis | Using PROC REG or PROC LOGISTIC to model data emanating from a complex sample survey may lead one to erroneous inferences. Instead, the survey's design features should be incorporated by employing one of the PROCs prefixed by SURVEY, such as PROC SURVEYREG or PROC SURVEYLOGISTIC. After a brief discussion of the features constituting a "complex" survey, the syntax and output of these procedures is demonstrated. Many of the theoretical and conceptual subtleties to modeling data from a finite population as opposed to the more familiar simple random sample setting are noted. Examples are drawn from a real, publicly-available survey data set |
proc step, degrees of freedom, sample, regression analysis, proc surveyreg, proc reg, estimate, logistic regression, proc surveylogistic, random sampling, logistic distribution, likelihood function, proc calis, f-test, maximum likelihood estimation, response variable, simple linear regression, weighted least squares, odds ratio, predictor variable, binary variable, nominal variable, mse, proc logistic, covariance, class variable, f distribution, sample size, anova | 16 | |
| 55 | Models for Ordinal Response Data | Robin High | Ordinal responses are commonly collected in medical studies, yet the various types of analyses possible with these data with SAS procedures are not well known. Interpretation of ordinal logistic regression output requires consideration of how data are coded and the computing options or formats invoked. Although the cumulative and generalized logit models can easily be run with statistical procedures such as LOGISTIC, CATMOD, GENMOD, or GLIMMIX, these and several other models can also be developed through programming statements entered in the NLMIXED procedure. This talk provides a survey of the various models for ordinal data that NLMIXED can run such as the proportional odds and partial proportional odds models, adjacent logits, continuation ratio, and the stereotype model. Odds ratios and predicted values from these models also require programming statements that help to interpret the results and to test the goodness of fit |
odds ratio, logistic distribution, predictor variable, proc step, logistic regression, proc logistic, estimate, likelihood function, maximum likelihood estimation, response variable, regression analysis, data science, proc freq | 11 | |
| 56 | New Vs. Old - Under the Hood with Procs CONTENTS and COMPARE | Patricia Hettinger | There's SuperCE for comparing text files on the mainframe. Diff and sdff are there for the UNIX environment. But what about SAS data sets? A straight text comparison doesn't tell us nearly enough. This paper explores some options for the CONTENTS and the COMPARE procedures to make testing easier and the results more understandable. A brief primer on the physical nature of SAS data sets is also included | proc step, proc contents, character variable, numeric variable, proc compare, dataset, proc sql, merge statement | 12 | |
| 57 | ODS ExcelXP: Customizing Cell Pattern, Borders and Cell Indenting | Deepak G. Asrani | ODS Excelxp tagset offers the most flexible way to write SAS output to Microsoft EXCEL. Standard customizable options in ExcelXP tagset handle most of the EXCEL formatting very well. However, given the ever growing formatting features in EXCEL, there is always a need to go beyond what is available. This paper describes 'how-to' of some of the EXCEL formatting that requires modification of standard ExcelXP tagset. Specifically, this paper concentrates on customizing cell pattern, borders and cell indenting |
excel, ods excel | 13 | |
| 58 | Parsing Useful Data Out of Unusual Formats Using SAS | Andrew T. Kuligowski | Most "Introduction to Programming" courses will include a section on reading external data; the first assumption they make will be that the data are stored in some sort of documented and consistent format. Fortunately, in the "real world", a lot of the data we deal with has the same basic assumption of occurring in a documented, consistent format - a lot of it, but not all of it. This presentation will address some techniques that can be used when we are not dealing with cleanly formatted data, when the data we want is in a less -than-ideal format, perhaps intermingled or seemingly buried with unnecessary clutter. It will discuss the principles of using SAS to parse a file to extract useful data from a normally unusable source. This will be acc omplished by citing examples of unusual data sources and the SAS Code used to parse it Keywords: INDEX Function, INPUT Statement, Parser | input statement, named input, proc print, proc step, conditional do loop, index, sas log, sample, sas base, character functions, cpu time, end | 15 | |
| 59 | Performing response surface analysis using the SAS RSREG procedure | Zhiwu Li, Ying Liu |
Response surface methodology is a set of technology to present the cause and/or effect relationship between factor variables and response variable. The STANDARD procedure of response surface contains four steps: (a) design the experiment, (b) estimate the coefficient of response surface, do the lack-of fit test, and (d) investigate the region of interest. This paper described the RSREG procedure, which was designed for standard response surface analysis. Application of the RSREG procedure includes estimating the coefficient of response surface, lack of fit test and canonical structure analysis and predicting the new response values |
regression analysis, anova | 10 | |
| 60 | Preparing Your Computer for SAS Grid | Margaret A. Crevar, Tony Brown |
Have you ever wondered if you are really prepared to start the installation process of SAS software on your hardware? Perhaps you have read the System Requirements sheets for your SAS release and version, and the appropriate SAS platform administration guide for your operating system. Are there other crucial items to consider before the installation process that are targeted toward your company's expected performance of SAS? | dataset, data science | 10 | |
| 61 | Proficiency in JMP Visualization | Charles E. Shipp, Kirk Paul Lafler |
The premier tool for robust statistical graphics is JMP. It combines easy navigation, advanced algorithms, and graphical output you can trust. After a brief introduction of JMP navigation and resources within the JMP software, we take a tour of classical and modern advanced graphical capability of JMP. In the SAS Global Forum talk we introduce case studies that show the power of JMP using graphics and analysis. To conclude, we cover directions in training and JMP user exchange. Introduction Advanced technology is moving at an incredible pace. Version 10 of JMP came out in March and continues to be the gold standard for statistical graphical analysis. You can download JMP to try for 30 days, attend the SGF papers and Demo Floor booth for JMP - We present user insights. A lot of learning is via the www.JMP.com website, including podcasts and live webinars. Your authors have also enjoyed the JMP license to learn JMP basics and techniques, self-paced study for a year for a fee | 6 | ||
| 62 | Programmed Assisted Patient Narratives (PANs) with New SAS ODS and Graphical Approaches | Faye Yeh, Melvin S. Munsaka |
When addressing safety issues of concern, it is often necessary to provide narratives on specific patients. Indeed, the ICH-E3 guideline calls for provision of narratives of deaths, other serious adverse events, and certain other significant adverse events judged to be of special interest. To facilitate for this, it is useful to provide programmed assisted narratives (PANs) in the form of targeted patient profiles. PANs are also useful for internal safety review, safety monitoring, and data integrity checks. They are basically by-patient numeric and text listings organized by domain and include targeted data needed for narratives. They allow for consolidation of information about the important domains in one place without having to look at multiple listings for the subject's data | adverse events, serious adverse event, concomitant medications, study day, proc report, proc step, laboratory data, medical history | 12 | |
| 63 | Programming With CLASS: Keeping Your Options Open | Arthur L. Carpenter | Many SAS procedures utilize classification variables when they are processing the data. These variables control how the PROCEDURE FORMS groupings, summarizations, and analysis elements. For statistics procedures they are often used in the formation of the statistical model that is being analyzed. Classification variables may be explicitly specified with a CLASS statement, or they may be specified implicitly from their usage in the procedure. Because classification variables have such a heavy influence on the outcome of so many procedures, it is essential that the analyst have a good understanding of how classification variables are appli ed. Certainly there are a number of options (system and procedural) that affect how classification variables behave. While you may be aware of some of these options, a great many are new, and some of these new options and techniques are especially powerf ul. You really need to be open to learning how to program with CLASS |
proc step, missing value, proc freq, proc report, proc means, proc tabulate | 15 | |
| 64 | Project Automation and Tracking Using SAS | Rajesh Lal | During the life cycle of a project involving SAS programming, there are various tasks that are done manually, ranging from project setup to tracking of project status, and project wind-up, which are effort intensive and error prone. By automation, timely production and validation of standardized programs and outputs can be ensured. This paper describes a utility that is implemented in SAS, automates the project startup related activities, keeps track of validation status and documentation, version control status, SAS log check, program readability status, and performs project wind-up activities. It helps ensure that a project team always has an up-to-date picture of validation status during the life cycle of a project, is regulatory compliant for computer system validation and prepared for internal or external audits | data cleaning, proc step, sas log, excel, proc compare, dataset, macro variable, sysrc, sample, clinical trial, comment, macro definition | 12 | |
| 65 | Quick Results with SAS ODS Graphics Designer | Sanjay N. Matange | From the halls of academia to the walls of museums, data visualization is an art form with ever increasing prominence. But how do we take data visualization concepts from these expert designs and create real-world business solutions? Using methods from distinguished data visualization experts and SAS BI, this paper presents contemporary techniques to visualize your data and simplify over-complicated reports with ample examples for both novice and expert report writers. We explore the utility of simplicity in BI reports, design guidelines that capitalize on understandings of visual perception, and optimizations for report consumption on various display media. While these techniques are applicable across industries, we will focus our examples on illustrations using data fundamental to the education industry | bar chart, data visualization | 6 | |
| 66 | Random assignment of proxy event dates to unexposed individuals in observational studies: An automated technique using SAS | Raymond Harvey, Dana Drzayich Jankus, David Mosley |
Limited technical resources are available to automate the random assignment of proxy exposure dates to unexposed populations (i.e., controls) in matched retrospective cohort studies of health services. Using disease management programs as an example, exposed and unexposed individuals have distinct eligibility dates that identify the onset of risk for exposure to the intervention. In addition to this eligibility date, exposed individuals also have unique treatment start dates. The time difference between the eligibility date and the exposure date has a frequency distribution. Based on this distribution, each unexposed individual is randomly assigned to a time difference in order to create a proxy exposure date (eligibility date + time difference=proxy exposure date). The resulting distribution of the time difference among unexposed individuals will replicate the observed distribution of the time difference of the exposed | proc freq, frequency analysis, sample, binary variable, proc step, macro variable, proc sql | 8 | |
| 67 | Reading and Processing the Contents of a Directory | Ben Cochran | On occasions, a SAS user might find themselves in the position where they need to write a SAS program that can read and process files in a specific direct ory. In this case, the contents are a ll EXCEL spreadsheet files. All these files need to be read and converted into SAS datasets. This paper illustrates how to do this in a step by step process using the DATA STEP |
dataset, proc import, sas log, proc step, call execute | 6 | |
| 68 | Reproducible Research Two Ways: SASweave vs. StatRep | Shannon M. Morrison, Matthew T. Karafa |
Reproducible research is becoming increasingly important in biostatistics. It is essential to keep documentation of code used for data management and analyses along a copy of the results for future verification of research. It can also be especially helpful when working as part of a team of researchers, where projects are sometimes completed through a group effort or are handed off to co-workers due to various reasons (going on leave, leaving for a new position, retirement, etc.). In this paper, ease-of-use and results from SASweave and StatRep are compared using a publicly available SAS dataset. An example program, which contains basic data manipulation and simple, widely used SAS Procedures, is looked at using both packages. More challenging, in-house macros are also run using both tools, again to gauge ease-of-use and quality of results. Along the way, pros and cons of both tools are discussed in an attempt to find a better way to generate reproducible research | proc freq, flat file, feature engineering, output delivery system, proc print, proc step | 16 | |
| 69 | ROC Analysis for the Evaluation of Ethyl Glucuronide (EtG) as a Long-term Alcohol Biomarker in Hair and Fingernails: Evidence from a Large College Drinking Study | Daniel Fuhrmann, Michael Fendrich, Lisa Berger, Charles Plate, Doug Lewis, Joseph Jones |
Previous studies on human hair samples have shown mixed results regarding the diagnostic accuracy of the biomarker Ethyl glucuronide (EtG) in screening subjects for heavy alcohol use. In contrast, the use of human fingernails to detect EtG has only been explored in one study and the utility of fingernail EtG tests as a screening tool for individuals with problematic levels of alcohol consumption is currently unknown. This paper seeks to narrow that gap in the literature by contrasting the continuous biomarkers hair and fingernail EtG with a modified diagnostic criterion of "presence of alcohol abuse or dependence" that was constructed using the Mini International Neuropsychiatric Interview (M.I.N.I.) and DSM-IV criteria. The data for the present study were collected from a random sample of 606 undergraduate students from a large, public urban university | roc curve, sample, diagnostic accuracy, confidence interval, proc logistic, proc freq, logistic distribution, type ii error, type i error, proc calis, binomial distribution, proc step | 10 | |
| 70 | SAS code to compute a set of new variables from Time Series variables | Anani K. Hoegnifioh | This study is intended to assist analysts in generating maximum number of variables using simple arithmetic operators (addition, difference, minimum, maximum, counts, and division) and one or more historical data sets. These data sets might include monthly amount paid, daily number of received customer service calls, weekly worked hours on a project, or annual total sale of a specific product. During a statistical modeling process, analysts are often confronted with the task of computing derived variables using the existing available variables. The advantage of this methodology is that the new variables may be analytically useful than the original ones | proc sql, macro definition | 8 | |
| 71 | SAS Data Management Techniques: Cleaning and Transforming Data for Delivery of Analytic Data Sets | Christopher W. Schacherer | The analytic capabilities of SAS software are unparalleled. Similarly, the ability of the Output Delivery System to produce an endless array of creative, high-quality reporting solutions is the envy of many analysts using competing tools. But beneath all of the glitz and glitter is the dirty work of cleaning, managing, and transforming raw source data and reliably delivering analytic datasets that accurately reflect the processes being analyzed. Although a basic understanding of DATA STEP processing and PROC SQL is assumed, the present work provides examples of both basic data management techniques for profiling data as well as transformation techniques that are commonly utilized in the creation of analytic data products. Finally, examples of techniques for automating the generation and delivery of production-quality, enterprise-level datasets are provided |
missing value, proc step, input statement, proc sql, macro variable, character variable, user-defined format, data dictionary, substr function, raw data, data governance, proc format, date variable, data transformation, dataset, data cleaning, sysdate9, index, numeric variable, put statement, automatic variable, if-then-else, retain, proc freq, audit dataset, nominal variable, datetime variable, class variable, mdy, record count, sas programmer, macro facility, string functions, sas log, excel, datepart, proc printto | 38 | |
| 72 | SAS Enterprise Guide - Moving Beyond Your Initial Startup | Donald L Penix Jr., Roger D. Muller |
Once the programmer has grasped the initial concepts of using SAS Enterprise Guide (or SAS EG) including the Process Flow, the program file editor, and the handling of interactions with the interface (don't forget the F4 key!), there is a wide variety of additional functionality and features that are available. Some of these tools are more designed towards the individual programmer doing typical business analyst work, while other features have functionality extending out to assist the development and deployment of enterprisevwide applications | sas enterprise guide, excel | 18 | |
| 73 | SAS Enterprise Guide - Why and How the Programmer Should Adapt It Now | Roger D. Muller, Donald L Penix Jr. |
SAS Version 9 for the Microsoft Windows environment is an excellent tool both for developing SAS programs and for running them in production mode. SAS Enterprise Guide (EG) has matured into a developmental tool useful to the advanced SAS programmer. This paper examines the use of SAS EG on the PC in combination with a Unix server (or any other server) which: (1) also has SAS, (2) is the storage depot for production runs of the final code including logs and outputs, and (3) contains the raw data which is being summarized. Workflow will be shown both with and without the use of SAS/CONNECT which serves to minimize the flow of large amounts of data between machines and takes advantage of the most powerful and appropriate processor for the task at hand. Strong differentiation will be made on the advanced capabilities of exploring SAS data sets in EG with the Query Builder as opposed to the Viewtable facility in PC SAS |
dataset, sas enterprise guide, proc step, sas programmer, proc sql, sas programming, proc download, temporary dataset | 33 | |
| 74 | SAS Grid: Grid Enablement of SAS | Adam H. Diaz | This will be a short discussion of the critical decision making factors for the use of SAS Grid. Many factors including reliability, scalability and performance of an overall SAS infrastructure can have a large influence on the bottom line. The talk will deal with SAS Grid for SAS 9.3. The audience only needs a high level understanding of SAS for this talk | sas grid, sas management console, sas enterprise guide, data mining | 4 | |
| 75 | SAS Grid: Grid Scheduling Policy and Resource Allocation | Adam H. Diaz | This paper will discuss at a high level some of the options for tuning IBM Platform LSF which is the technology that powers SAS Grid. This will include some options for taking SAS Grid "beyond the defaults" with discussion about less commonly used scheduling options. The paper will deal with SAS Grid for SAS 9.3, Platform Suite for SAS 6.1 and Platform LSF 7.06. The audience should have a working knowledge of SAS infrastructure and a basic knowledge of Platform LSF | sas grid, sas management console, sas enterprise guide, data mining | 8 | |
| 76 | SAS Macro Tool to Find Source Data Sets Used in Programs | Prasanna Murugesan, Sushant Thakare |
Often, as a SAS programmer, we need to know the source data sets used in a program. Traditionally, this has been achieved by opening individual programs in an editor and manually search ing for source data set s used in the program. When the search involves multiple programs, it can be time co nsuming and prone to errors. This paper discusses an automated process using a SAS macro that searches through multiple SAS programs. The search results are stored in EXCEL format and consist of all the source data sets used in the SAS programs located in the search directory specified. Operating system: Windows XP SAS version used: SAS 9.2 Other tools used: Microsoft Office - EXCEL 2007 Skill level: Intermediate |
excel, raw data, error message, macro variable, sample | 11 | |
| 77 | Search Engine Using SAS | Pramod R | It is a world of search engines. We have Google, Yahoo and Bing as the major giants in the search engines. This paper attempts to have a SAS Enterprise Guide application which mimics the functionality of a search engine. The SAS procedure - PROC HTTP enables you to connect to the internet and access the web pages, APIs that are available on the internet servers. Google offers a free API for accessing its Custom Search engine which is accessed using the PROC HTTP. I first create a stored process in SAS Enterprise Guide 5.1 which has a text box to take in the search key words from the user. This is then captured in the prompt macro variable and passed on to the Google Custom Search API as a parameter along with the API key and other variables using the PROC HTTP or cURL/wget tool in UNIX. The Google webservice throws out the result after processing the API which is then displayed in the SAS result in the Enterprise Guide output window |
sas enterprise guide, proc http, proc step, macro variable | 5 | |
| 78 | Setting the Table ... of Contents: Using SAS ODS PDF Features to Organize, Link, and Navigate a Report | Betsy Enstrom | Today, very few reports are actually printed this corresponds to the growing dependence on electronic browsing, researching, and reporting. When documents are viewed electronically, they are often viewed out of order. This creates a need for well-organized reports that are easily navigated by means such as table of contents, hyperlinks, and bookmarks rather than relying on the standard page up and down. This is done with the clever combination and use of several ODS PDF options such as ANCHOR, PROCLABEL, PDFTOC combined with the COMPUTE block in the REPORT procedure. You can set the table of contents with hyperlinks and make use of the bookmark structure already in PDFs. This saves readers time and frustration while navigating your report |
proc report, ods pdf, sample, proc step, moving average, output delivery system, proc sgplot | 4 | |
| 79 | Simple Rules to Remember When Working with Indexes | Kirk Paul Lafler | SAS users are always interested in learning techniques related to improving data access. One way of improving information retrieval from a SAS data set or table is to create and use an index. An index consists of one or more columns that are used to uniquely identify each row within a table. Functioning as a SAS object containing the values in one or more columns in a table, an index may be defined as numeric, character, or a combination of both. This presentation will emphasize the rules that users should know when creating and using indexes to make information retrieval more efficient | proc sql, where statement, index, proc step, sas library, dataset | 5 | |
| 80 | So You Want to Install SAS? | Rafi Sheikh | Demonstrating the importance of preparing for a SAS install using SAS Office Analytics bundle as an example. There are many nuances, as well as requirements, that need to be addressed before an install can occur. The majority of these requirements and preparations are similar yet differ slightly according to the target install Operating System, whether it be for Windows or *Nix . Our discussion will focus on these three topics: 1. Pre-install considerations such as sizing, storage, and proper credentials 2. Third party requirements 3. Install steps and requirements, and post- install configuration In addition to discussing preparations for an install this paper also addresses potential issues and pitfalls to watch out for as well as best practices | data cleaning, logistic distribution | 9 | |
| 81 | Sometimes One Needs an Option with Unusual Dates | Arthur S. Tabachneck, Matthew J. Kastin, Xia Ke Shan |
Do you have date range analytical needs that you haven't been able to solve with the SAS interval and holiday functions? You have if those needs involved analyzing a date range that didn't start at the beginning, end or middle of a given month, i nvolved holidays other than the US and Canadian holidays that are incorporated in the holiday function, or if you had to analyze data related to virtually any annual sporting event. This paper shows how the intervalds option, introduced in SAS 9.2 phase 2, can be used to meet such needs and includes code for addressing fiscal years in Great Britain, Chinese, Hebrew and Islamic holidays, and for analyzing the various rounds of the NCAA March Madness basketball tournament | proc step, proc format, options statement | 15 | |
| 82 | Survival of the Milkman - How Modern Analytics is Helping an Old Fashioned Business Thrive | Bruce Bedford | The attainment of customer loyalty is not the end-goal, but it does strongly correlate with building a profitable business. In our current hyper-competitive consumer environment business survival often depends on earning the loyalty of customers. The value of analytics to improve customer loyalty is now broadly recognized. In consumer businesses with multiple channels to market, the requirements to earn customer loyalty in one channel may be substantially different than those of another. Examples of two such consumer marketing channels are (a) bricks and mortar retail store fronts and (b) home delivery services supported by web-based product selection and ordering. Though each channel appeals to different customer segments, common to both is that customer loyalty is earned when the right mix of product selection, quality and service is reliably delivered at a competitive price | covariance, proc mixed, proc step, covariance structure, confidence level, longitudinal data, survival analysis, class variable, customer retention, repeated measures, wilcoxon test, restricted maximum likelihood, maximum likelihood estimation | 13 | |
| 83 | Swimming with Sharks: Using Formats with Summary Data | Tom Bugg | Creating summary tables for later use can be done efficiently using formats to bucket continuous variables, without the added time and disk space associated with an extra step of creating grouping, or "bucket" variables. However, if we create datasets from these procedures for later use, we must use extreme caution. Even though there may be risk associated with creating and using summary data in this manner - it can be very worthwhile | proc step, proc freq, interval variable, character variable, proc means, cpu time | 8 | |
| 84 | Taking Full Advantage of sasCommunity.org: Your SAS Site | Arthur L. Carpenter, Donald J. Henderson |
sasCommunity.org is becoming a hub or clearinghouse for technical information related to the use of SAS software. The site is managed and run by SAS users for SAS users. It is free and open to all SAS users to browse. Any SAS user can contribute to the site - just create an ID in order to contribute new content or to expand upon existing content. sasCommunity.org is built on top of the same software as Wikipedia. So if you know how to use Wikipedia, you have a head start on using sasCommunity.org. This workshop will enable attendees to: Learn how to make use of this site Learn how to navigate the information contained on the site. Learn how to discover the wealth of its hidden treasures. Find out that there are a number of ways you can contribute, and discover how you too can quickly make a difference in this world-wide community of SAS users. Learn how even small contributions can enhance the site for everyone | macro function, macro facility | 10 | |
| 85 | Testing the Bayesian Suite of SAS Procedures using Ecological Data and Comparing Simulations with WinBUGS | Matthew Russell | There has been an increase in use in recent years of Bayesian modeling procedures in the fields of ecology and forestry. This paper uses a dataset of snags (standing dead trees) compiled across a range of forest types to test the PHREG, GENMOD, and MCMC procedures in SAS which perform Bayesian analyses. Snags are an important component of ecological processes as they provide wildlife habitat, contribute to biodiversity, and provide a mix of forest structure. Strengths of the Bayesian procedures in SAS, such as the ability to simulate large datasets quickly, are highlighted using some example snag data. Comparisons of model output and processing time using the MCMC procedure are made with the popular WinBUGS program run using R statistical software |
proc reg, proc step, regression analysis, bayesian statistics, multiple regression | 8 | |
| 86 | The Armchair Quarterback: Writing SAS Code for the Perfect Pivot (Table, That Is) | Peter W. Eberhardt | "Can I have that in EXCEL?" This is a request that makes many of us shudder. Now your boss has discovered EXCEL pivot tables. Unfortunately, he has not discovered how to make them. So you get to extract the data, massage the data, put the data into EXCEL, and then spend hours rebuilding pivot tables every time the corporate data are refreshed. In this workshop, you learn to be the armchair quarterback and build pivot tables without leaving the comfort of your SAS environment. In this workshop, you learn the basics of EXCEL pivot tables and, through a series of exercises, you learn how to augment basic pivot tables first in EXCEL, and then using SAS. No prior knowledge of EXCEL pivot tables is required |
excel, dataset, proc step, proc tabulate, output delivery system, proc means, xls, raw data, macro variable | 36 | |
| 87 | The Avengers Assemble: Forecasting and Business Intelligence Team Up to Ease Daily Revenue Management | Patrick M. Kelly, Betsy Enstrom |
An egregious amount of process automation and business intelligence is needed in forecasting and revenue management. With the scale of large data and forecasting needs constantly increasing, combining insightful data manipulations, business intelligence techniques, and the illustrious SAS High Performance Forecasting is a necessity. They provide an innovative process for both aptitude and forecasting in revenue management as it pertains to the hospitality industry. An experienced SAS programmer with access to the HPF procedure will find this paper useful to illustrate how to build an insightful and sophisticated daily strategy report complete with forecasts and well organized, pertinent daily metrics |
macro variable, business intelligence, revenue management, datepart, proc report, proc step | 9 | |
| 88 | The BEST. Message in the SASLOG | Andrew T. Kuligowski | Your SAS routine has completed. It is apparently a success - no bad return codes, no ERROR or WARNING messages in the SASLOG, and a nice thick report filled with what appear to be valid results. Then, you notice something at the end of the SAS LOG that warns you that, somewhere in your output, one or more numbers are NOT being printed with the formats you requested. NOTE: At least one W.D format was too small for the number to be printed. The decimal may be shifted by the "BEST" format. This presentation will review an ad hoc routine that can be used to quickly identify numbers that are too large for your selected format -more quickly and effectively than attempting to eyeball a massive report! |
index, data cleaning, e., put statement | 4 | |
| 89 | The Good, The Bad, and The Ugly | Toby Dunn, Kirk Paul Lafler |
The SAS System has all the tools users need to read data from a variety of external sources. This has been, perhaps, one of the most important and powerful features since its introduction in the mid-1970s. The cornerstone of this power begins with the INFILE and INPUT statements, the use of a single- and double-trailing @ sign, and the ability to read data using a predictable form or pattern. This paper will provide insights into the INFILE statement, the various styles of INPUT statements, and provide numerous examples of how data can be read into SAS with the DATA STEP |
input statement, raw data, infile statement, dataset, missing value, sas log, trailing @ | 12 | |
| 90 | The Health Care Information Factory: An Overview of the SAS Enterprise Business Intelligence Environment at the Minnesota Department of Human Services | Mike Baldwin | In these times of tight budgets and rapid increases in health care costs, agencies who administer health care programs are under increasing pressure to monitor, analyze and report on health care data. The Minnesota Department of Human Services (MN DHS), which oversees the state's Medicaid program, is answerable in this respect to many different stake holders, including federal and state authorities. Turning volumes of raw health care data into salient, actionable information can be a formidable task; the SAS Enterprise Business Intelligence Platform makes this task easier by providing an integrated solution for both data analysis and information dissemination. This paper offers a brief overview of how MN DHS uses the SAS EBI Platform to address health care reporting and analysis needs | data analyst, business intelligence, excel, sas enterprise guide | 11 | |
| 91 | The SAS Data Step: Where Your Input Matters | Peter W. Eberhardt | Before the warehouse is stocked, before the stats are computed and the reports run, before all the fun things we do with SAS can be done, the data need to be read into SAS. A simple statement, INPUT, and its close cousins FILENAME and INFILE, do a lot. This paper will show you how to define your input file and how to read through it, whether you have a simple flat file or a more complex formatted file |
input statement, infile statement, raw data, sample, date variable, character variable, data step, sas log, cpu time, delimited file, length statement, dataset | 18 | |
| 92 | The SAS Hash Object: It's Time To .find() Your Way Around | Peter W. Eberhardt | "This is the way I have always done it and it works fine for me." Have you heard yourself or others say this when someone suggests a new technique to help solve a problem? Most of us have a set of tricks and techniques from which we draw when starting a new project. Over time we might overlook newer techniques because our old toolkit works just fine. Sometimes we actively avoid new techniques because our initial foray leaves us daunted by the steep learning curve to mastery. For me, the PRX functions and the SAS hash object fell into this category. In this workshop, we address possible objections to learning to use the SAS hash object. We start with the fundamentals of the setting up the hash object and work through a variety of practical examples to help you master this powerful technique | hash table, dataset, proc sql, hash iterator, out=, lookup, conditional do loop, order by, sysrc, proc step, sample | 17 | |
| 93 | The SAS Programmer's Guide to XML and Web Services | Christopher W. Schacherer | Because of XML's growing role in data interchange, it is increasingly important for SAS programmers to become familiar with SAS technologies and techniques for creating XML output, importing data from XML files, and interacting with web services-which commonly use XML file structures for transmission of data requests and responses. The current work provides detailed examples of techniques you can use to integrate these data into your SAS solutions using XML Mapper, the XML LIBNAME engine, Output Delivery System, the FILENAME statement, and new SOAP functions available beginning in SAS 9.3 |
web service, libname engine, dataset, proc step, macro variable, proc print, insurance claims, proc template, sas library, output delivery system, sas programmer, filename statement, libname statement, ods html, missing value, proc sql, excel, macro quoting function | 32 | |
| 94 | Things Dr Johnson Did Not Tell Me: An Introduction to SAS Dictionary Tables | Peter W. Eberhardt | SAS maintains a wealth of information about the active SAS session, including information on libraries, tables, files and system options; this information is contained in the Dictionary Tables. Understanding and using these tables will help you build interactive and dynamic applications. Unfortunately, Dictionary Tables are often considered an 'Advanced' topic to SAS programmers. This paper will help novice and intermediate SAS programmers get started with their mastery of the Dictionary tables. Ever needed a list of the tables (datasets) in a library? How about the columns (variables) in a table? Need to make sure you reset any titles after you run a report? Got some pesky warning messages in your SAS log you would like to clean up? Sure, you can look them up in the table and column properties in the explorer window. Or you can run a PROC CONTENTS and check the listing. And of course you can ignore the warnings and errors in the SAS log since they 'almost always appear' |
dictionary tables, proc sql, proc step, sas log, data step, sas programmer, sashelp, sas library | 15 | |
| 95 | Tips and Strategies for Mixed Modeling with SAS/STAT Procedures | Kathleen Kiernan, Jill Tao, Phil Gibbs |
Inherently, mixed modeling with SAS/STAT procedures, such as GLIMMIX, MIXED, and NLMIXED is computationally intensive. Therefore, considerable memory and CPU time can be required. The default algorithms in these procedures might fail to converge for some data sets and models. This paper provides recommendations for circumventing memory problems and reducing execution times for your mixed modeling analyses. This paper also shows how the new HPMIXED procedure can be beneficial for certain situations, as with large sparse mixed models. Lastly, the discussion focuses on the best way to interpret and address common notes, warnings, and error messages that can occur with the estimation of mixed models in SAS software |
proc step, proc mixed, proc glimmix, covariance, likelihood function, error message, estimate, covariance structure, sas log, random intercept, numeric variable, standard deviation, repeated measures, degrees of freedom, proc nlmixed, response variable, binomial distribution | 18 | |
| 96 | Top Ten SAS Performance Tuning Techniques | Kirk Paul Lafler | The Base-SAS software provides users with many choices for accessing, manipulating, analyzing, processing and producing quality 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 and coding techniques for SAS users to apply in their applications. Attendees learn DATA and PROC STEP language statements and options that will 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, where statement, pdv, options statement, proc step, if-then-else | 7 | |
| 97 | Top Ten SAS Sites for Programmers: A Review | Kirk Paul Lafler, Charles E. Shipp, Becky Harmon |
What are the top ten SAS sites for users, beginning with sas.com and jmp.com. We then expand to sasCommunity.org, support.sas.com, and six other popular sites that assist you in training and programming. If you use Google or another search engine to search for content, you will get over a million hits. In this presentation we narrow the list down to ten | bar chart, sas programmer | 5 | |
| 98 | Type, Point and Click - A Practical Guide to SAS Enterprise Guide Prompts | Patricia Hettinger | Your SAS Enterprise Guide project is set up. Processes have been created, linking code in the desired order. Now if only you didn't have to keep changing your code every time your input file name changed or your date range or …. This paper gives an overview of the prompts available in SAS Enterprise 4.3 and ways to automate your project. We will also touch on the general nature of macro variables, and the various quoting and unquoting functions | sas enterprise guide, macro variable | 12 | |
| 99 | Understanding SAS Index | Pramod R | Ever imagined how it would be if the dictionary was not alphabetically arranged? Ever imagined how it would be to search a book in a library if it was not ordered by the topics? Ever tried searching a person's house in a locality without knowing the street number? All these are the examples of real life indexes which we have used/ come across. SAS allows us to index the datasets which will help us retrieve and manipulate the data easily. Typical usage of Indexes would be while joining two tables based on one or more key variables, querying a dataset based on a filter and doing some of the by-group processing. In this paper, I have tried to introduce the concept of Indexing in SAS and have also tried to explain the basic working model of an index (b-tree) with a simple example. This paper also covers the basic syntax, and various methods to create and manipulate indexes in SAS | index, proc step, proc sql, dataset | 6 | |
| 100 | Use of SAS to determine broiler chick feed color preference in correlation with performance under different housing light colors | Nichole Graham | Rapid changes in lighting types designed to reduce energy usage have increased the options avaliable for animal producers. Recent research indicates a positive correlation in broiler growth and welfare regarding light preference. Consequently, results of recent findings have led to the investigation of feed and light color on overall performance and welfare. Specifically, fifty newly hatched Cobb 500 broiler chicks were housed in pens illuminated with red, blue, green, yellow, or a control white light. Under each light, broilers were offered red, blue, green, yellow, and a control brown colored feed. Feed was colored using commercial food coloring. Chick color preference was recorded after at least two attempts to obtain feed crumbs; an undecided was recorded for chicks that took longer than 5 minutes to try feed | proc freq, proc logistic | 4 | |
| 101 | Using a Picture Format to Create Visit Windows | Richann J. Watson | Creating visit windows is sometimes required for analysis of data. We need to make sure that we get the visit/day in the proper window so that the data can be analyzed properly. However, defining these visit windows can be quite cumbersome especially if they have to be defined in numerous programs. This task can be made easier by applying a picture format, which can save a lot of time and coding. A format is easier to maintain than a bunch of individual programs. If a change to the algorithm is required, the format can be updated instead of updating all of the individual programs containing the visit definition code | if-then-else, character constant | 4 | |
| 102 | Using Base SAS and SAS Enterprise Miner to Develop Customer Retention Modeling | Rex Pruitt | In this paper I will describe how to develop the components necessary using SAS tools and business analytics to effectively identify a "Good Customer". The resulting "Good Customer Score" is intended for use in modeling exercises designed to help improve the cost effectiveness and development of Acquisition, Rewards, Retention, and Recovery efforts at | sas base, proc step, data mining, proc tabulate, customer retention, correlation, proc print, ks statistic, proc surveyselect, excel, sas programming, sample | 17 | |
| 103 | Using Enterprise Guide Effectively | Thomas A. Miron | Enterprise Guide is not just a fancy program editor! EG offers a whole new window onto the power of SAS software. Enterprise Guide requires a different perspective on system design than the use of straight SAS coding. This paper discusses use of the Enterprise Guide environment and features of Enterprise Guide that can make your applications more user friendly and maintainable. We will look at client-server architecture issues, visual v. text layout, and EG best practices | sas enterprise guide, sas enterprise guide project, proc print, proc step, txt, sas library, dataset | 10 | |
| 104 | Using INFILE and INPUT Statements to Introduce External Data into SAS | Andrew T. Kuligowski | The SAS System has numerous capabilities to store, analyze, report, and present data. However, those features are useless unless that data is stored in, or can be accessed by, the SAS System. This presentation is designed to rev iew the INFILE and INPUT statements. It has been set up as a series of examples, each building on the other, rather than a mere recitation of the options as documented in the manual. These examples will include various data sources, including DATALINES, sequential files, and CSV files. GETTING STARTED - BASIC INFILE / INPUT with DATALINES In order to bring data from an external source into your SAS session, the user must provide the answers to a couple of simple questions: Where is the data, and what d oes it look like? The INFILE statement will define the data source and provide a few tidbits of information regarding its form, while the INPUT statement will define the format of the data to be processed |
input statement, infile statement, excel, pointer control, proc print, proc step, filename statement, length statement, list input, variable, character variable, missing value, proc format, run, out= | 18 | |
| 105 | Using SAS ODS Graphics | Chuck Kincaid | SAS has a new set of graphics procedures called ODS Graphics. They are built upon the Graphics Template Language (GTL) in order to make the powerful GTL easily available to the user. SGPLOT and SGPANEL are two of the procedures that can be used to produce powerful graphics that used to require a lot of work. This upgrade is similar to the ease-of-use upgrade in output manipulation when ODS was first published. This presen tation will teach the audience how to use PROC SGPLOT and SGPANEL and the new capabilities they provide beyond the standard plot. By using these new capabilities, any user can tell the story better |
proc step, series plot, proc sgplot, numeric variable, proc sgpanel | 18 | |
| 106 | Using SAS Software to Aid in the ICD-10 Code Set Implementation | Alexander Pakalniskis, Nilesh Bharadwaj, Caren Jones, Alein T. Chun |
Created by the Data Quality Management Unit (DQMU) of the Cedars-Sinai Medical Center (CSMC) Resource and Outcomes Management (ROM) Department, the ICD-9 to ICD-10 Conversion Utilities (IICU) support the controlled implementation of the Department of Health and Human Services (HHS) mandate to replace ICD-9-CM/PCS codes with ICD-10-CM/PCS codes. Designed to identify all programs and owners affected by this impending data change, the tools help ensure ongoing report quality, reduce the time and effort required for change implementation, and provide transparency for project management | relational database, proc sql | 12 | |
| 107 | Using SAS to Audit Programming Code Versioning | Rex Pruitt | The solution presented will walk through the problem encountered with programming code versioning and how it was solved with an automated Base SAS programming solution. Some featured techniques include SYSTASK Commands, Macro Processing, and Text Mining using SAS Functions | proc sql, stored procedure | 7 | |
| 108 | Using SAS to Build Web Pages Linking Photographs with Google Maps | Arthur S. Tabachneck, William Klein |
Many of us at least occasionally take a picture with either a digital camera or cell phone. And some of us, be it for work, a SAS user group, or for personal use, end up posting some of our pictures on a web page. JPG files can contain a lot more information than just the pictures one sees, including such data as when and where pictures were taken, titles, picture heights and widths, and many of our camera's settings. This paper includes all of the base SAS code needed to create web pages that show one's pictures, in date taken order, with links that, when clicked, will cause Google Earth to show you to where the pictures were taken | macro variable, proc format | 13 | |
| 109 | Using SAS to Determine the Sample Size on the Cohen's Positive Kappa Coefficient Problem | Yubo Gao | The determination of sample size is a very important early step when conducting study. This paper considers the Cohen's Kappa coefficient _based sample size determination in epidemiology. Historically, the Kappa coefficient is used to express the degree of agreement between two raters when the same two raters rate each of a sample of n subjects independently, with the ratings being on a categorical scale consisting of 2 or more categories. In the context of epidemiology, the Kappa coefficient is similarly applied to indicate the degree of the agreement between two diagnostic tests for detecting a certain disease when neither of the two tests can be regarded as a gold standard | sample, sample size, cohen's kappa | 4 | |
| 110 | Van Gogh Your Data: Data Visualization Methods with SAS Business Intelligence | Natalie Parsons, Scott W. McQuiggan |
From the halls of academia to the walls of museums, data visualization is an art form with ever increasing prominence. But how do we take data visualization concepts from these expert designs and create real-world business solutions? Using methods from distinguished data visualization experts and SAS BI, this paper presents contemporary techniques to visualize your data and simplify over-complicated reports with ample examples for both novice and expert report writers. We explore the utility of simplicity in BI reports, design guidelines that capitalize on understandings of visual perception, and optimizations for report consumption on various display media. While these techniques are applicable across industries, we will focus our examples on illustrations using data fundamental to the education industry | bar chart, data visualization | 6 | |
| 111 | What's Hot, What's Not - Skills for SAS Professionals | Kirk Paul Lafler, Charles E. Shipp |
As a new generation of SAS user emerges, current and prior generations of users have an extensive array of procedures, programming tools, approaches and techniques to choose from. This presentation identifies and explores the areas that are hot and not-so-hot in the world of the professional SAS user. Topics include Enterprise Guide, PROC SQL, PROC REPORT, PROC FORMAT, Macro Language, ODS, DATA STEP programming techniques such as arrays and hashing, business intelligence, sasCommunity.org, JMP, SAS/GRAPH, SAS/STAT, and |
sas 9, sas base, proc step | 6 | |
| 112 | Why and How To Use SAS Macro Language: Easy Ways To Get More Value and Power from Your SAS Software Tools | LeRoy Bessler | SAS Macro Language and macro variables (a.k.a. symbolic variables) let your SAS program do things for you that would ordinarily require you to make manual changes to your code every time you run it (e.g., changing title text, changing data filters, graph controls, etc.) Whenever you change your code, not only does it take extra time, but also there is a risk of inadvertently introducing an error. SAS Macro Language makes code situation-adaptive. It can adapt to changes in data, run date, data date range, etc. It is an essential tool for Software-Intelligent Application Development, which delivers Reliability, Reusability, Maintainability, Extendability, and Flexibility. Strong Smart Systems are an important asset for production programs that are run by automatic scheduling and must run hands-off every time. Code using macro language also saves time and reduces error risk for ad hoc work | macro variable, macro facility, sas log, proc step, proc sql, macro definition, macro function, macro call, sas base, call symput, symbol table, macro put, ods html, dataset, proc print, proc univariate, cpu time, macro loop | 24 | |
| 113 | Why the Bell Tolls 108 times? Stepping Through Time with SAS | Peter W. Eberhardt | For many SAS programmers, new or even advanced, the use of SAS date and DATETIME variables is often very confusing. This paper addresses the problems that the most of programmers have. It starts by looking at the basic underlying difference between the data representation and the visual representation of date, DATETIME and time variables. From there it discusses how to change data representations into visual representations through the use of SAS formats. Since date manipulation is core to many business process, paper also discusses date arithmetic first by demonstrating the use of simple arithmetic to increment dates; then by moving on to SAS functions which create, extract and manipulate SAS date and DATETIME variables. Finally, paper demonstrates the use of the %sysfunc macro function and the %LET statement to present date, DATETIME and time variables. This paper is introductory and focuses on new SAS programmers, however, some advanced topics also covered |
sysdate9, date variable, datetime variable, time variable, macro variable, datetime, sas programmer, sas function, proc sql, character variable, relational database, time, format statement, macro function | 15 | |
| 114 | You Could Be a SAS Nerd If . . . | Kirk Paul Lafler | Are you a SAS nerd? Wiktionary, a wiki-based Open Content dictionary, defines "nerd" as a person who has good technical or scientific skills, but is generally introspective or introverted. Another definition is a person who is intelligent but socially and physically awkward. Obviously there are other definitions for "nerd", many of which are associated with derogatory terms or stereotypes. This presentation focuses not on the negative descriptions associated with being a nerd, but on the many positive traits SAS users possess. So let's see how nerdy you actually are using the mostly unscientific, but fun, "Nerd" detector | sas programmer, sas log | 4 |
This site serves as a convenient hosting location and does not work as a publisher. All copyrights belong to their respective owners.
The information on this site is provided for general reference purposes only. Whilst every effort is made to ensure that the site is up to date and accurate, no warrant, nor any responsibility or liability for, the accuracy or completeness of the content or for any loss which may arise from reliance on information contained in this site is provided. Links to other sites are provided for your convenience but no responsibility or liability for the content of those sites or of any external site which links to this site is accepted. References to any specific commercial product, process, service, or corporation are also for information only, and do not constitute endorsement, recommendation or favoring.
SAS is a registered trademark of SAS Institute Inc. SAS, Statistical Analysis System, and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. ® indicates USA registration.
HOME
QUICK SEARCH
AUTHORS
KEYWORDS
HELP
BUGS