HOME QUICK SEARCH AUTHORS KEYWORDS HELP BUGS

MWSUG 2010 Papers - Index

134 papers. Source: MWSUG (Midwest SAS Users Group) conference proceedings.

# Title
×
Authors
×
Abstract
×
Keywords
×
Extras Pages
1 33 Tricks with PROC REPORT: A Quick Introduction to the Powerful REPORT Procedure Ben Cochran When the REPORT Procedure was first introduced by SAS with the advent of Version 6, most of the SAS world was mainframe users. This new procedure brought with it a great deal of power and flexibility that added much strength to SAS' arsenal of report generating procedures. It h ad powerful formatting, summarizing, and analysis capabi lities that made it easier to create many different kinds of re ports from a simple listing to a very complex report. However, some critics have stated that, while it has awesome features, it looks like a mainframe report. That was true until SAS released the Output Delivery System (ODS) experimentally in Version 7, and in production mode i n Version 8. If the REPORT procedure was a cake, then OD S delivers the icing to generate truly beautiful report s. This paper offers a quick overview of the types of reports t hat can be generated with PROC REPORT, and how to add some of the ODS features to deliver stunning reports proc report, proc step, output delivery system 13
2 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 for 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 function, sas programmer 16
3 A Different View of PROC SORT Steven J. First proc sort, proc step 26
4 A DOE "Real Life" Example: Solid Phase Optimization of a Diagnostic Immunoassay Steve Figard Experimental design as used for immunoassay development in the in vitro diagnostics industry requires a thorough understanding of all aspects of a given product's composition and manufacturing. For immunoassays, a multiplicity of interactions between reagent components, sample composition, and process parameters make characterization of the process so complex and time consuming that the advantages of experimental design, or DOE, become immediately apparent. It is the strength of DOE to use statistics to define and/or optimize processes with fewer resources than standard experimental approaches. This paper will first present a brief background on immunoassays to provide a context for the example that follows. The specific problem illustrates the use of DOE in a manufacturing problem that includes optimization of that process sample, clinical significance 11
5 A Hands-on Tour Inside the World of PROC SQL Kirk Paul Lafler Structured Query Language (PROC SQL) is a database language found in the Base SAS software. It enables access to data stored in SAS data sets or tables using a powerful assortment of statements, clauses, options, functions, and other language features. This paper presents core concepts of this powerful language as well as its many applications and is intended for SAS users who desire an overview of the capabilities of this exciting procedure. Attendees will explore the construction of simple SQL queries, ordering and grouping data, the application of case logic for data reclassification, the creation and use of views, and the construction of simple inner and outer joins proc sql, proc step, where statement, dictionary tables, select, inner join, macro variable, sas library, sas log, macro facility, view, create table, group by, macro call, order by, right join 17
6 A New Look at An Old Friend: Getting Reacquainted with Arrays Joe Novotny,
Paul Kollner
Though SAS DATA STEP Arrays have been around for a long time, they are one of the more elusive constructs in the SAS System. Even many experienced SAS programmers are less than proficient with these powerful SAS programming tools. This paper springs out of this very scenario and attempts to remedy the situation for one of the authors. We start at the beginning, defining what Arrays are. We discuss Array characteristics and uses at an introductory level, and then proceed on to more advanced topics. The paper is meant to serve as a solid introduction for those uninitiated in Array processing as well as a review and deeper dive into some more intricate topics for more advanced SAS programmers. We review and provide examples of Array definition and processing for the following: 1) one and two dimensional Arrays, 2) explicit vs. implicit Arrays, 3) _temporary_ Arrays, 4) iterative processing with do- loops and indexing and 5) comparison of Array processing with SAS DATA STEP hash objects array, interest rate, data step, numeric variable, proc step, dataset, character variable, hash table, sas base, sas programmer, proc means 13
7 A SAS Primer for Health Care Data Analysts Christopher W. Schacherer,
Brent D. Westra
As in other fields, analysts in healthcare come to their vocation from a variety of paths- statisticians with formal training in predictive modeling, IT professionals with experience in programming and report writing, billing and claims professionals who possess a wealth of subject-matter expertise, and accounting and finance professionals who understand the methodologies for valid reporting of financial results. Analytics and Business Intelligence groups within healthcare organizations are strengthened by this diversity of expertise, but individuals coming into a business intelligence or healthcare analytics department from these other areas often struggle to acquire the skills that will help them leverage their particular backgrounds against the analytic challenges they face. The current work focuses on helping these analysts acquire the SAS programming skills necessary to turn raw data into analysis-ready data sets proc step, proc sql, proc format, proc transpose, proc compare, where statement, sas function, libname statement, numeric variable, proc freq, by group processing, dataset, sas output, raw data, sql server, user-defined format, proc means, proc univariate, options statement, oracle, sas library, index, missing value, proc sort, if-then-else, sql pass-through, format statement, subsetting if, sas programming, character variable, standard deviation, macro definition 24
8 Ad Hoc and Statistical Model Visualization Using JMP, SAS, and Excel Jon T. Weisz Generally speaking, models are abstractions of real-life systems used to facilitate understanding and to aid in decision making. However, models mean different things in different disciplines. Engineers, financial analysts and statisticians all employ modeling, as a core tool, but each discipline would define models differently. Even with the differences in how models are defined and developed, all disciplines need ways to communicate models, perform what-if analyses and simulations. This paper will highlight the use of the different model profilers in JMP to visualize and perform what-if analysis and Monte Carlo simulation for models defined using SAS/STAT, Microsoft EXCEL and engineering tools monte carlo, excel, proc nlin, sensitivity analysis 10
9 Adequacy and Information Values: Two Tools for Ranking Predictors in Generalized Linear Models Douglas Thompson Which predictors are most strongly associated with the predicted outcome? In business settings, this is one of the first questions that clients typically ask about predictive models. To answer this question, it is necessary to rank the predictors by some measure of strength of association with the predicted outcome. Adequacy and information values were the two ranking methods recommended in an earlier MWSUG paper (Thompson, 2009). This paper expands on the earlier one by presenting SAS macros and code that serve three purposes: 1) they rank predictors by Adequacy and information values in a variety of generalized linear models (logistic, poisson, etc.); 2) they rank predictors on Adequacy, taking into account continuous variables that are non-linearly associated with the outcome; and 3) they present a possible strategy for taking interactions into account in the rankings main effect, regression analysis, logistic regression, logistic distribution, binomial distribution, proc step, proc genmod, interval variable, likelihood function, negative binomial distribution, negative binomial regression, poisson distribution, missing value, poisson regression, proc rank, sample, interaction effect, multiple regression, macro variable, response variable, data mining 21
10 An Introduction to Multiple Imputation of Complex Sample Data Using SAS 9.2 Patricia A. Berglund This paper presents practical guidance on the proper use of multiple imputation tools in SAS 9.2 and the subsequent analysis of multiple imputed data sets from a complex sample survey data set. Use of the MI and MIANALYZE procedures and SAS survey procedures for typical descriptive and inferential analyses is demonstrated. The analytic techniques presented can be used on any operating system and are intended for an intermediate level audience imputation, missing value, proc step, proc mi, proc mianalyze, sample, nominal variable, multiple imputation, proc calis, regression analysis, logistic regression, interval variable, proc surveyreg, logistic distribution, proc surveylogistic, proc surveymeans, estimate, class variable 12
11 An Introduction to SQL in SAS Peter J. Lund SQL is one of the many languages built into the SAS System. Using PROC SQL, the SAS user has access to a powerful data manipulation and query tool. Topics covered will include selecting, subsetting, sorting and grouping data--all without use of DATA STEP code or any procedures other than PROC SQL group by, proc sql, where statement, order by, select, create table, proc step, dataset, missing value, proc sort, sas output, if-then-else 21
12 Application Development with SAS Stored Processes John Xu sas enterprise guide, excel, macro definition, sas output, sas programmer, data science, macro variable 38
13 Application of DICTIONARY Tables and SASHELP Views Kirk Paul Lafler DICTIONARY tables and SASHELP views provide useful information about your operating environment, database objects (tables, indexes, views), and SAS session. At any time during a SAS session, information about system options, librefs, table names, column nam es and attributes, formats, indexes, and more can be accessed. This presentation illustrates the positives and negatives with traditional approaches to capturing metadata, explores the content-filled DICTIONARY tables and SASHELP views, and the application of DICTIONARY tables and SASHELP views for producing system management requirements including variable cross -reference listings, database object listings, table (data set) row (observation) counts, column and index analysis listings dictionary tables, proc sql, proc step, options statement, select 7
14 Applied Revolutionary BI Charles D. Kincaid sas enterprise guide, filename statement, business intelligence, excel, data science 16
15 Base SAS Methods for Building Dimensional Data Models Christopher W. Schacherer As the volume of data available from operational systems continues to grow, dimensional models are becoming an increasingly important analytic tool for enterprise reporting and analysis. Although there are a number of software packages specifically designed for transforming data from operational systems into dimensional models, many smaller organizations find themselves unable to make the significant investment in new technology and personnel necessary to utilize these tools. Many of these same organizations, however, do use Base SAS as an analytic tool. Especially for these organizations (but also for larger organizations with more sophisticated business intelligence systems), the current work provides an example of using PROC SQL, SAS/ACCESS, and SAS hash objects to extract, transform, and load data from an operational system into a dimensional data model hash table, proc sql, fact table, surrogate key, proc step, foreign key, dimension table, key, proc format, sas base, raw data, staging area, business intelligence, sas library, dataset, missing value 16
16 Best Practices and Advanced Tips and Techniques for SAS Macro Programming Gerry Bonin SAS macros offer a powerful way to extend the SAS language and create reusable SAS code that is a custom fit for you. This paper shows you how to write macros for a production environment and includes some advanced tips and techniques. It includes templates for starting a new macro and for documenting macros, as well as some of the author's favorite coding practices macro variable, macro definition, stored macro, macro call, sas log, macro put, elapsed time, production run, macro debugging, %macro parameters 9
17 Better Decision Making with SAS Enterprise Business Intelligence and Microsoft Outlook James Tetterton The SAS Add-In for Microsoft Office has new Microsoft Outlook integration capabilities that enable better decision- making, increase productivity and decrease cost by taking full advantage of SAS Enterprise Business Intelligence through the Microsoft Outlook environment. This integration of SAS Business Intelligence and Microsoft Outlook increases informed decision making by giving users intuitive access to reports, stored processes, and dashboards. These capabilities reduce the user learning curve and improve productivity, thereby increasing the return on investment of business intelligence implementations. Users obtain contextual information from SAS Business Intelligence while performing daily tasks in Microsoft Outlook. The SAS Add-In for Microsoft Office user interface seamlessly integrates with the Microsoft Outlook look and feel business intelligence, key performance indicator, sas enterprise guide, excel 7
18 Boot Camp for Programmers: Stuff You Need to Know That's Not in the Manual - Best Practices to Help Us Achieve Reproducibility Elizabeth Axelrod Imagine that you completed a research project a y ear ago, and now your clients are challenging the results. They doubt your numbers, and they want to know how you came to your conclusions. Could you retrace your steps and reproduce your results? Could you describe what you did and why you made those deci sions along the way? Could you find the data or the programs that you wrote? With the passage of time, it becomes more and more difficult to recall or recover the process, data, or results of a project. As programmers, we're tempted to head straight for the keyboard, and start writing code. But first some basic training is in order. This paper is geared for programmers and programmer wannabes, focusing on specific guidelines, best practices, and techniques which can help us ensure the reproducibility or our results, and in doing so, improve the quality of our work dataset, raw data 7
19 Building a Match Code Using SAS David Li Business analysis frequently entails joining data from different sources. Oftentimes, the linkage must be made based on a customer's name and address data. A SAS name and address match code can accomplish this task and move the project forward without interruption. This paper highlights three concepts: (1) modular design, (2) looped sequential processing, and (3) the parsing of data elements. SAS Macros can compactly implement the basic match code. They organize the code modules and perform a sequence of tasks against a single input record at a time. Macros also manipulate the parsing and transforming of text strings into the final match code. The programming techniques necessary to move a data element through the various stages are discussed in detail macro variable, do loop, call symput, macro definition, dataset, proc sql, data step, %if-%then-%else 7
20 Building an Extract, Transform, and Load (ETL) Server Using Base SAS, SAS/SHARE, SAS/CONNECT, and SAS/ACCESS Christopher W. Schacherer,
Timothy J. Steines
There are a number of methods that can be used to efficiently build dimensional models for business intelligence systems using BASE SAS, SAS/STAT, and SAS/ACCESS. Once developed, these programs must be run on a platform that provides the level of performance required to rebuild data models in ever-shortening build windows. The current paper describes how to build the infrastructure necessary to support resource-intensive processes such as extract, transform, and load (ETL) programs using SAS Server, Base SAS, SAS/SHARE, SAS/CONNECT, and SAS/ACCESS. In addition to providing a robust infrastructure for quickly building dimensional models, the programming methods used to take advantage of this infrastructure can also increase the reliability of the ETL process and enhance the quality of the data in the data warehouse macro variable, sas base, etl developer, libname statement, batch job, record count, proc sql, hash table, proc step 11
21 Characteristic Analysis of the Hospitalized Children with Lower Extremity Fractures in 2006: A Population-Based Approach Yubo Gao The study examined the demographic and hospitalization characteristics of children hospitalized with brain cancer (BC) using 2006 national discharge data from the Healthcare Cost and Utilization Project (HCUP) Kids' Inpatient Database (KID). Of the nearly 3.1 million cases in the database, 8932 (0.285%) were identified through diagnostic coding of BC. There are more boys than girls having BC, and more than half had private insurance as their primary payer. About half of the children were ages between 3 and 12 years, but all ages were represented from age 0 to 20. White children weighed 60 percent. 97 percent BC children stayed in urban hospitals, and 87 percent hospitals had teaching status. All patients had an average length of stay (LOS) 6.89 days. The average number of diagnoses is 5.33, and the average number of procedures is 2.14. Total average charge per child is $50,236. The average number of comorbidities increased as patient got older anova, standard deviation, sample 8
22 Choosing the Right Tool from Your SAS and Microsoft Excel Tool Belt Jennifer F. First,
Steven J. First
There are over a dozen ways to bring your data into SAS from Microsoft EXCEL or to push it out from SAS to EXCEL. Some are simple wizards, and others are more complex programming techniques. How do you know which tool is the best for your application? Which will cause you the least number of headaches? Which will produce the quickest, most accurate results? Which will best satisfy the end user? We will give an overview of import and export techniques for EXCEL and make recommendations for different application types excel, proc step, dataset, name range list, proc export, xls, sas library, proc print, proc sql, sas enterprise guide, proc import, libname engine, data step, libname statement, output delivery system, sas base, sql pass-through, create table 18
23 Comparative Effectiveness Analysis and Statistical Methodology Patricia B. Cerrito,
John C. Cerrito
The purpose of comparative effectiveness analysis is ordinarily defined as a means to compare the benefits of drug A versus drug B. However, particularly in relation to cancer drugs, there is only drug A. Therefore, comparative effectiveness analysis tends to compare drug A to a quality adjusted threshold value, with a frequent conclusion that the cost of the drug is not worth the additional life. Ordinarily, a societal perspective is used to deny the drugs, since the additional life may be worth the drug cost for the patient. The British organization, the National Institute for Clinical Excellence (NICE) has denied many cancer drugs to their patients. The Centers for Medicaid and Medicare want to initiate a similar process, denying treatments that exceed a quality adjusted price of $50,000. There are similar provisions in the Healthcare Reform Act data step, proc freq 11
24 Comparing JMP and SAS for Validating Clinical Trials Sandra D. Schlotzhauer When validating clinical trial analyses, an independent programmer typically confirms the results. Most companies use SAS as the standard software for performing analyses and generating results to submit to regulatory agencies. Validation requires replicating the content but not the appearance of the results. For example, the validator confirms a p-value, but does not format the results to match the appearance in a table submitted to the FDA. This paper discusses experiences in using both SAS and JMP for validation. The paper discusses strengths of JMP and SAS data cleaning, sample, dataset, clinical trial, proc means, confidence interval, missing value, standard deviation, anova, flag variable, sas log, survival analysis, independent qc, least squares mean, sas output, proc step, data science 18
25 Connect with SAS Professionals Around the World with LinkedIn and sasCommunity.org Charles E. Shipp,
Kirk Paul Lafler
Accelerate your career and professional development with LinkedIn and sasCommunity.org. Establish and manage a professional network of trusted contacts, colleagues and experts. These exciting social networking and collaborative online communities enable users to connect with millions of SAS users worldwide, anytime and anywhere. This paper explores exciting features found in both virtual communities. Topics include creating a profile and social network content, developing a network of friends and colleagues, join ing special-interest groups, accessing a Wiki - based web site where anyone can add or change content on any page on the web site, sharing biographical information between both communities using a built -in widget, exchanging ideas in Bloggers Corner, viewing scheduled and unscheduled events, using a built -in search facility to search for desired wiki-content, collaborating on projects and file sharing, reading and responding to specific forum topics, and much more 10
26 Creating a Successful Support Model for the SAS Enterprise Intelligence Platform Jerry High SAS has a robust set of tools that provide business analysts many capabilities ranging from statistics and data mining to data integration and business intelligence. In the early years, prior to version 9, typical analysts would simply use the SAS programming language and write code to obtain the desired results. Support had two aspects: one from the systems administration team where the SAS software was simply installed and made available to the analysts, the other from the SAS community sharing their insights about business problems and coding techniques. Today under release 9, more specifically with the introduction of the SAS Enterprise Intelligence Platform, the capabilities have increased dramatically. So, too, has the need for a proper support model to ensure that today's sophisticated business analysts and other general consumers of information can leverage the power of SAS to the fullest business intelligence, dataset 10
27 Custom Google Searches, PDF Sticky Notes, and Other Tips for Organizing and Accessing SAS Help Resources Roger D. Muller,
Joshua M. Horstman
Today's SAS programmer enjoys access to a wide variety of electronic SAS help resources, both from SAS Institute and other sources. These include help files accessible within the SAS interactive environment, SAS online documentation in both HTML and PDF formats, SAS technical notes, proceedings from SAS Global Forum and regional conferences such as MWSUG, and other websites that have become popular within the SAS user community. In this paper, we describe these resources, discuss how to access them, and recommend ways to organize these resources to maximize their usefulness and convenience. We show how techniques such as site-specific custom Google searches and PDF sticky notes make these resources even handier than those paper SAS manuals sitting on your shelf. This paper provides a wealth of useful information for the novice SAS programmer, but even experienced professionals will probably find something new sas programmer 9
28 DATA Step and PROC SQL Programming Techniques Kirk Paul Lafler Are you considering whether to use a DATA STEP or PROC SQL step in your next project? This presentation explores the similarities and differences between DATA STEP and PROC SQL programming techniques. Topics include IF - THEN-ELSE, SELECT-WHEN, and PROC SQL CASE expressions conditional logic concepts and constructs; and the techniques for constructing effective merges and joins. Attendees explore examples that contrast DATA STEP versus PROC SQL programming techniques to conduct conditional logic scenarios, one -to-one match-merges and match-joins, and an assortment of inner and outer join programming constructs proc sql, if-then-else, proc step, inner join, character variable, missing value, create table, right join 14
29 Eliminating Redundant Custom Formats (or How to Really Take Advantage of PROC SQL, PROC CATALOG, and the DATA Step) Philip A. Wright Custom formats are an invaluable asset to the SAS programmer. Their functionality provides for much more than simply a mechanism for explicitly labeling values in a dataset. There can be, however, a major limitation-the DATA STEP can only accommodate 4,096 formats at a time. It is unlikely that a SAS programmer would generate this many formats in code, but this is not the only method that generates formats. PROC IMPORT and other third party data conversion programs may well generate a distinct custom format for every variable in a data set, and data sets with more than 4,096 variables are not uncommon. Oftentimes, however, these formats can be quite redundant- the same coding scheme was used for many similar variables. Eliminating redundant custom formats may well get you below the 4,096 limit. PROC SQL, PROC CATALOG, and the DATA STEP are the tools that can be used to eliminate the redundant formats proc step, user-defined format, proc sql, proc format, proc catalog, macro variable, create table, left join, order by, format statement 8
30 Errors, Warnings, and Notes (Oh My) A Practical Guide to Debugging SAS Programs Lora D. Delwiche,
Susan J. Slaughter
Errors? "I never get errors!" Warnings? "I never bother to read them, my program still runs." Notes? "Who needs them?" This paper, is based on the belief that debugging your programs is not only necessary, but also a good way to gain insight into how SAS works. Once you understand why you got an error, a warning, or a note; you'll be better able to avoid problems in the future. In other words, people who are good debuggers are good programmers. We cover common problems including missing semicolons, invalid data, truncated character values, missing-data- was-generated messages, character to numeric conversions, and the tricky problem of a DATA STEP that runs without suspicious messages but nonetheless produces the wrong results. For each problem we decipher the message, list possible causes, and explain how to fix the problem. We also cover some programming strategies for avoiding errors in the first place sas log, missing value, proc print, put statement, proc step, input statement, error message, dataset, character variable, infile statement, numeric variable, firstobs, options statement, excel, sas output 15
31 Evaluation of Methods to Determine Optimal Cut Points for Predicting Mortgage Default Valentin Todorov,
Douglas Thompson
One of the lessons from the recent wave of mortgage defaults is that it is very important to know the level of risk associated with mortgages held in a portfolio. In the banking world, lending risk is usually defined in terms of the likelihood that a borrower will default on a mortgage. To estimate the probability of default, banks utilize various risk scoring techniques, which output a score. Depending on a predetermined threshold "cutpoint" for the score, loans are priced differently. Loans with scores under that cutpoint are assigned higher interest rates compared to loans with scores above the cutpoint. If there is no experience available to choose an optimal cutpoint, statistical criteria can be used. One method for determining the cutpoint, the Kolmogorov-Smirnov goodness-of-fit test, has become the industry standard. Other less commonly used methods are decision trees/rules and a series of chi-square tests proc hpsplit, relative risk, chi-square test, interest rate, odds ratio, sample, effect size, logistic regression, logistic distribution, response variable, probability distribution, regression analysis, data mining, proc step, correlation 11
32 Exploring, Analyzing, and Summarizing Your Data: Choosing and Using the Right SAS Tool from a Rich Portfolio Douglas Thompson This is a high-level survey of Base SAS and SAS/STAT procedures that can be used to see what your data is like, to perform analyses understandable by a non-statistician, and to summarize data. It is intended to help you to make the right choice for your specific task. Suggestions on how to make most efficient or effective use of some procedures will be offered. Examples will be provided of situations in which each procedure is likely to be useful, as well as situations in which the procedures might yield misleading results (for example, when it is better to use REG instead of CORR for looking at associations between two variables). For procedures that create listings only, or for situations in which you want to capture only part of the listing output, we will explain how to get the output with ODS. Some nifty graphical tools in PROCs UNIVARIATE and REG will be illustrated. Procedures discussed include: FREQ, SUMMARY/MEANS, UNIVARIATE, RANK, CORR, REG, CLUSTER, FASTCLUS, and VARCLUS proc step, health insurance, exploratory data analysis, data science, proc freq, proc reg, sample, proc corr, proc univariate, histogram, proc fastclus, interval variable, proc princomp, proc varclus, nominal variable, output, proc factor, proc cluster 25
33 Gastrointestinal Diseases: Diagnoses, Misdiagnoses, and Comorbidities Pedro Ramos The gastrointestinal track is a complex system of organs that are exposed to external elements on a daily basis. Some of the diseases that affect the digestive system are caused by external agents; yet some of these diseases have been theoretically explained as emotional responses due to the intricate nervous network embedded in the digestive system. This paper shows how various data mining techniques and statistical methods can be employed studying this subject matter. SAS Enterprise Guide 9.2 was used to explore the MarketScan data set for the years 2000-2001, containing information on inpatient and outpatient doctor visits as well as the consumption of prescription drugs used by millions of Americans with health care coverage. The MarketScan database records patient specific health care utilization and expenditure for inpatient and outpatient settings as well as prescription drugs. It includes about 100 private sector payers and over 500 million claim records data mining, link analysis, neural network, sas enterprise guide 4
34 Getting from SAS 9.1.3 to SAS 9.2: Practicalities of the Automated Tools Diane Hatcher As a follow-up to last year's paper, "Migration from SAS 9.1.3 to SAS 9.2 - An Overview", this paper looks specifically at the automated tools to support your migration of the platform for SAS Business Analytics from SAS 9.1.3 and SAS 9.2. We will take a closer look at the SAS Migration Utility and how it's used with the SAS Deployment Wizard. By understanding the roles, capabilities, and limitations of these tools, you can plan for a smooth migration initiative that will get your SAS 9.2 environment up and running in the shortest amount of time data mining, credit migration 10
35 Google Maps and SAS/GRAPH A. Darrell Massengill Google Maps have become one of the most widely recognized means of handling maps and location data. This paper introduces a tool and shows you how to create your own Google Maps from within SAS and SAS/GRAPH. In addition, we will briefly discuss Google Maps and the legal and technical limitations and implications of using these maps macro variable, proc step, dataset 18
36 Happy Birthday! But ... How Old Are You, Really? Elizabeth Axelrod Chances are that at some point in your SAS career you've had to calculate age. There are various ways to do this, but one of the most common ones does not always produce a correct value. This paper presents several alternatives to calculate age, and illustrates what works most accurately - and what doesn't 6
37 Hard-to-find, But Powerful, PROC SQL Features Kirk Paul Lafler The SQL Procedure contains many powerful and elegant language features for experienced SQL users. This paper introduces SQL topics that will help users unlock many features, options, and other hard -to-find gems in the SQL universe. Topics include: conditional logic scenarios using case expressions; techniques on implementing table integrity constraints; an in -depth analysis of indexes an d their uses; complex queries with join and set operators; integrating DICTIONARY tables with the macro language; and performance tuning techniques to improve query processing proc sql, proc step, dictionary tables, where statement, select, macro variable, inner join, macro facility, sas library, sas log, view, create table, group by, macro call, order by, right join 17
38 How I Learned to Type 1,388,571 wpm, Or Creating Extensive Shift Tables Kelley Weston At times in the pharmaceutical industry we need to be able to create some code called a shift table, which in essence is just a tool that can show the progression of a subject's test. If there are very few possible values, and only the first and last visits to consider, then this may be a trivial task. However, if there are several visits, and / or many possible values, then this becomes something that takes some planning shift table, missing value 7
39 Ideas and Examples in Generalized Linear Mixed Models David A. Dickey SAS PROC GLIMMIX fits generalized linear mixed models for nonnormal data with random effects, thus combining features of both PROC GENMOD and PROC MIXED. I will review the ideas behind PROC GLIMMIX and offer examples of Poisson and binary data. PROC NLMIXED also has the capacity to fit these kinds of models. After a brief introduction to that procedure, I will show an example of a zero-inflated Poisson model, which is a model that is Poisson for counts 1,2,3,…, but has more 0s than is consistent with the Poisson poisson distribution, proc step, proc mixed, binomial distribution, likelihood function, proc glimmix, fixed effects, sample, proc calis, estimate, restricted maximum likelihood, logistic distribution, normal distribution, covariance, beta distribution, calendar year, numeric functions, maximum likelihood estimation, regression analysis, proc genmod, main effect 12
40 Integrating Multiple SAS/GRAPH Procedures to Generate a Custom Image Joshua M. Horstman SAS/GRAPH offers a rich set of tools that can be used to programmatically generate custom image files. Using the MWSUG website header as a sample project, this paper provides an introduction to several lesser-known SAS/GRAPH procedures and demonstrates how to use them together. PROC GMAP is used to draw a custom map of the states in the MWSUG region. Text and other graphical elements are produced using PROC GSLIDE. Finally, the various pieces are arranged together with PROC GREPLAY. Various GOPTIONS parameters are discussed as they relate to the output of an image file of the desired type and size. No prior SAS/GRAPH experience is assumed proc step, proc gmap, proc greplay, response variable, filename statement 7
41 Introduction to Business Intelligence for SAS Users Thomas A. Miron Here, Business Intelligence, or BI, refers to the gathering of data from external sources and the compilation and presentation of that data to end users. If you're creating reports, graphics, predictive models, or other data presentations that drive business decisions then you are involved with business intelligence. This paper introduces key BI concepts and techniques and shows why and how they are useful for any SAS reporting or presentation project, from ad hoc report to full-blown data warehouse. What is Business Intelligence? Business Intelligence is a slippery term. For our purpose Business Intelligence, or BI, does not refer to any software product. It refers to the compilation and presentation of data to end users. In this sense, BI is often associated with data warehouse, data mart, decision support system (DSS), executive information system (EIS), and other acronym- worthy monikers business intelligence, fact table, dimension table, raw data, proc step, data cleaning 11
42 It's All about Variation: Improving Your Business Process with Statistical Thinking Robert N. Rodriguez This paper explains how statistical thinking and statistical process monitoring, which have been practiced in manufac- turing for the past thirty years, are proving valuable for process improvement in business environments that range from health care to financial services. Basic examples drawn from real scenarios introduce the statistical concepts and show how to get started with SAS/QC software. The concepts also apply to complex systems that involve large volumes of multivariate data with multiple sources of variation. The examples demonstrate the use of graphical displays, cre- ated with ODS Statistical Graphics, for visualizing and analyzing the variation in a process and for explaining results to clients and management phase i, phase ii, histogram, proc step 18
43 JMP Simulation-Based Empirical Determination of Robust Scale Estimator and Comparison of Outlier Discrimination Performance Gennadiy Gorelik,
Tarun Chandra
A robust scale estimator based on an empirically -derived correction factor (ECF) is proposed when the sample median is more efficient than the mean. ECF values for simulated samples of varying size (n=2 to 80) drawn from the standard normal distribution are obtained in SAS JMP using the distribution of sample standard deviation (s) to sample median absolute deviation (MAD) ratios. ECF central tendency estimates based on median of s/MAD ratio distributions are compared to corresponding MAD -based theoretical correction factor (TCF) and σ -based asymptotic correction factor (ACF=1.4826) estimates. Results indicate TCF > ECF > ACF and ECF (and TCF) asymptotically approach ACF as sample size increases. %Bias in estimating σ using ECF, TCF and ACF were compared using mean, median and root mean s quare (RMS) of normalized ( relative to "σ") s-distribution sample, sample size, normal distribution, outlier, standard deviation 8
44 Kernel Density Estimation As an Alternative to Binning of Survey Data David J. Corliss In the statistical analysis of survey data, a large n umber of data points having a continuously distributed observed variable may be grouped into ranges of constant width, a process known as "binning". For example, stars may be grouped into ranges defined by a number of solar masses . In binning data, a certa in amount of information about the object is often lost: any information at a higher degree of accuracy than needed to place it into a bin is discarded. A methodology is proposed for the determination of population distributions allowing for full retention of the measured value for each observation in cases where the uncertainties are expected to be Gaussian. If the uncertainties are normally distributed, a Gaussian function may be determined for each measurement, with the observed value as the mean and the uncertainty as the standard deviation. The Gaussian distribution for each observation are then summed, creating a continuous probability density distribution normal distribution, standard deviation, proc step 6
45 Linking SAS Reports to Spreadsheet Data Ben Cochran This paper takes a step by step approach to building a summ ary report with the REPORT procedure, and then building 'hot links' to the detail data that is found in EXCEL spreadsheets. This paper starts with the data, either a SAS data set or spreadsheet data, shows the audience how to manipulate the data to get it ready for the repor t, it then shows how to use PROC REPORT to get the desired re sult, and then it covers the code needed to link to specific spreadsheets proc report, libname statement, proc step, excel 6
46 Macro Variables Make Life Easier: Applications with SAS to Excel Misty Johnson As SAS users, we all find ourselves telling SAS some basic information over and over, like the name of the report, recipient of the report, what is contained in the report and where we will write the output. Macro variables are a useful tool for the intermediate SAS user to minimize this redundancy and as a result, minimize errors by declaring important criteria only once; saving you time and making life easier. This paper will demonstrate the use of macro variables to tell SAS which data to pull, to double-check that the correct data was pulled before writing the output report, and finally define formatting done by Dynamic Data Exchange (DDE) of the output report in EXCEL macro variable, excel, proc step, label statement, select 7
47 Macrotize! A Beginner's Guide to Designing and Writing Macros Stacey D. Phillips Macro language can often be challenging and intimidating to the novice SAS programmer and sometimes it's hard to know how to get started. This paper is an introduction to the design aspects of creating macros and focuses less on nitty-gritty macro language details. The paper will demonstrate how to think about macro design using a real-world example where the programmer needed to reduce more than a hundred data sets of regression output down to three summary tables. Using several easy steps, the reader will learn some great ways to make macro writing simpler and see an example of how to reduce a seemingly overwhelming task down to a simple and efficient macro macro definition, macro facility, data science, analysis set, proc report, proc step, regression analysis, sas programmer, macro parameter, macro variable 12
48 Make it SASsy: Using SAS to Generate Personalized, Stylized, Automated Email Lisa Walter Email is everywhere! With the continuously growing number of outlets to stay connected with email, some could argue it is the best way to reach an audience. Knowing how to effectively integrate SAS with email messaging is beneficial to the end user, the business, and the programmer. This paper will explain how to use macro variables, the FILENAME statement, and some introductory HTML and CSS to create professional looking, personalized, automated emails. An experienced SAS user with a good understanding of the macro language will be able to integrate the discussed techniques into current reporting and messaging processes. The provided examples are designed using SAS 9.1.3 on a server environment. Screen shots of the resulting emails were viewed through Outlook 2003 with HTML enabled macro variable, filename statement, put statement 13
49 Make Your Tables Pop: Embedding Micrographics in PROC REPORT Output Peter J. Lund It's a very common thing to have a table of information included in a report. It's also very common to have graphics, such as bar charts, in the same report. This paper will look at techniques, available in SAS, to place the graphics right in the tables. The SAS/GRAPH Annotate facility will be used to create small, standalone graphics files. The files can then be placed in a "cell" of a table created by PROC REPORT. This technique allows you to create tables that draw the reader's eyes to the important information much more quickly than scanning through all the text proc report, proc step, data step, macro variable 13
50 Mashups Can Be Gravy: Techniques for Bringing the Web to SAS Jack E. Fuller A mashup is an agglomeration of disparate content. While popular terminology tends to associate mashu ps with web-based data, physician John Snow demonstrated an early example of mashing content in 1854 when he identified the source of a London cholera outbreak by mapping cholera patients with their water source s. The guilty culprit turned out to be an infected water pump han dle in Soho. Web based mashups have transitioned f rom metasearch engines like Dogpile and Webcrawler to Google maps detailing winery tours and public res trooms to Yahoo! Pipes which allows users to define thei r own mashups. SAS has long facilitated moving information from S AS to the Web. This paper will explore mashup tech niques for enabling the movement of information in the other d irection: from the Web to SAS web service, filename statement, txt 11
51 Medical Guidelines: Consensus Panel Versus Healthcare Analytics Patricia B. Cerrito Adherence to medical guidelines will become much more important given the recently enacted healthcare bill. However, there is often little evidence from studies using real data to define just what the guidelines should be. As a result, physician consensus panels are often used to define guidelines with the physicians relying primarily upon personal, anecdotal experience or upon general summary statistics. When this occurs, the average population value is used as an upper or lower limit, thereby defining half of the population in need of treatment, which then changes the average so that the guidelines are lowered or raised to reflect this new average. We can use available treatment records to investigate the relationship between the consensus parameters and other diseases using healthcare analytics. In this study, we examine hypertension, cholesterol, and BMI (body mass index). We use techniques in SAS/STAT, SAS Enterprise Miner, and SAS Text Miner adverse events, type ii error, logistic regression, clinical trial, logistic distribution, sample, data mining, regression analysis, type i error, sas enterprise guide 17
52 Meta-Programming in SAS with DATA Step Paulo Tanimoto It is a common pattern in SAS to pass information from a dataset to macro variables, perform a number of operations, and iterate as necessary. Besides inefficient, this method can be prone to mistakes and vulnerabilities. We present an alternative ap- proach that eliminates the need for macros and macro variables altogether, running directly from a DATA STEP via call execute . Arguments can be validated with regu- lar character functions. We illustrate the technique with examples that require meta- programming: renaming a large number of variables, applying labels and formats from a list, and dropping blank variables. These turn out to be generalizations of basic operations on datasets. A brief discussion of security issues is offered at the end call execute, macro variable, hash table, data step, sample, macro definition 15
53 Mixing the Use of the Three Types of Comments for Ease of Use of SAS Enterprise Guide Code Mark Menzie A frequent criticism of code is that it is not documented thoroughly enough. It is possible, however, for extensive comments to interfere with use, further development or troubleshooting of the code. This paper suggests thoughtful use of the three classes of comment statements to make use and maintenance of code easier: 1. Statement comment: [comment text] ; 2. Slash comment: / [comment text] */ 3. Macro comment: %MACRO macroname; [comment text] %MEND macroname; The advantage of mixing the three styles of comments is in the way that they overlay each other. Using the statement comment style where feasible allows easy overlay with the Slash comment style sas enterprise guide, macro definition 4
54 Monty Hall, Paul Erdös, and Monte Carlo Irvin Snider You are on a game show. The game show host shows you three doors. Behind one of the doors is a Cadillac. Behind the other two doors are goats. You get to keep the prize behind the door that you pick. You pick a door. The host then opens one of the doors not chosen and reveals a goat. Now the host asks you if you want to stay with your original pick or if you want to switch. What should you do? What difference does it make? This classic Monty Hall problem confused readers of "Ask Marilyn" and caused intense debate when first published in 1990. Even the famed mathematician Paul Erdös did not get the answer right and was only grudgingly convinced of the correct answer after seeing the output from a Monte Carlo simulation. This presentation will give a brief history of the Monty Hall problem and will present several methods of deriving the answer, including a SAS Monte Carlo simulation. Monty Hall Monty Hall was the host of the game show Let's Make a Deal monte carlo, prior probability 7
55 More To It Than Meets the Eye: Creating Custom Legends That Really Tell a Story Peter J. Lund Merriam-Webster defines a legend as "an explanatory list of the symbols on a map or chart." We're used to seeing just that - a table of symbols or a series of colored boxes with a word or two explaining what the symbols or colors mean. In almost every case, this is sufficient. However, what if a legend did more than just explain the colors on the map - what if it had some descriptive or analytic of its own? This paper discusses techniques to build custom legends using the SAS/GRAPH Annotate facility. Two real-world examples will be presented. One creates a typical legend and then adds quantitative, descriptive information to it. The other creates a graphic that not only defines the colors on the map, but also stands alone as an analytic display macro call, standard deviation, macro variable, histogram 15
56 Multivariate Data Displays for Evaluating Clusters Robert G. Moore This paper illustrates some SAS graph techniques for displaying multidimensional data to facilitate visual evaluation of clusters. When performing a cluster analysis to identify customer segments, most clustering algorithms leave the number of clusters and the best clustering solution to the judgment of the analyst. Graphical techniques that display summary statistics for a number of variables simultaneously for all the clusters can be a helpful technique for visual evaluation of the clusters. The multivariate graphical displays illustrated in this paper include profile plots, Andrews plots, star charts, and Chernoff faces. The first three types are implemented using the PROC GPLOT and PROC GCHART procedures. Some preliminary data preparation is performed using the PROC MEANS and PROC TRANSPOSE procedures proc step, proc gchart, cluster analysis, proc means, binary variable, data visualization, proc gplot, sample, proc transpose 9
57 Novel Use of SAS Software in Industrial and Biomedical Consulting, Research, and Teaching Timothy E. O'Brien Basic courses in applied biostatistics, statistical methods, experimental design and applied regression methods often focus on hypothesis testing and estimation for linear and nonlinear models by providing students and decision-makers the methodology (i.e., test statistics and confidence intervals) to reach likelihood function, confidence interval, estimate, binomial distribution, proc nlin, proc nlmixed, one-way anova, proc step, proc reg, proc iml, anova, response variable, f-test, regression analysis 13
58 ODS TAGSETS.RTF: Tips and Tricks Xiangxiang Meng In SAS 8.1 and later, the ODS RTF desti nation delivers and saves tables, listi ngs, and figures in Rich Text Format (RTF) that can be read and edited by Microsoft Word 2002 and other word processing packages. New with SAS 9.2, ODS TAGSETS.RTF is created as a measured makeup to fix some problems with the traditional ODS RTF destination, such as memory consumption and page break rest riction in the output of ex tremely large tables. This paper first introduces the common functions of t he ODS RTF and ODS TAGSETS. RTF statements, and then illustrates some new features in the new ODS TAGSETS.RT F statement, such as contro lling page break, adjusting table layout, and adding table of content in the RTF file ods rtf, proc print 10
59 Output Delivery System (ODS) - Simply the Basics Kirk Paul Lafler Explore various SAS output formatting and reporting techniques with this Introduction to Output Delivery Syste m hands-on workshop. Numerous examples are presented to improve mastery of ODS capabilities while providing a better understanding of ODS statements and options to perform common tasks. Topics include ODS Formatting statements and options; using the Escape character and formatting output; and various output destinations including RTF, PDF, Output SAS data set, EXCEL spreadsheet, and HTML output proc univariate, output delivery system, sas output, dataset, ods html, ods pdf, ods rtf, file statement, proc step 12
60 Plotting Summary ROC Curves from Multiple Raters Using the SmryROCPlot Macro Matthew T. Karafa,
Nancy Obuchowski
As an alternative to existing solutions provided by others, the authors created a macro to construct an ROC curve using average measures. The major problem with generating such a curve is for a given false positive rate (FPR, or 1- specificity), a rater may not have an actual measurement. Thus to accurately create the plot, we need to interpolate between the nearest actually observed points for a given reader to generate the Summary ROC plot. SmryROCPlot() can do this interpolation for you with minimal inputs. The user provides the SmryROCPlot() macro with variable names for the true event state, the observed event state, and the rater's identification. The user then also lists the FPR's at which the plot should be generated. The macro steps through each rater's data, and either uses the actual measured specificity if it is available or calculates a simple linear interpolation between the nearest observed FPR's for each "plot" FPR roc curve, proc step, macro variable, proc sql, type i error, macro loop, create table, error message, group by, proc gplot, %if-%then-%else, macro definition 10
61 Point-and-Click Programming Using SAS Enterprise Guide Mira Shapiro,
Kirk Paul Lafler
SAS Enterprise Guide empowers org anizations exploiting the power of SAS by offering programmers, business analysts, statisticians and end -users with powerful built-in wizards to perform a multitude of reporting and analytical tasks , access multi-platform enterprise data sources, deliver data and results to a variety of mediums and outlets, perform important data manipulations without the need to learn complex coding constructs, and support data management and documentation requirements quickly and easily. Attendees learn how to use the gr aphical user interface (GUI) to access tab -delimited and EXCEL input files; subset, group, and summarize data; join two or more tables together; flexibly export results to HTML, PDF and EXCEL; and visually manage projects using flowcharts and diagrams excel, sas enterprise guide, dataset, data governance, delimited file, sas output, proc sql 13
62 Power to Detect Therapist Effects in Randomized, Controlled Trials of Interventions in Clinical Psychology Douglas Thompson,
Fary Cachelin,
Ruth Striegel-Moore,
Terry Wilson
In randomized controlled trials (RCTs) of interventions in clinical psychology, it is typical for multiple therapists to administer a given intervention. A therapist effect is present when treatment outcomes differ between therapists. Often, therapist effects have been viewed as a nuisance or an adjustment factor. However, therapist effects may be of practical importance; for example, they might indicate interventions that require extensive training to administer effectively. How many therapists are required to ensure adequate power to detect clinically meaningful therapist effects? Few studies have examined this issue. The present study examined how power is impacted by the number of therapists and the size of the therapist effect. The study utilized Monte Carlo simulations in SAS. This paper describes how to implement power analyses of therapist effects in SAS, as well as results from an initial set of analyses sample, effect size, proc mixed, sample size, fixed effects, monte carlo, randomized controlled trial, proc freq, correlation, histogram, multiple imputation, proc step, imputation 16
63 PROC LIFEREG or PROC PHREG Dachao Liu Besides commonly used PROC LOGISTIC, PROC PROBIT, PROC GENMOD, PROC RELIABILITY and PROC LIFETEST, SAS has PROC LIFEREG or PROC PHREG in doing survival analysis. They both contain REG, a reminder of regression analysis, and they both deal with time-to-event data. This sometimes makes us wonder when we should use PROC LIFEREG when we should use PROC PHREG, even for experienced statisticians who are using SAS. This paper will discuss this question by using some examples proc step, proc phreg, survival analysis, regression analysis, proc lifereg, likelihood function, predictor variable, response variable, maximum likelihood estimation, censoring, survival function, hazard function, proc reg 9
64 PROC MIXED: Underlying Ideas with Examples David A. Dickey PROC MIXED PROVIDES A SINGLE TOOL FOR ANALYZING A LARGE ARRAY OF MODELS USED IN STATISTICS, ESPECIALLY EXPERIMENTAL DESIGN, THROUGH THE USE OF REML ESTIMATION. A STRATEGY FOR IDENTIFYING MIXED MODELS IS FOLLOWED BY A DESCRIPTION OF REML ESTIMATION ALONG WITH A SIMPLE EXAMPLE THAT ILLUSTRATES ITS ADVANTAGES. A COMPARISON OF SOME OF THE AVAILABLE TESTS FOR VARIANCE COMPONENTS IS GIVEN ALONG WITH SEVERAL EXAMPLES, BOTH REAL AND ARTIFICIAL, THAT ILLUSTRATE THE VARIETY likelihood function, proc step, proc mixed, proc glm, proc genmod, restricted maximum likelihood, f-test, sample, fixed effects, maximum likelihood estimation, standard deviation, correlation, covariance, proc calis, degrees of freedom, intraclass correlation, anova, z-test, null hypothesis, response variable, proc freq, logistic distribution 19
65 PROC REPORT Basics: Getting Started with the Primary Statements Arthur L. Carpenter The presentation of data is an essential part of virtually every study and there are a number of tools within SAS that allow the user to create a large variety of charts, reports, and data summaries. PROC REPORT is a particularly powerful and valuable procedure that can be used in this process. It can be used to both summarize and display data, and is highly customizable and highly flexible. Unfortunately for many of those just starting to learn PROC REPORT, the terms "customizable" and "flexible" often seem to be euphemisms for "hard to learn". Fortunately PROC REPORT is NOT as hard to learn as it appears. All you really need to have in order to get started is a basic knowledge of a few primary statements. In this introduction to PROC REPORT you will learn to use the PROC REPORT statement and a few of its key options. Several of the supporting statements, including COLUMN, DEFINE, BREAK, and RBREAK, and their primary options will also be covered proc report, proc step, class variable, proc means 9
66 PROC REPORT: Compute Block Basics Arthur L. Carpenter One of the unique features of the REPORT procedure is the Compute Block. Unlike most other SAS procedures, PROC REPORT has the ability to modify values within a column, to insert lines of text into the report, to create columns, and to control the content of a column. Through compute blocks it is possible to use a number of SAS language elements, many of which can otherwise only be used in the DATA STEP. While powerful, the compute block can also be complex and potentially confusing. This tutorial introduces basic compute block concepts, statements, and usages. It discusses a few of the issues that tend to cause folks consternation when first learning how to use the compute block in PROC REPORT proc report, proc step, class variable, put statement, proc calis 16
67 PROC TABULATE: Doing More Arthur L. Carpenter Although PROC TABULATE has been a part of Base SAS for a very long time, this powerful analytical and reporting procedure is very often under utilized. TABULATE is different; it's step statement structure is unlike any other procedure. Because the programmer who wishes to learn the procedure must essentially learn a new programming language, one with radically different statement structure than elsewhere within SAS, many do not make the effort. The basic statements will be introduced, and more importantly, the introduction will provide a strategy for learning the statement structure. The statement structure relies on building blocks that can be identified and learned individually and in concert with others. Learn how these building blocks form the structure of the statement, how they fit together, and how they are used to design and create the final report will be presented proc step, proc tabulate, missing value, proc format, format statement 18
68 PROC TABULATE: Getting Started Arthur L. Carpenter Although PROC TABULATE has been a part of Base SAS for a very long time, this powerful analytical and reporting procedure is very often under utilized. TABULATE is different; it's step statement structure is unlike any other procedure. Because the programmer who wishes to learn the procedure must essentially learn a new programming language, one with radically different statement structure than elsewhere within SAS, many do not make the effort. The basic statements will be introduced, and more importantly, the introduction will provide a strategy for learning the statement structure. The statement structure relies on building blocks that can be identified and learned individually and in concert with others. Learn how these building blocks form the structure of the statement, how they fit together, and how they are used to design and create the final report will be presented proc step, proc tabulate, missing value, proc format, format statement 18
69 Pulling Together Existing Code for One-Touch Execution by Using %INCLUDE or Macro References Mark Menzie This paper illustrates the convenience pulling together existing code files into a single stream using %INCLUDE and MACRO references. Steps needed to pull in external code by each method will be illustrated and compared sas enterprise guide, filename statement 5
70 Reporting in the Age of Twitter: Concise Reports and Continuous Real-Time Monitoring LeRoy Bessler Twitter is built on the concept of concise messages, and encourages, or at least facilitates, continuously keeping in touch. This presentation will provide you two macros to create compact tabular reports. One of them "shows you the most with the least", by implementing my long advocated design mantra of "Show Them What's Important" and the concept of "Let Part Stand for the Whole". The other provides a "twist", literally and figuratively, on the traditional default wide display of columns, which can entail the annoying, inconvenient, anti-communicative requirement for sideways scrolling on a web page. This presentation will also show you how to keep in touch with your data. You can build yourself a monitor to continuously check status of critical indicators and then send email alerts to people (including or only yourself if appropriate) with a need to know macro loop, macro conditional, macro definition, proc step 20
71 Romancing Your Data: The Getting-to-Know-You Phase Carole Jesse Have you ever gained access to an Oracle database only to find yourself asking these questions? "What's in this database?" "Where do I start?" "What do I actually have access to in the database?" "What uniquely defines a record in this table?" "Is this table Indexed, and if so, what is it indexed on?" "Is this table Partitioned?" The ability to gather and store large amounts of data has become commonplace, across industries. As these capabilities have grown, so has database complexity. The deluge of corporate acquisitions further complicates things, driving more and more undocumented data sources into the hands of new database users, often without the institutional knowledge to go with them. In these cases, the analyst must typically be his or her own data sleuth, developing the ability to discover the complexity of a database on their own before engaging in serious analytics oracle, macro variable, proc sql, oracle access, data dictionary, proc step, sql pass-through, key, libname statement, sas enterprise guide 12
72 Salesforce Effectiveness at Sears: An Analytic Approach to Goal Setting and Tracking Carl Schleyer,
Jason Chavarry
Following an organizational restructuring, Sears Holdings Corporation moved to design metric- based performance management systems affecting its consultative sales force. This paper details an overview of a dedicated HR Analytics team's process for organizing the project into three targeted questions and using JMP to answer and visualize these questions. The current status of the project as whole is discussed. Note that this paper is not intended to detail the business decisions and specific metrics used by Sears Holdings to create these systems. In the visualization examples provided, dummy datasets were used to showcase a sample of the actual output. This is intentionally done for business competitive reasons excel, regression analysis, data science 5
73 SAS and Excel, A Winning Combination, Part 1: Easy Solutions for Multi-Sheet Excel Workbooks, Color-Coding, Imbedded Graphs, etc. LeRoy Bessler SAS is my personal favorite computer tool, but the world's commonest non-SAS tool for data presentation, and working with data, is Microsoft EXCEL. People often want your SAS report formatted as a spreadsheet, so that they and others can post-process or reformat data however they like. This short tutorial on SAS-to-EXCEL solutions is for anyone who needs to deliver information via EXCEL from a SAS program. In regard to the popular "traffic lighting" concept, this paper will explain how to color-code data so as to address the commonest form of color blindness. The paper will reach the limits of what this author can easily do with the tools selected. For another solution for SAS-with-EXCEL, the reader is referred to the author's companion paper on Dynamic Data Exchange (DDE). Please see Reference 1 excel, proc print, proc step 19
74 SAS and Excel, A Winning Combination, Part 2: DDE (Dynamic Data Exchange), a Popular Solution around the World LeRoy Bessler To create complex, highly formatted EXCEL spreadsheets from a SAS program, Dynamic Data Exchange (DDE) is the tool preferred by numerous SAS users, including me. I get requests nearly every week from all over the world for my free DDE toolkit. Though it is probably the oldest SAS-to-EXCEL solution, DDE nevertheless is compatible with EXCEL 2007. (In fact, I will share a capability tip from Craig Wildeman that is unique to EXCEL 2007.) DDE supercharges your use of SAS with EXCEL. SAS DDE programs can load worksheets, and format them maximally without point-and-click. Almost anything doable directly in EXCEL is doable with DDE commands from your program. You can access data, even to the level of a specific cell, a row or column, part of a row or column, or a range of contiguous rows or columns, or can work with an entire worksheet. Then you can write, read, or format data excel, sample, data step, sas log, filename statement, xls, macro definition, sas enterprise guide 53
75 SAS Data and Stored Process for BlackBerry Sy J. Truong,
Donald L Penix Jr.
In the competitive smart phone environment, RIM BlackBerry remains the leading smart phone worldwide changing how we use mobile computing. Although both the iPhone and Android have been making the headlines, BlackBerry is quietly growing in the area of mobile applications with its introduction of App World 2.0 and BlackBerry OS 5.0. All major websites such as Google, eBay, and Amazon have their services available as an "App" rather than requiring the user to launch a web browser. These BlackBerry applications add an efficient use of local mobile device resources that enhance the user mobile experience while leveraging traditional client server computing features that are similar to that of a web browser. Models such as BlackBerry Curve, Tour, Storm, Pearl, and Bold all provide feature sets such as GPS tracking, voice communication, digital video recorder, and multitudes of other functionality that raise the bar beyond web 2.0 macro definition, macro parameter, business intelligence, dataset, sample, sas analyst 9
76 SAS Macro Application Using Microsoft Excel As Both Control File and Process Documentation Mike D. Tangedal Any SAS production process executed repeatedly can be converted using SAS Macro language to reduce redundancy. If this process is run using macro parameters which do not vary significantly each time then use of a control file may be warranted. Utilizing the EXCEL spreadsheet format as a control file provides ease of use in maintenance, documentation, and transferability. A time stamp of some sort need be added to each control file entry and another can be generated to note when the SAS program was last run. Upon completion, the log from the SAS job can also be stored in a tab within this control file worksheet as a monitoring device. Further quality assurance can be obtained through implementing basic tests on source files read with each iteration. Results from these tests can also be stored on a separate tab within the control file worksheet. The control files themselves can be organized in a relational database structure macro definition, excel, macro variable, proc step, sas log, quality assurance, relational database, macro facility, data step, proc export, proc import, macro loop, dataset, production run, %if-%then-%else 5
77 SAS System Options: The True Heroes of Macro Debugging Kevin Russell,
Russ Tyndall
It is not uncommon for the first draft of any macro applicat ion to contain errors. However, without debugging options, it is almost impossible to locate and correct all the errors in an application. Therefore, the first step in writing a macro application is to turn on the debugging options. This paper is intended for programmers at all levels who write macro code, and it concentrates primarily on three SAS system options that you can use to debug macros: MLOGIC, SYMBOLGEN, and MPRINT (our superheroes). In addition, this paper includes some less common options (the superhero sidekicks) that also display valuable informat ion in the SAS log. These options can help you determine the source of many errors that can occur when you program with the macro language macro variable, %if-%then-%else, options statement, macro loop, sas log, do loop, autocall macro, macro put, cpu time, macro facility, macro function, put statement, character functions, sample, data step, if-then-else, macro definition, macro quoting function 12
78 SAS Views - The Best of Both Worlds David Thul view, proc sql, proc step, proc means, cpu time, dataset 6
79 SAS with CLAS: Assessing Adherence to Federal Standards for Culturally and Linguistically Appropriate Services Michelle Hopkins This paper shows how Base SAS 9 was used to conduct a gap analysis on how several health care facilities are doing on adhering to the 14 federal standards for Culturally and Linguistically Appropriate Services (CLAS). In the summer of 2009, these facilities were asked to have staff complete an online assessment in order to evaluate how well they were meeting these standards. SAS was used to analyze responses, and export scores and recommendation for improvement into a MS EXCEL report. In the summer of 2010, these same facilities, after completing several educational opportunities, are again completing the online assessment in order to evaluate how well they are meeting these standards after implementing various interventions. SAS is again being used to analyze responses, export scores and recommendations for improvement. SAS is also being used to evaluate whether or not there were statistically significant improvements between the pre-CLAS assessment and the post-CLAS assessment excel, liquidity gap 12
80 SAS/GRAPH Elements You Should Know - Even If You Don't Use SAS/GRAPH Arthur L. Carpenter We no longer live or work in a line printer - green bar paper environment. Indeed many of today's programmers do not even know what a line printer is or what green bar paper looks like. Our work environment expects reports which utilize various fonts, with control over point size and color, and the inclusion of graphic elements. In general we are expected to produce output that not only conveys the necessary information, but also looks attractive. In the line printer days little could be done with the style and appearance of reports, and consequently little was expected. Now a great deal of control is possible, and we are expected to take advantage of the tools available to us. We can no longer sit back and present a plain vanilla report. The Output Delivery System, ODS, gives us a great deal of the kind of control that we must have in order to produce the kinds of reports and tables that are expected of us title statement, footnote statement, proc step, box plot, regression analysis 15
81 Seamless Dynamic Web Reporting with SAS Donald L Penix Jr. The SAS Business Intelligence platform provides a wide variety of reporting interfaces and capabilities through a suite of bundled components. SAS Enterprise Guide , SAS Web Report Studio, SAS Add-In for Microsoft Office, and SAS Information Delivery Portal all provide a means to help organizations create and deliver sophisticated analysis to their information consumers 1 . However businesses often struggle with the ability to easily and efficiently create and deploy these reports to the web. If it is done, it is usually at the expense of giving up dynamic ad-hoc reporting capabilities in return for static output or possibly limited parameter-driven customization. The obstacles facing organizations that prevent them from delivering robust ad-hoc reporting capabilities on the web are numerous. More often than not, it is due to the lack of IT resources and/or project budget. Other failures may be attributed to breakdowns during the reporting requirements development process macro variable, sas enterprise guide, raw data, dataset 10
82 Seamless Web Data Entry for SAS Applications Donald L Penix Jr. For organizations that need to implement a robust data entry solution, options are somewhat limited on the SAS platform. The SAS/FSP module provides integrated tools for data entry, computation, query, editing, vali dation, display, and retrieval; however, the solution falls short for organizations that need to d eploy a web-entry system on a thin-client platform (i.e. Internet Explorer, M ozilla Firefox, etc.) Some companies will tackle the problem using other technologies such as HTML, .NET, or JAVA. But each of these approaches requires expertise that is often beyond the typical SAS programmer to build and maintain. Built upon an open-source platform, a simple, yet elegant, data entry solution can be obtained. The application data can then be integrated into any SAS application by connecting it via the SAS/ACCESS modules mysql, audit trail 7
83 Set, Match, Merge ... Don't You Love SAS Peter W. Eberhardt,
Ying Liu
One table has accounts, another has new transactions. One table has patient data, another has treatments. No matter what your business or application it is rare that a single data set or table has everything you need to answer the questions you are expected to answer. SAS has a simple and powerful mechanism to bring your tables together: the DATA STEP Merge. But this simple operation can easily run awry. In this paper we will explain the basics of the DATA STEP merge and the issues and problems you will encounter if you do not understand its workings. This paper is geared towards beginning SAS programmers, but it can be a useful refresher for anyone in=, out=, missing value, proc step, proc sql, proc print, set statement, order by, data merging 19
84 Setting Up Project-specific SAS Windows Environments Philip A. Wright Most users modify the autoxec.sas file in their 'My SAS Files' directory and this suits them just fine. For awhile. As a SAS user, chances are your employer will begin assigning you multiple projects simultaneously. If the source data for your projects are in different directories, different formats, or even different servers with different authorizations, it could soon become quite confusing as to what is where. Setting up a different SAS/WINDOWS environment for each project may be the answer cpu time, proc step 6
85 SGPANEL: Telling the Story Better Charles D. Kincaid proc step, numeric variable, proc format, proc sgpanel 18
86 Simplifying Drug Discovery with JMP John A. Wass proc princomp, logistic distribution, discriminant analysis, sample, covariance, logistic regression 14
87 Simulating a Simple Solitaire Card Game Using SAS Robert G. Moore This paper illustrates using SAS arrays and nested DO loops in a DATA STEP to simulate a card game. A SAS program is presented that simulates a simple version of solitaire played with a standard deck of CARDS. Arrays are used to represent the standard deck of playing CARDS, and a DATA STEP with nested DO loops is used to repeatedly play the game and capture the outcomes of each game. PROC FREQ and PROC GCHART are used to examine the distribution of possible outcomes of the game generated by simulating a large number of trials do loop, proc freq, frequency analysis 5
88 Some Basic Techniques for Data Quality Evaluation Using SAS George J. Hurley 21
89 Some New and Not So New Batch Processing Techniques Mike Vanderlinden,
Brian K. Varney
By using a Windows batch file to submit SAS programs, one can minimize the maintenance and maximize the repeatability of SAS program submissions. This paper intends to discuss strategies as well as some new functionality in SAS 9.2. This paper also addresses ways to structure SAS parameterized programs that will make them easier to maintain thus reducing the chance of human error batch processing, proc step 4
90 SPC As Part of an Operations Intelligence System Combining JMP and SAS Michael Haslam,
Wayne J. Levin
Statistical Process Control (SPC) systems are setup to provide warnings of unusual or unlikely conditions that might lead to problems. In a typical scenario, a specified rule violation occurs and then a user or set of users may need to act and start an investigation. In addition to Western Electric and Westgard rules, manufacturers are increasingly using multivariate-rules that look for combinations of factor levels that may lead to trouble. All if this is multiplied across the increasing amount of measurement and monitoring found in manufacturing, network monitoring and transactional operations. A JMP stand-alone or JMP and SAS combination solution in what we refer to as and Operations Intelligence System (OIS) allows technical staff to manage with the increasing volumes of analysis. In addition to higher yields and consistent quality, OIS systems deliver improve personnel utilization and quality of work-life dataset, regression analysis 9
91 Streamlining Reports: A Look into Ad Hoc and Standardized Processes James Jenson This paper provides a conceptual framework for quantitative reporting processes using SAS in conjunction with Microsoft applications, specifically EXCEL and PowerPoint. A variety of efficiency challenges, ranging from data compilation in SAS to creating the final comprehensive output for distribution, are addressed separately for both Ad Hoc and standardized reporting processes. This paper offers a theoretical framework for reporting and is primarily concerned with the interaction of reporting tools that provide an optimal path for summarizing information, depending upon the task at hand. The framework presented draws from 4 years of on-the-job reporting experience in the financial/banking industry. The reporting techniques presented leverage SAS, the SAS Add-In for Microsoft, and the Microsoft applications excel, proc step, dataset, sas output, proc means 6
92 Stuff We All Do: Mistakes We've Made That You Won't Have To Joe Novotny,
Michael P.D. Bramley
Ever felt alone? Like you're the only SAS Programmer up until 3am looking for that missing %end statement in a septuplly-nested macro? Fear not, there are at least two other Programmers out there just like you (and we venture to say thousands more who just won't admit it). This paper helps to answer some questions you may (or should) have been asking but were too embarrassed to ask. Specifically, we delve into the depths of 1) How to keep DATA STEP execution under a dozen hours by appropriately setting the BUFSIZE and BUFNO options, 2) How to remain friends with your system administrator by not executing seemingly innocent PROC SQL code which consumes all your system resources, 3) How to keep your sanity by understanding when you need to force a step boundary, 4) How to keep your job by correctly creating summary variables outside vs. inside of an iterating macro do loop, 5) How to speed up your SAS jobs by not trying to download the entire Oracle data table to your local environment proc sql, proc step, do loop, sas log, index, macro variable, macro loop, missing value, standard deviation, create table, sas programmer, sql pass-through, by group processing, call symput, proc print, title statement, variable list, work library, dataset, macro definition 13
93 Summaries by Class and Interval Nathan Lindquist Building a two dimensional report using PROC TABULATE or PROC MEANS may require several data steps. In some cases, PROC SQL can produce similar results using a simpler process. This paper presents a method for creating summaries by class and interval using PROC SQL proc sql, proc step 4
94 Supporting Users, Software, and a BI Server: Using SAS to Support SAS LeRoy Bessler This is a report on my methods, the resources, and my tools for the support of users, software, and a BI server. All of the tools were built with SAS software itself. Code for the tools is either in the paper itself, or in references cited therein cpu time, sas enterprise guide, sas base, sas log, elapsed time, macro loop, if-then-else, macro definition, %if-%then-%else, sas management console, proc step, output delivery system, batch job, lookup 38
95 Survival Analysis with PHREG: Using MI and MIANALYZE to Accommodate Missing Data Christopher F. Ake,
Arthur L. Carpenter
Survival analyses based on a data collection process which the researcher has little control over are often plagued by problems of missing data. Deleting cases with any missing data will result in information loss and usually results in bias, while many analytic procedures that retain this information in some form underestimate the resulting uncertainty in parameter estimates and other output. SAS Version 8 includes two new procedures that allow the researcher to generate "complete" data sets from incomplete data by multiple imputation and to analyze the resulting data in ways which adequately account for the uncertainty involved imputation, missing value, proc step, multiple imputation, estimate, proc mi, macro variable, binary variable, nominal variable, dataset, correlation, proc mianalyze, macro definition, proc phreg, %if-%then-%else 6
96 Tables As Trees: Merging with Wildcards Using Tree Traversal and Pruning Matthew Nizol One of the most fundamental operations in SAS is to merge two data sets. When the values of the key variables involved in the merge are fully specified, the code is straightforward. However, if one of the tables contains wildcards in the key variables, standard merge and look-up techniques do not work. This paper will explore an algorithm for merging two SAS data sets in which the key variables of the master data set are fully specified whereas the key variables of the look-up data set may either be fully specified or wildcard (e.g. "don't care") values. The algorithm works by interpreting the look-up table as a tree structure: each key variable becomes a level in the tree, and blocks of unique values for the key variables become nodes in the tree. As the algorithm visits each level in the tree, the tree is pruned to create a binary tree in which one child holds the wildcard value and the other child holds the fully specified key value hash table, proc sql, proc step, if-then-else, macro definition 18
97 Take a Whirlwind Tour Around SAS 9.2 Diane Hatcher The term "productivity" can mean a number of different things and can be realized in a number of different ways. The bottom line is that you are able to do your job well in the most efficient manner. SAS helps you to be productive in a number of ways, including fast performance, flexible capabilities, and powerful algorithms. But, for the end user, that's just one side of the story. The other side of the story is being able to ask the questions with the confidence to get the right answers when you need them. This means providing user interfaces that allow you to quickly access the power of SAS business analytics in a self-service manner. This paper takes you on a whirlwind tour of the client applications that help you be more productive. It's not possible to go into detail here of everything that is new in SAS 9, but it will give you a taste of what you can expect sas enterprise guide, sas management console, line chart, data mining 8
98 Technical Resources for Beginning SAS Programmers Brian K. Varney Between SAS Technical Support, support.sas.com and the SAS help tools within a SAS installation; there are many free resources that can help accelerate ones learning, problem solving and troubleshooting abilities. These are valuable for SAS developers that are new to SAS or new to a particular SAS module, product or solution. Leveraging these free resources will result in more efficient and better SAS development sample, proc mixed 7
99 The "Forgotten" JMP Visualizations Sam Gardner JMP has a rich set of visual displays that can help you see the information in your data. Many JMP users, however, remain unfamiliar with the graphing options available for multivariate data visualization under the Graph Menu. This paper will expose the features and value of several of these tools, including: Scatterplot3D, Scatterplot Matrix, Parallel Plot, Cell Plot, Bubble Plot, Variability Charts, and Tree Maps. In addition, some new visualization and charting features available in the JMP version 9 will be shown correlation, proc freq 11
100 The Applied Use of Population Stability Index (PSI) in SAS Enterprise Miner Rex Pruitt In this paper I will describe how to develop the technical components necessary to calculate Population Stability Index (PSI), implement PSI into a SAS Enterprise Miner extension node, and interpret the results of applied PSI analytics as an industry solution "Best Practice". Why is this of any value? A profound reality exists in the universe: "Change is absolute"! PREMIER Bankcard's use of predictive modeling has resulted in the need for PSI utilization due to CHANGE experienced in the following areas: 1. Changes in business operations due to internal & external influences 2. Detection of data integrity and/or metadata issues caused by programmatic changes 3. Compliance with Regulatory review requirements As companies continue to amass large amounts of data and use it to develop statistical models, the PSI measure helps monitor data and scorecard integrity. This is especially important since statistical models are being used to make strategic decisions worth millions of dollars. 5 sample, data mining, data integrity, macro variable 14
101 The Art of Being Color-Communication-Effective, Not Just Colorful LeRoy Bessler Though it includes some information and coding specific to SAS, SAS/GRAPH, and ODS, this tutorial is also a software-independent guide to using color to communicate, rather than decorate. Color does more than merely add visual excitement to your output. When it comes to the pitfalls of, and best practices for, using color, you don't know what you don't know. Come and find out proc step, sample, proc print, macro loop, output delivery system, macro definition, sas output, %if-%then-%else 22
102 The Genealogy of Macros Kelley Weston When one SAS macro calls another macro, which calls another macro (etc., ad infinitum), how can you find what the "macro genealogy" is? This paper will give an easy method that you can use to find all of the macros involved in your program. This method is SAS-version independent, and will work on virtually any operating system. Keywords macro call, macro definition 6
103 The Mystery of the PROC SORT Options NODUPRECS and NODUPKEY Revealed Britta KelseyBassett The NODUPRECS (or NODUP) and NODUPKEY options can be useful with the SORT procedure but they can be dangerous if you do not understand them completely. They work similarly in that they both can eliminate unwanted observations, but NODUPRECS compares all the variables in your data set while NODUPKEY compares just the BY variables. Also, you must be aware of how your data set is currently sorted to eliminate the observations that you want because these options compare adjacent observations. In this paper, I will describe this in greater detail and show examples of how to use the NODUPRECS and NODUPKEY options. All examples shown were done in the SAS system for PCs, version 9.1.3. The intended audience for this paper is beginner level SAS programmers proc sort, proc step, by group processing 4
104 The Next Generation: SAS/STAT 9.22 Maura E. Stokes Caught up with SAS/STAT 9.2? Want to add even more statistical tools to your arsenal? Then get ready for the 9.22 release of SAS/STAT software. New functionality for postprocessing equips many linear modeling procedures with comparable capabilities, including the latest techniques for testing complex research hypotheses. The new SURVEYPHREG procedure fits Cox regression models to survey data. The EFFECTPLOT statement uses ODS Graphics to create plots of effects from models produced by the GENMOD, LOGISTIC, and ORTHOREG procedures. Exact Poisson regression is one of several new exact methods for categorical data analysis. Other new features include updated spatial analysis capabilities, classification variable support in the ROBUSTREG procedure, and model averaging in the GLMSELECT procedure. This talk provides an overview of these exciting new enhancements to SAS/STAT regression analysis, poisson regression, likelihood function, maximum likelihood estimation, estimate, poisson distribution, proc step, proc genmod, predictor variable, proc glmselect, binomial distribution, logistic distribution, proc mixed, negative binomial regression, sample, response variable, proc robustreg, proc phreg, proc calis, proc freq 20
105 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, data step, sample, date variable, character variable, sas log, cpu time, delimited file, dataset 17
106 The SAS Hash Object: It's Time To .find() Your Way Around - Hands-On Workshop 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. Note: this paper is the same as paper TU02 in the Tutorials section. Although the papers are the same, the presentations will be different hash table, dataset, proc sql, lookup, hash iterator, out=, sysrc, sas programmer, sample, data merging, proc step 17
107 The Ten Most Frequently Asked Macro Questions Kevin Russell 39
108 The Ten Most Frequently Asked Questions about SAS to Excel Chevell T. Parker excel, proc export, libname engine, proc step, output delivery system, xls, data step 27
109 This SAS Program Says to Google, "What's Up Doc?" Scott Davis When you think of the internet, there are few things as ubiquitous as Google. What may not be quite as well known is Google docs which is a web-based Office-like suite for document creation and management. You can create and manage a number of different documents and store them for free on the internet. There is a tremendous advantage to using a tool like Google docs for the consumer and for the small business owner alike. That advantage, of course, is the cost. Google docs = FREE. Where does SAS come into play? SAS has the tools (with a little finessing) to retrieve data from one of these documents and turn it into information. This paper explores using the FILENAME URL statement to retrieve data from a Google docs spreadsheet. The data can then be manipulated, turned into a report and published back out to the internet for your colleagues data cleaning, filename statement 6
110 Tips and Tricks: More SAS/GRAPH Map Secrets A. Darrell Massengill "You can't do that with PROC GMAP!" We hear that all the time. Many users don't know the full range of capabilities of the SAS/GRAPH mapping procedures. This presentation will share the secrets to allow you to exploit the power of SAS/GRAPH maps. Get the maps you really want; you can do that with PROC GMAP! We will demonstrate this using both existing functionality and new SAS 9.2 functionality proc step, proc gmap, predictor variable 15
111 Tips for Automating Univariate Outcomes Analysis in Hematopoietic Stem Cell Transplantation Peigang Li,
Xiaochun Zhu,
Min Chen
Hematopoietic stem cell transplantation has been used to treat patients diagnosed with a variety of diseases including leukemia, severe aplastic anemia, Hodgkin's disease, non-Hodgkin's lymphoma, multiple myeloma, a number of blood disorders, and some solid tumor cancers. Typical outcomes include treatment-related mortality (TRM), relapse (REL), progression free survival (PFS), and overall survival (OS). Univariate outcomes analysis is characterized as either survival or cumulative incidence rate without adjusting for other covariates, i.e., unadjusted analysis (Klein & Moeschberger 2003; Klein et al. 2001, Part I). It is desirable to automatically generate summary tables containing probability, confidence intervals and p-values. Log-rank or pointwise p-values are used to look at equality over the strata or at a given fixed point in time such as three-year survival. The process was facilitated with a set of SAS macros confidence interval, proc sql, competing risks, macro definition, univariate analysis, dataset, proc step, proc iml, macro variable 7
112 To Investigate the Impact of Medicare Part D on the Cost Effectiveness of Diabetes Medications and Health Outcomes with SAS Xiao Wang The purpose of this paper is to estimate the cost effectiveness of diabetes medications and the health outcomes in Medicare in 2005 and 2006 to examine the impact of Medicare, Part D. In this study, data from the Medical Expenditure Panel Survey are used, providing information on the prescribed drugs, physician visits, home health care and inpatients. A period life table is utilized to calculate QALY (quality adjusted life years). The analysis is based on the Medicare drug plan used by patients with diabetes who are also insured by Medicare in 2005. They are discovered in the data by the SAS SQL procedures. Cost effectiveness is evaluated by Medicare expenditures per QALY gained from the year 2005 to the year 2006. The MEANS procedure in Base SAS is used to compare the utilizations of health care services in these two years. The Decision Tree Model in Enterprise Miner is mainly used to predict the health outcomes proc hpsplit, proc freq, life table, proc sql, proc means, proc step 8
113 Turning Raw Data into Polished Reports Lora D. Delwiche,
Susan J. Slaughter
This paper shows how to turn raw data into polished looking reports. Starting at the beginning with reading your raw data file, we show how to sort and print your data, format data values, and add summary information to your reports. Using features of the Output Delivery System that are easy to learn, we also show how to create different types of output, and control style, font and color in your reports. With these techniques you can create reports that are attractive and draw attention to your main points to impress your boss or client proc print, proc step, ods html, format statement, dataset, by group processing, proc import, user-defined format, proc format, ods pdf, date variable 18
114 Two EDF Graphs for Assessing Agreement between Paired Data David W. Meek This paper is intended for those familiar with PROC GPLOT from SAS/GRAPH1 and PROCs MEANS, TTEST, and NPAR1WAY in SAS/STAT. Via macro procedures, two graphs related to the Smirnoff D statistic are developed to aid in the assessment of agreement between paired data. The first is a PROC GPLOT version of the ODS EDF plot in PROC NPAR1WAY; the second is a variation of it. A dataset from a SAS manual is used to exhibit the graphs. Each macro is a stand-alone example; each is included in its own appendix along with a DATA STEP that includes the dataset followed by the macro call statement proc step, proc npar1way 9
115 Understanding the SAS DATA Step and the Program Data Vector Steven J. First The SAS system is made up of two major components: SAS PROCs and the SAS DATA STEP . The DATA STEP provides an excellent, full fledged programming language that allows programs to read and write almost any type of data value, convert and calculate new data, control looping and much, much more. In many ways, the design of the DATA STEP along with its powerful statements, is what makes the SAS language so popular. This paper will address how the DATA STEP fits with the rest of the SAS System, DATA STEP assumptions and defaults, internal structures such as buffers , and the Program Data Vector. It will also look at major DATA STEP features such as compiler and executable statements dataset, if-then-else, proc step, _eof_, output, subsetting if, proc sql 14
116 Understanding WHERE Clause Processing and Indexes Kirk Paul Lafler SAS users can quickly access selected observations (rows) of data in SAS data sets using WHERE clause processing and indexes. This presentation explores valuable techniques for achieving improved query performance using indexes. Attendees learn what an index is, the purpose of an index, how an index is created, factors that determine when an index is warranted, how WHERE clause processing can take advantage of an index, and techniques for tuning indexes for better performance where statement, proc sql, index, proc step 5
117 Use of FILENAME Statement to Create Automated Reports with Severe Weather Events Data from the National Weather Service Valentin Todorov Risk managers at insurance companies and banks constantly monitor financial exposure and potential impact from various weather related events - hurricanes, tornadoes, wind and hail. To understand the exposure to such phenomena, managers can utilize the severe weather events data from NOAA's National Weather Service Center (http://www.spc.noaa.gov/climo/reports/). This paper shows how the FILENAME statement can be employed to easily obtain and analyze this information. The Weather Service publishes daily files containing information about severe weather events on the NOAA's website. The files are not cumulative, which makes the aggregation of the information very tedious. With the help of the FILENAME statement it is easy to obtain and aggregate files for as many periods as needed filename statement, insurer 7
118 Using a Few Key Elements of SAS DATA Step Code and a Couple of Procedures to Optimize the Observation Length of a Data Set Philip A. Wright The SAS DATA STEP supports quite a few statements and functions. Many of these are usually accompanied with acceptable default values. Due to the nature of SAS programming, however, the function defaults are sometimes overly generous. This is particularly true of length specifications for both the numeric and character variables. With the default of 8 bytes for numeric variables (the equivalent of double-float notation in other languages) and the default length of character variables sometimes as long as 200 bytes, the potential for shortening variable lengths is quite high. Some standard SAS functions and procedures enable you to shorten variable lengths quite easily. Shorter variable lengths mean shorter observation lengths, and shorter observation lengths enable faster I/O processing numeric variable, character variable, proc sql, proc step, macro variable, length statement, variable list, set statement, macro facility, sas programmer, proc transpose, left join, macro definition 9
119 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
120 Using HPMIXED and Other SAS Procedures to Efficiently Analyze Large Dimension Registry Data Matthew Fenchel,
Gary McPhail,
Rhonda D. VanDyke
HPMIXED is an experimental procedure introduced in SAS/STAT 9.2 software. Using sparse matrix techniques, PROC HPMIXED can process models with a very large number of fixed or random effects much more efficiently than the MIXED or GLIMMIX procedures. However, this initial release lacks some tools which are often needed in analyses. With Registry data (1994-2007) from the Cystic Fibrosis Foundation, we estimate FEV 1% predicted (a standard measure of lung function) slope using a random intercept and slopes mixed model and compare parameter estimates and run-times of PROC HPMIXED with PROC MIXED and PROC GLIMMIX. We then use the SGPLOT and UNIVARIATE procedures to produce residual, normal and quantile-quantile plots from the PROC HPMIXED output. Using the covariance parameter estimates from PROC HPMIXED, we show how PROC GLIMMIX and PROC MIXED can be used to "re-run" the models (now more quickly) to produce output not yet available in PROC HPMIXED (i.e proc step, proc mixed, proc glimmix, covariance, estimate, fixed effects, least squares mean, random intercept, output, proc univariate, dataset, proc sgplot, residual analysis, likelihood function, qq plot 19
121 Using JMP and SAS Software Together to Prepare a Last-Minute Research Project for Publication, Or Statistical Modeling of Breathing Relief in Sarcoidosis Patients James K. Woods excel, proc step, numeric variable, correlation 7
122 Using PROC SGPLOT for Quick, High-Quality Graphs Lora D. Delwiche,
Susan J. Slaughter
New with SAS 9.2, ODS Graphics introduces a whole new way of generating high-quality graphs using SAS. With just a few lines of code, you can add sophisticated graphs to the output of existing statistical procedures, or create stand-alone graphs. The SGPLOT procedure produces a variety of graphs including bar charts, scatter plots, and line graphs. This paper shows how to produce several types of graphs using PROC SGPLOT, and how to create paneled graphs by converting PROC SGPLOT to PROC SGPANEL. This paper also shows how to send your graphs to different ODS destinations, how to apply ODS styles to your graphs, and how to specify properties of graphs, such as format, name, height, and width. Last, this paper shows how to use the SAS/GRAPH ODS Graphics Editor to make one-time changes to graphs proc sgplot, proc step, bar chart, phase ii, histogram, phase i, series plot, proc sgpanel 20
123 Using PROC SQL to Build and Incrementally Update That Data Mart Ben Cochran Often SAS users need to access data from non-SAS sources. Th is is especially true when constructing a SAS data warehouse from other vendors' databases. While this task i s not too difficult, sometimes unforeseen challenges can arise, especially when dealing with date values. This t utorial initially takes a look at several methods for accessing different kinds of data to do the initial load of the data warehouse. Then attention is given to various ways of doing incremental updates and how to overcome some potential problems. This paper follows the tasks that were involved in a specifi c retail application and how a certain organization fa ced and overcame the challenges that accompany building and up dating a data warehouse. To accomplish its objectives, this paper is divided into seven sections. The fir st section looks at the environment and issues surrounding the initial load of the warehouse data mart, date variable, proc sql, proc step, macro variable, create table, sysdate9, %if-%then-%else 6
124 Using SAS Macro Functions to Manipulate Data Ben Cochran The SAS DATA STEP has the reputation for being one of the best data manipulators in the IT world. While the author of this paper agrees with this statement, it is p ossible to go beyond the capabilities of the DATA STEP by using SAS Macro functions. It would be difficult to show the full power of these Macro Functions in an hour presentation, so, this paper will look at a few commonly used Macro Functions and compare and contrast them to DATA STEP functions. These functions can be used not only to manipulate data, but to manipulate entire programs as well macro variable, macro function, macro definition, macro trigger, macro facility 8
125 Using SAS Output Delivery System (ODS) Markup to Generate Custom Pivot Tables and Pivot Charts Chevell T. Parker This paper illustrates how to use ODS markup to create PivotTable and PivotChart reports. You can use these reports to help your organization with business requirements such as analyzing expense trends over time or planning for inventory. Users of all experience levels will learn how to specify options in ODS statements that enable them to perform the following tasks: customize PivotTable layouts customize cell format specify statistics for the analysis modify the display of the analysis generate a PivotTable report and a PivotChart report for each worksheet format tables that you create * customize worksheets excel, output delivery system, raw data 24
126 Using SAS Software's Metadata to Generate ETL Precursor Files in a Heterogeneous Database System Alexander Pakalniskis,
Peixin Wang,
Nilesh Bajania,
Alein T. Chun
Created by the Resource and Outcomes Management (ROM) Department of the Cedars-Sinai Medical Center (CSMC), the Extract Transform Load System (ETLS) is an automated tool supporting the controlled movement of data from various input sources into Structured Query Language (SQL) environments (Figure 1). The tool, written in base SAS software and used in a Microsoft Windows environment, ensures ongoing information quality, reduces the time and effort required for data extraction, transformation, and loading, and provides audit report capabilities for project management. The output of this tool is designed to be used by database administrators (DBAs) in a linear or multi-layered heterogeneous database system. Figure 1: Input File to Oracle Database oracle, dataset, excel, proc sql, macro variable 12
127 Using SAS to Assess and Model Time-to-Event Data with Non-Proportional Hazards Michael G. Wilson Proportional Hazards Regression using a partial maximum likelihood function to estimate the covariate parameters (Cox, 1972) has become an e xceedingly popular procedure for conducting survival analysis. It is a notably robust survival method because it makes no assumptions about the shape of the probability distribution for survival times. On the other hand, strong violat ions of the proportional hazards assumption can have detrimental effects on the validity and efficiency of the partial likelihood inference (Struthers and Kalbfleisch, 1986; Lin and Wei, 1989). In this paper, graphical and analytic al procedures to assess violations and extensions of the model to improve inferential validity and effici ency in the presence of non- proportionality using SAS are compared and presented hazard function, hazard ratio, likelihood function, survival analysis, proportional hazards assumption, regression analysis, cumulative hazard, maximum likelihood estimation, proc phreg, null hypothesis, numeric functions, clinical trial, response variable, predictor variable, correlation 24
128 Using the JMP 9 R Interfaces to Perform Bayesian Analyses: Why, How, and What Dave LeBlond Modern computational algorithms such as Markov Chain Monte-Carlo (MCMC) make it possible to find exact solutions to a range of statistical problems that are beyond the reach of traditional statistical methods due to intractable mathematics or the requirement for over-simplifying assumptions. Adoption of these powerful approaches has been inhibited by a lack of appreciation of the Bayesian paradigm, as well as a lack of commercial software. Within the last decade, the advantages of these methods are becoming better known, and are now available in commercial software such as SAS. With the inclusion of R interfaces in JMP version 9, a wide selection of statistical tools, including MCMC procedures, are now available to JMP users willing to learn R or WinBUGS language basics and write short JMP language (JSL) scripts. This paper provides simple, motivating examples of Bayesian estimation using random walk Metropolis or Gibbs sampling using JMP R interfaces sample, confidence interval, bayesian statistics, posterior probability, time series analysis, prior probability, credible interval, tolerance interval, equivalence testing, confidence level, dataset, parameter, missing value, inferential statistics, beta distribution, sample size, data science 18
129 Using the SGSCATTER Procedure to Create High-Quality Scatter Plots Xiangxiang Meng Scatter plot is a useful exploratory tool for multivariate data analysis and is one of the most commonly used statistical graphics. In traditional SAS/GRAPH , it needs the cooperation of t he GPLOT procedure, several SYMBOL statements and GOPTION statem ents to create a high-quality scatter plot. New with SAS 9.2, the SGSCATTER procedure can produce a variety of scatter plots and put them into panels with different layouts within just a few lines of code. This paper will introduce how to create different types of scatter pl ot with PROC SGSCATTER and how to use ODS GRAPHICS and ODS styles to enhance the graph scatter plot, proc sgscatter, proc step, proc sgplot, output delivery system, confidence interval, proc gplot 9
130 Visualization with JMP - The Overlay, Spinning, Surface, and Contour Plots Mark Anawis The starting point for analysis should always be a graphical representation of the data. Graphics are a valuable tool for exploring and summarizing data. They often uncover patterns (e.g. clusters and outliers) and provide strategies for further analysis. These strategies may involve segmentation and/or analysis with and without outliers. Several of the plot platforms found in JMP v.81: the Overlay, Spinning, Surface, and Contour Plots are useful in creating an understanding and conveying an understanding of data patterns dataset, contour plot, outlier, predictor variable, filtering 20
131 Visualizing Key Performance Indicators Using the GKPI Procedure Brian K. Varney The GKPI procedure is new in SAS 9.2 SAS/GRAPH . This new procedure can be used to create graphica l key performance indicator (KPI) charts which include sl iders, bullet graphs, dials, speedometers, and traf fic lights. This paper is intended to serve as an introduction to th e GKPI procedure by discussing the syntax and demon strating examples. In addition, this paper will discuss how results from the GKPI procedure can be integrated i nto existing SAS environments key performance indicator, business intelligence, sas enterprise guide, proc step 9
132 Ways of Creating a Macro Variable Kelley Weston There are many ways of creating a SAS macro variable, many of which many programmers are aware, but perhaps some methods may be new. Additionally, the scope and length of the macro variables are things of which to be aware. This will give you many of the ways of creating macro variables in SAS, so you can be aware of when a macro variable is being created, as well as the scope and values, including their length. This will not necessarily give all of the possible methods of creating SAS variables, as it only addresses Base SAS; for example, there are also ways of creating macro variables using SAS/CONNECT macro variable, proc sql, proc step, call symput, call symputx, ods output, macro loop, macro definition, missing value, do loop, output 8
133 Win With SAS, JMP, and Interest In-House Groups Charles E. Shipp,
Kirk Paul Lafler
Have you considered an in-house group for SAS, JMP, or special interests? We discuss how to start and maintain an in-house group. Benefits include leadership opportunity, peer-to-peer interaction, tutorials, collaboration of users and also departments, a focal point for proper requests, and getting to know other users and providers. We present differences in corporate cultures and examples of successful school, company, and government user groups. We then summarize with critical success factors. Expect a lively discussion to follow sas programmer, clinical trial 6
134 You Created That Report in SAS!? The Power of the ODS PDF Destination Peter J. Lund The Output Delivery System (ODS) has been around since SAS version 7 and yet many people still don't realize that they use it every day just to send results to the output window. They're still more amazed when they see that publication quality reports in PDF files can be created with SAS and ODS. This paper explores a number of ODS options in general and, more specifically, their use in creating PDF output. We will cover ODS ESCAPECHAR, which allows for inline formatting of titles, footnotes and other text and new syntax for version 9.2; ODS LAYOUT, which lets you place output wherever you want it on the page - even output from more than one procedure, both text-based output and graphics; inline formatting in PROC REPORT; the new world of DATA _NULL_ reporting using the ODS object and more. We'll work from real life examples and see how you can produce output that looks like it took hours to create proc report, proc step, ods pdf, put statement, data step, footnote statement, output delivery system, sas output, proc sql, histogram 28

Back to Conf go 2011 go 2009

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.