HOME QUICK SEARCH AUTHORS KEYWORDS HELP BUGS

SGF 2009 Papers - Index

284 papers. Source: SAS Global Forum conference proceedings.

# Title
×
Authors
×
Abstract
×
Keywords
×
Extras Pages
1 "Excel"lent SAS Formulas: The Creation and Export of Excel Formulas Using SAS Collin Elliot,
Eli Morris
In cases where there is a need to trace and understand the underlying inputs and calculations, Microsoft EXCEL is the industry standard for presenting data. While it is common practice to export SAS data to EXCEL for presentation and review, this does not provide the desired transparency because the data values do not contain any of the linked formulas or calculations. The most obvious solution to this problem would be to export the necessary data to EXCEL and build the calculated fields manually. However, this is not practical when working with large data sets, complex formulas, and/or data that change frequently. Our approach consists of creating the formulas as text strings in SAS and exporting them to EXCEL so that they function as desired with no additional user intervention excel, macro variable, xls, proc sql, proc step, variable, sas output, dataset, sample, proc format source 11
2 %LibDoc: A Library Documentation Macro Richard Koopmann Jr. %LibDoc is a simple macro that produces an EXCEL workbook containing meta data for a given library. The metadata is pulled from dictionary.* tables via PROC SQL. The macro is also implemented as a SAS Explorer Action. Code was developed with SAS 9.1.3 SP4 and HTML Help Workshop 4.74 running under Windows XP Professional dictionary tables, sas library, excel, libname engine, proc sql source 6
3 %QLS SAS Macro: A SAS Macro for Analysis of Longitudinal Data Using Quasi-Least Squares Hanjoo Kim,
Justine Shults
Quasi-least squares (QLS) is an alternative computational approach for estimation of the correlation parameter in the framework of generalized estimating equat ions (GEE). QLS allows for easier implementation of some correlation structures that are not av ailable for GEE. We describe a user-wri tten SAS macro called %QLS, and demonstrate application of our macro using a clinic al trial example for the comparison of two treatments for a common toenail infection. %QLS also computes the lower and upper boundaries of the corre lation parameter for analysis of longitudinal binary data that were described by Prentice (Biometrics 44 (1988), 1033-1048). Furthermore, it displays a warning message if the Prentice constrai nts are violated. This warning is not provided in existing GEE software packages and other packages that were recently developed for application of QLS (in Stata, Matlab, and R) correlation, stage 2, estimate, proc genmod, regression analysis, longitudinal data, stage 1, proc step, binary variable, proc calis, clinical trial, ar(1), response variable, macro definition, treatment effect, covariance, poisson distribution source 12
4 A "SAS Programmer's" Guide to SAS Enterprise Guide Marje Fecht,
Rupinder Dhillon
You have been programming in SAS for a while….. You hav e been told "we are moving to Enterprise Guide" and removing Display Manager". You say …… I can program everything just fine myself, thank - you! OR What am I supposed to do with all these windows? This paper demonstrates how SAS programmers can use SAS Enterprise Guide as their primary interface to the SAS system while maintaining the flexibility of writing their own customized code. We will look at how to navigate the views and menus how SAS Enterprise Guide can be used as your primary SAS Editor how you can leverage the more complex built-in capabilit ies available in SAS Enterprise Guide to further enhance the information you deliver some tips and tricks to get the mo st out of SAS Enterprise Guide. Enterprise Guide version 4.1 will be used sas enterprise guide, bar chart, sas programmer, macro variable, sas log source 19
5 A Class of Predictive Models for Multi-Level Risks Wensui Liu,
Chuck Vu,
Sandeep Kharidhi
In the financial service industry, discriminant analysis and its variants based upon binary out come, such as logistic regression or neural networks, are lar gely used to develop predictive models. Ho wever, the two-state assumption of such models over-simplifies customers' behavioral outcomes and ignores the exist ence of multi-level risk. In many situations, the financial impact of a cert ain customer is directly related to the frequency and the severity of his/her adverse behaviors. Therefore, it is of interest to model and predict such multi-level risks. Several modeling techniques, from Poisson to Ordered Logit models, have been widely discussed in numerous research literatures about how to predict the multi-level ri sks. Our paper is also an attempt cont ributed to this end. Several modeling strategies together with their SAS im plementations and related scoring scheme will be illustrated poisson distribution, poisson regression, negative binomial regression, binomial distribution, regression analysis, logistic regression, logistic distribution, gain chart, likelihood function, probability functions, credit card, proc freq, proc step, proc sort, response variable source 13
6 A Comprehensive Credit Assessment Framework: Overview and Implications for the Subprime Crisis Clark R. Abrahams,
Sunny Zhang
Existing credit scoring approaches have put too much of an emphasis on past loan performance and historical market conditions and not enough on borrower capacity, new mortgage product risk characteristics, and economic cycles. This paper introduces a new comprehensive credit assessment framework (CCAF) that can provide early warnings and analyses of credit risk that do not rely on the premise that the past determines the future. We will show how CCAF addresses the credit scoring limitations imposed by insufficient credit and market information and sampling timeframes, and static data-driven factor selection and weightings. In particular we will explain how CCAF extends existing credit scoring to embrace all relevant factors and business context so that lenders can classify credit risk and decision all transactions in a more, effective, transparent, and forward-looking manner credit scoring, sample, credit risk, data cleaning, credit score, interest rate, default, likelihood function, pd, correlation, model validation, sas enterprise guide source 14
7 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 source 16
8 A Discussion of Various Possibilities for Data Entry Using SAS: An Evergreen Barbara Schneider,
Kristan A. Schneider
This video poster is a summary of experiences we have m ade with data entry when introducing SAS to medical students or physicians. For preparing their theses or doing scientific work they are involved in data collection and data analysis. An important phase between data collection and data analysis is data entry, the topic to which this paper is devoted to. Most books concerning data analysis using SAS demonstrate data entry only in combination with the DATA STEP using the CARDS or DATALINES statement. Nowadays, however, hardly someone can be convinced to enter data in this ancient way. This paper introduces more attractive possibilities of data entr y and should serve as a guide for SAS novices. Advantages and disadvantages of data entry us ing VIEWTABLE, SAS Analyst, Enterprise Guide, SAS/INSIGHT, SAS Stat Studio and the FSEDIT Procedure (SAS/FSP) are discussed dataset, sas enterprise guide, data science, date variable source 11
9 A Faster Index for Sorted SAS Datasets Mark Keintz In a NESUG 2007 paper with Shuguang Zhang, I demonstrated a compressed index (termed "condensed index" in that paper) which provided significant performance gains (about 33% elapsed time and cpu time) in retrieving subsets from sorted datasets in which each level of the sort variables(s) has many observations, and the sort variable was used as the selection criterion. This paper extends the compressed index in two ways: (1) replication of a SAS composite index, and (2) further performance gains (up to 50%) by selectively replacing direct access (i.e. POINT=) techniques with sequential access (FIRSTOBS and LASTOBS). This paper demonstrates, with sample DATA steps, how to create and use a compressed index, and compares its performance to SAS indices, and to our previous results. Other advantages such as precise prediction of the number of retrieved records will be discussed. This paper assumes the reader has an intermediate level of familiarity with the SAS DATA STEP index, set statement, cpu time, elapsed time, data step, dataset, where statement, sorted data source 9
10 A Flexible Count Data Regression Model Using SAS PROC NLMIXED Nan-Ting Chou,
David Steenhard
Count data regression models are used when the dependent variables are non-negative integers. The standard count data models are limited in their ability in handling the data distributions. Poisson and negative binomial distributions are commonly used in count models. Poisson distributions assumes equi- dispersed data (variance equals to the mean); and negative binomial regression models over-dispersed data (variance greater than the mean). While there are studies (Liu and Cela 2008; Tin 2008) provide zero-inflated and hurdle count data models in SAS, no study has provided a SAS program that allows for a comprehensive list of data distributions and modeling strategies. This paper presents a SAS macro program that allows for a wide variety of count data distributions which can be used to model both under- and over-dispersed data. In addition, our SAS macro program can handle data that has excess zeros (zero-inflated) in the sample poisson distribution, poisson regression, likelihood function, regression analysis, binomial distribution, negative binomial distribution, response variable, estimate, negative binomial regression, predictor variable, macro definition, sample, proc freq source 14
11 A Framework to Customize Frame: Building an Interactive Report Web Portal by ODS Xin Wei Clinical SAS programmers generate hundreds, if not thousands pages of plain-text tables and listings on the daily basis. Identifying critical information from this vast volume of data, such as the patient who is a super responder to a novel RA treatment, an alarming adverse event, is not a trivial task. Therefore, it is in high demand to develop an interactive, user-friendly interface through which you could easily cross-examine various sections of a clinical report including tables, listings and figures by simply point-clicking on browser. In this paper, I will describe a framework that involved various web techniques from ODS and SAS procedure to customize the frame files created by ODS HTML/TAGSETS so that it can serve as an integrated web interface for an end user to review table/listing interactively. Keywords: Web Report, ODS, TAGSETS, PROC REPORT, PROC TEMPLATE, HTML proc step, proc report, data step, ods html, proc template, efficacy summary, disposition table, output delivery system, adverse events, clinical trial source 10
12 A Gentle Introduction to SAS/GRAPH Software Ben Cochran The power and flexibility of SAS/GRAPH software enables the us er to produce high quality graphs, charts, and maps. With all this streng th and flexibility, the new user is sometimes overwhelmed and discouraged from using these po werful tools because of all the options and statements found in the syntax. However, learning how to use the tools of SAS/GRAPH can be a pleasant experience. This paper introduces several ways to generate graphical representations of your data. Starting with the importance of understanding their data, us ers are lead in a step by step process that ends with the generation of high quality plots and graphs. Let us begin. Step 1: Understanding Your Data. Is some data more appropriate for generating graphical reports than other data? What data is most appr opriate for plots and graphs? The first data set to be examined is the SASUSER.RETAIL table. A quick look at the first ten rows reveals only 2 columns or variables: SALES, and DATE proc gchart, proc step, bar chart, proc gplot source 11
13 A Little Stats Won't Hurt You Nathaniel Derby This paper gives an introduction to some basic but critically important concepts of statistics and data analysis for the SAS programmer who pulls or manipulates data, but who might not understand what goes into a proper data analysis. We first introduce some basic ideas of descriptive statistics for one-variable data, and then expand those ideas into many variables. We then introduce the idea of statistical significance, and then conclude with how all these ideas can be used to answer questions about the data. Examples and SAS code are provided. Keywords: Descriptive statistics, Statistical significance, SAS. All SAS code used in this paper is downloadable fromhttp://nderby.org/docs/SGF138-2009.sas proc step, sample, proc univariate, box plot, histogram, data science, interest rate, proc calis, outlier, proc means source 17
14 A Propaedeutics for PROC SQL Joins Lisa A. Mendez,
Toby Dunn
Would you like to be able to join information from separate tables quickly and easily? Have you ever had two or more tables that you want to join but just don't know where to begin? If the answer is "yes" then "Join" us for a crash course over PROC SQL joins. This paper will help get you started by introducing you to the four basic types of SQL joins: inner, outer, natural, and Cartesian. Through the use of carefully crafted examples and detailed explanations we will take you on a guided tour of the SQL joins in SAS inner join, where statement, proc sql, data merging, proc step, full join, normalization, cross join, right join source 9
15 A Row is a Row is a Row, or is it? Get Comfortable with Transposing your Data Christianna S. Williams Sometimes life would be easier for the busy SAS programmer if information stored in multiple rows (observations) were all accessible in one observation , using additional columns (variables) to hold that data. Sometimes it makes more sense to turn a short, wide data set into a long, skinny one (i.e. convert columns into rows). Base SAS provides us with two primary methods for converting rows (observations) into columns (variables) or vice versa -PROC TRANSPOSE and our trusty old friend the DATA STEP. How do these two methods work ? Which is best suited to different transposition problems , such as situations requiring multi-row arithmetic or transposing multiple variables ? The purpose of this example - packed tutorial is to demonstrate various types of transpositions using the DATA STEP and to demystify the TRANSPOSE procedure ( e.g. nail the BY statement and the NAME= op tion once and for all). Afterwards, you should be the office go-to gal/guy for reshaping data. Sweet! proc transpose, proc step, by group processing, character variable, numeric variable source 12
16 A SAS Macro for Adaptive Regression Modeling George J. Knafl A SAS macro called genreg is available from the author for conducting adaptive regression modeling. It is written primarily in the matrix language PROC IML and supports nonparametric linear, logistic, and Poisson regression modeling of expected values and/or of variances/dispersions in terms of fractional polynomials in one or more predictor variables. Fractional polynomial models are compared using k- fold likelihood cross-validation (LCV) and adaptively selected through heuristic search. The genreg macro supports modeling of independent outcomes under normal, logistic, and Poisson distributions. For the normal distribution case, it also supports modeling of repeated measurements under either order 1 autoregressive or exchangeable (i.e., constant) correlation structures. For the logistic case, it supports polytomous-valued outcomes under generalized logits. An overview of the macro is presented and its use demonstrated through an adaptive growth curve analysis numeric functions, likelihood function, regression analysis, logistic distribution, correlation, proc step, interaction effect, poisson distribution, homoscedasticity, poisson regression, proc mixed, proc adaptivereg, macro parameter, proc reg, proc iml, macro call, polynomial regression, predictor variable, repeated measures, residual analysis, standardized residual, outlier, main effect source 9
17 A SAS Output Delivery System Menu for All Appetites and Applications Chevell T. Parker This document describes how to unleash the power of various ODS destinations to generate fantastic applications and reports. This power is evident when generating spreadsheets using a variety of ODS destinations. The document describes how and when to harness the power of OD S destinations. It describes methods to generate that perfect presentation-quality output. This includes general form atting, creating styles with the addition of templates that are specifically generated for EXCEL output, and all those little things that lead to great-looking output excel, proc step, output delivery system, proc template, ods pdf, ods tagsets.excelxp, proc report, sas enterprise guide, ods html, set statement, user-defined format, macro variable, proc gchart, proc print source 25
18 A SAS Programmer's Guide to Generating Define.xml Michael J. Molter How would you like to be able to generate a Define.xml with just a few simple PROC PRINT statements? Not possible, right? Believe it or not, with a well thought-out metadata environment, we can make this dream come true, but it won't happen overnight. CDISC's requirement of an XML-based metadata document introduces at least three potentially new challenges to the SAS programmer asked to generate it. One is at least a basic understanding of XML. A second is a thorough understanding of the CDISC-specific XML structure of Define.xml. A third is the use of SAS to generate it. All three of these tasks most likely lie outside the scope of what a SAS programmer building clinical databases, tables, listings, and graphs ever needed to know. This paper addresses all three of these challenges. After a brief discussion of XML basics, we will study carefully the structure of Define.xml proc step, proc print, annotated crf, controlled terminology, data cleaning, sas programmer, put statement, dataset, sample, by group processing, if-then-else, macro variable, proc template, cdisc source 24
19 Achieving High Availability in a SAS Grid Environment Daniel Wong With increasingly complex analytics, growing data volumes and tightening batch windows, businesses are facing an ever greater need for guaranteed uptime and continuity of services commonly referred to as high availability. At the heart of such a system is resilient infrastructure that provides the architecture for successfully running SAS applications without fail - scheduling and managing the execution of a wide variety of daily computing tasks across shared and networked hardware. For SAS applications, this infrastructure is based on SAS Grid Manager - grid middleware deployed specifically for SAS applications and provid ing critical services such that all SAS computing tasks running in the grid can be completed optimally. SAS Grid Manager now includes high availability capabilities for all of the services that are critical to your SAS environment sas grid, sample source 20
20 Ad Hoc Data Preparation for Analysis Using SAS Enterprise Guide I-Kong B. Fu,
Wayne Thompson,
Mike Porter
SAS Enterprise Guide is a popular application for conducting ad hoc data manipulation and data preparation for data mining and other analytics. This paper will walk through a few examples of data preparation, putting features of SAS Enterprise Guide into action, and discuss scenarios where SAS Enterprise Guide can be used with other popular SAS applications such as SAS Enterprise Miner. The examples are targeted to business analysts who would primarily like to use a point-and-click approach to these tasks sas enterprise guide, data wrangling, proc freq, binary variable, data mining, proc transpose, inner join, txt, proc step, proc sql source 11
21 Advanced Features of User-Defined Formats and Informats Ronald P. Cody proc step, proc format, dataset, input statement, proc tabulate, put statement, missing value, select, inputn, character variable, format statement source 21
22 Advanced PROC REPORT: Getting Your Tables Connected Using Links Part I Tutorial Arthur L. Carpenter Gone are the days of strictly paper reports. Increasingly we are being asked to render our tables and reports using a variety of electronic file types that can be browsed and read using our computers. Besides the cost savings associated with the purchase of paper, paperless reports also minimize the costs associated with the printing and distribution of the reports. Another, often overlooked and potentially more important, side benefit of the paperless report is the increased availability of linked graphs, reports and tables. Navigation of the paper report is dependent on the table of contents, a strong index, and visual aids such as captions and footnotes; however in paperless reports we can easily jump from one table to its supporting and dependent tables with the click of a mouse. Easily, that is, if we have created the necessary links proc report, proc step, output delivery system, macro variable, macro loop, do loop, macro facility, footnote statement, ods pdf, macro definition, proc sql source 21
23 Advanced PROC REPORT: Getting Your Tables Connected Using Links Part II Practicum Arthur L. Carpenter Gone are the days of strictly paper reports. Increasingly we are being asked to render our tables and reports using a variety of electronic file types that can be browsed and read using our computers. Besides the cost savings associated with the purchase of paper, paperless reports also minimize the costs associated with the printing and distribution of the reports. Another, often overlooked and potentially more important, side benefit of the paperless report is the increased availability of linked graphs, reports and tables. Navigation of the paper report is dependent on the table of contents, a strong index, and visual aids such as captions and footnotes; however in paperless reports we can easily jump from one table to its supporting and dependent tables with the click of a mouse. Easily, that is, if we have created the necessary links proc report, proc step, output delivery system, macro variable, macro loop, do loop, macro facility, footnote statement, ods pdf, macro definition, proc sql source 21
24 All the Cows in Canada: Massive Mixed Modeling with the HPMIXED Procedure in SAS 9.2 Tianlin Wang Linear mixed models enable you to borrow strength for estimation, testing, and prediction by linking observations through a covariance model. Many applications of mixed models lead to computational problems that can only be described as huge. An example is the prediction of breeding value for a large population of livestock with a covariance model that links animals through their pedigrees. The HPMIXED procedure fits large, sparse linear models by using a number of specialized high-performance techniques, which include sparse matrix technology and algorithms for solving the mixed model equations and for optimization. These techniques are tailored to very large systems. They can result in significant savings of both memory and CPU resources and can actually make feasible the fitting of some models that would be infeasible with other approaches proc mixed, proc step, fixed effects, covariance, proc glimmix source 15
25 An Algorithm for Verifying Contiguity in a Set of Linked Entities David A. Vandenbroucke Many kinds of data can be represented as a field of nodes connected by links. It is sometimes useful to know whether a set of nodes is contiguous, in the sense that all nodes can be traversed without leaving the set. This paper presents a SAS macro program that can be used to verify whether this is so. It begins with a data set containing the full field of nodes and links. This is then reduced to a data set containing only the set of interest and the links internal to the set. It then attempts to trace links from an arbitrarily chosen reference node to every other node in the set. If this can be done, the set is contiguous. This macro uses only Base SAS DATA STEP and macro programming. The specific example is verifying that a group of census tracts is contiguous. The paper and the code use terminology appropriate to that example macro variable, conditional do loop, macro definition source 7
26 An Analysis of Market Shares on the Danish Alcohol Market Using Unobserved Components Anders Milhøj The Danish alcohol market has three types of alcohol: Beer, Wine and Spirits. The market share of wine has doubled over a 25 year period, while the market share of beer has been declining and the market share of spirits is generally low and fluctuating. In recent years the trending behavior has however changed, most likely because of changes in taxation on spirits. In the paper these market shares are analyzed by unobserved components models using PROC UCM as models with time varying trends etc. are well suited for this type of data. In Denmark the relative prices for the three types of alcohol have changed radically because of changes in the taxation and hence the relative prices provide good independent variables in regressions. In SAS version 9.2 PROC UCM has been extended with a Randomreg statement, that allows for the varying regression coefficients proc ucm, proc step, irregular component, regression analysis, time series analysis, confidence interval, predictor variable, residual source 10
27 Analysis of Survival Data with Clustered Events Lida Gharibvand,
Lei Liu
Two methods to analyzing survival data with clustered events are presented. The first method is a proportional hazards model which adopts a marginal approach with a working independence assumption. This model can be fitted by SAS PROC PHREG with the robust sandwich estimate option. The second method is a likelihood-based random effects (frailty) model. In the second model, the baseline hazard could be either a priori determined (e.g., Weibull) or approximated by piecewise constant counterpart. The estimation could be carried out by adaptive Gaussian quadrature method which is implemented in SAS PROC NLMIXED. The advantages, disadvantages, and relevant situations for proper application of each model are demonstrated using the published diabetic retinopathy data. Keywords: survival analysis, Cox's proportional-hazards model, survival function, frailty model, mixed models, Gaussian quadrature estimation, PROC PHREG, and PROC NLMIXED proc mixed, proc step, frailty model, likelihood function, proc phreg, regression analysis, hazard function, covariance, proc calis, normal distribution, survival analysis, monte carlo, proc lifereg, survival function source 11
28 Another Way to Make Use of Variable Labels Stephanie R. Thompson Variable labels are a useful part of SAS. They allow you to put a more descripti ve name to the sometimes cryptic variable names encountered as a programmer. Used in many procedures automatically, labels can make reporting much easier. However, what if you want to put a variable label into a different variable? How can it be done? The simple answer is CALL LABEL. This routine allows you to easily drop variable labels into another variable label statement, excel source 2
29 Applications of the GLMSELECT Procedure for Megamodel Selection Robert A. Cohen When you can select regression models from tens of thousands of effects, what possibilities for modeling are open to you? This paper explores applications of the GLMSELECT procedure in SAS/ST A T software to such problems. The GLMSELECT procedure supports a variety of model selection methods for general linear models. Examples of megamodels arising in genomic data analysis and nonparametric modeling are discussed. In addressing these examples, built-in facilities of the procedure to handle validation and test data are highlighted in addition to techniques for extending the procedure's functionality to address model selection bias by using bootstrap-based model averaging bootstrap, proc glmselect, feature selection, proc freq, data cleaning, sample, proc step, stepwise selection, training set source 25
30 Assessing SAS Skill Level during the Interview Process Jenine Milum This paper will provide guidelines and tools that w ill assist in interviewing a candidate for a SAS pr ogramming position, even for the non-programming interviewer. Skill level categories will be defined: Beginner, Intermediate, and Advanced. Specific interviewing approaches, su ggested topics, questions and tests will be explore d. We'll also cover tactics to get the right candidates to apply in the first place proc step, sas programmer, sas programming, proc format, proc sql, sas enterprise guide, macro facility, sas function source 10
31 At the Controls: An Approach to Security via SAS Management Console Lisa Frank access control, sas enterprise guide, sas management console source 10
32 Automate Dummy Variable Created from Large Longitudinal RDBMS Tables Melissa Skanderson,
Xiaoqiang Wang
Given a list of patient demographic characteristics and the patient lab records in RDBMS tables separated by years, we can create a list of summary variables per specification per person almost automatically using 3 parallel processes: process #1 selects all lab records only for the patients in our ID list and writes them into pipe #1; process #2 reads records from pipe #1, cleans lab results into appropriate numeric values and writes them into pipe #2; process #3 reads lab values from pipe #2 and aggregates them into person-level characteristics. Tricks of SAS/ACCESS for OLEDB, regular expression, Hash object, and macro programming are illustrated too. We also discuss the advantages and limitations of our methods. This paper fills in the gap of the lack of a working example on the piping facility macro definition, binary variable source 10
33 Automatic Generation of Titles, Footnotes, and Superscripts for Tables with Macros and PROC REPORT Paul Cascagnette What do you do when you have 5,000 web ready output tables to produce in a short time? You panic! - Then you automate. We created a macro and input structure using SAS ODS, PROC REPORT and Microsoft EXCEL that auto- generated the tables, web pages, directories, and HTML index pages. The footnotes and subscripts were all put in the right place, and with the right number. The macro can be easily modified for the needs of the user. Researchers, and persons with possibly little or no background in SAS can enter their metadata specifications for the output tables into the EXCEL template, and the worksheet can be subsequently modified without the need to make further changes to the macro proc step, proc report, excel, macro variable, proc format, proc import, ods html, macro definition source 11
34 Automating Your SAS Jobs Paul Anderson This paper discusses automating formerly ad hoc jobs that have become recurring daily, weekly, or monthly jobs. Topics covered include naming conventions that facilitate processing, assigning dates, creating historic processing logs, e-mailing datepart, calendar year source 8
35 Avoiding Common Traps When Accessing RDBMS Data Michael D. Rhoads Accessing data from databases such as Oracle and SQL Server has become an increasingly common requir ement for SAS programmers. SAS offers powerful and flexible capabilities for accessing such data, and many a spects of this process are quite straightforward, especially when LIBNAME engines are used. However, there are a number of traps that lurk for the unwary that can potentially produce unexpected error messages, incorrect output, or frantic calls from your normally -friendly Database Administrator. This paper highlights some of the most common traps and explains how to avoid them proc sql, proc step, libname statement, sql server, missing value, dataset, relational database, proc contents, character variable, proc print, where statement, create table, error message, order by, select, drop table, sas programmer, variable, sql pass-through, options statement, date variable source 12
36 Backpacking Your Way through CDISC: A Budget-Minded Guide to Basic Concepts and Implementation Rachel Brown,
Jennifer K. Fulton
By now, most people who work in the health sciences industry h a v e a t l e a s t h e a r d t h e C D I S C (Clinical Data Interchange Standards Consortium) acronym, but there is still a widely varying level of understanding of its concepts and with compliance among many in the field. Numerous helpful resources are available for C DISC training and implementation. However, many of these options can be costly for companies who want to work towards compliance but are not ready to make a large up -front investment. This paper offers some tips for how to approach the journey toward CDISC compliance without having to break the bank. Primary among these is that if you are a current SAS user you may already have many of the supplies you need. To prepare readers for the trip, the authors will introduce the components of CDISC standards w hile mapping out a plan for implementing the models using SAS and other tools already available within most clinical organizations clinical trial, adam dataset, edc, data validation rules, clinical data, proc step, laboratory data, cdisc source 7
37 Backup from the Startup: Keep a Constant Backup of Your SAS Logs and Listing Output from SAS Display Manager in Microsoft Windows Paul D. McDonald This is a quick tip on how to create a simple Microsoft Windows batch file utility to start up SAS Display Manager and create unique data-time- stamped logs and listing output every time you start up SAS. Trademarks and Copyright Notices SAS, the SAS Software System, and its components are registered trademarks of The SAS Institute, Inc. in Cary, NC, USA. Microsoft Windows and its components are registered trademarks of Microsoft in Redmond Washington, USA. Disclaimer This system works with the SAS Display Manager system and has been tested only in Microsoft Windows (specifically, Microsoft Windows(XP) in SAS v8.2) but it should work well in any display manager system source 5
38 Bayesian Modeling Using the MCMC Procedure Fang K. Chen Bayesian methods have become increasingly popular in modern statistical analysis and are being applied to a broad spectrum of scientific fields and research areas. This paper introduces the new MCMC procedure in SAS/ST A T 9.2, which is designed for general-purpose Bayesian computations. The MCMC procedure enables you to carry out analysis on a wide range of complex Bayesian statistical models. The procedure uses the Markov chain Monte Carlo (MCMC) algorithm to draw samples from an arbitrary posterior distribution, which is defined by the prior distributions for the parameters and the likelihood function for the data that you specify . This paper describes how to use the MCMC procedure for estimation, inference, and prediction prior probability, likelihood function, proc step, posterior probability, sample, binomial distribution, markov chain, bayesian statistics, standard deviation, proc means, response variable, sensitivity analysis, treatment effect, output delivery system, by group processing, proc mixed, logistic distribution source 22
39 Behind the Scenes with SAS: Using Custom Graphics in SAS Output Louise S. Hadden SAS provides many opportunities to add customized images to SAS ODS output. This presentation will demonstrate various ways to add custom backgrounds to tabular and graphic output; add custom images to titles, footnotes, ODS text fields and tabular output; and add custom "fills" to SAS/GRAPH maps and graphs. Some possible uses of custom images include a company logo embedded in SAS output, graphic displays of positive or negative outcomes, and watermarks containing "draft" or "confidential". The SAS code to accomplish all these potential uses, and more, will be shown sample, ods pdf source 10
40 Best Practice: Optimizing the Cube Build Process in SAS 9.2 Mary Simmons,
Michelle Wilkie
The loading and processing of your data into a cube needs to be controlled and optimized to get the best performance out of your system and meet appropriate time window constraints that may be set by IT or the business user. The SAS OLAP Server 9.2 shows several performance improvements and changes in the cube building process compared to that in SAS 9.1.3. This paper will introduce factors that affect the cube building process; options that are available to control and optimize the cube building process; best practices for cube building; logging options and understanding possible problems that can occur, in relation to these improvements in SAS 9.2 proc step, phase ii, phase i, dimension table, star schema, index creation, sample source 12
41 Better, Faster, and Cheaper SAS Software Lifecycle Edmond Cheng In designing software applications, the enduring process faces realistic business challenges to overcome the re- stricted time, limited resources, and quality constraint in engineering paradigm. Overemphasizing the three engi- neering limitations upsets the balance of producing highest quality, shortest time, and lowest budget cost during product development lifecycle at the highest efficient mode. By considering the following four design practices during your SAS software lifecycle, it is possible to define an approach of building SAS-based software thru maximizing limited constraints. The paper presents 1) functional techniques in expanding single-use program's flexibility and maintainability, 2) practical guidelines to promote code library and reusability, 3) strategies and advantages of modular process design, and most importantly 4) connec- tion of individual program components into user-driven application sas programming, proc sql source 6
42 Beyond SAS/Genetics Amina Barhdadi,
Yassamin Feroz Zada,
Marie-Pierre Dube
The field of statistical genetics has developed considerably over the past five years due to the substantial advances in genomic technology. The volume and the nature of these data create a need for reliable computer software to perform statistical analyses. SAS/GENETICS offers a collection of procedures specifically tailored for genetic data such as ALLELE, HAPLOTYPE, CASECONTROL and FAMILY procedures. This paper highlights the basic features of some of these procedures as we routinely apply them to the analysis of human genetic association studies. We show examples where SAS/GENETICS can be complemented with other SAS/STAT procedures such as LOGISTIC and PHREG to conduct analyses commonly used in human genetic studies. We also compare output results of SAS/GENETICS procedures to those from analogous analyses with SAS/STAT procedures proc step, proc logistic, logistic distribution, multiplicity, proc freq, proc phreg, quality control, regression analysis, proc princomp source 10
43 BioSense and the Federated Data Environment Russell Gann Portal, WebReport Studio) for the BioSense App lication. Despite all caveats, the search for technology silver bullets continue s in every field. The concept of a grid of computing resources originated in the 1970's, and has re-emerged in the 90's and this century as computing power, networks and middleware capabil ities advanced to support it. Grid computing can provide a powerful backbone for healthcare re search issues. However, establishing a grid is not just a matter of clustering large numbers of disks or blade servers, nor is it a solution for every public health issue. Grid-like resource usage can enable systems not typically associated with massively parallelizable problems to achieve higher levels of availability and reliability. This presentation will review the basics of grid architecture (i.e grid computing, time series analysis, business intelligence source 31
44 Boot Camp for Programmers: Stuff You Need to Know That's Not in the Manual Elizabeth Axelrod Imagine that you completed a research project a year 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 decisions 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 source 7
45 Breaking New Ground with SAS 9.2 ODS Layout Enhancements Daniel O'Connor,
Scott Huntley
Produce stunning brochures, killer Web sites, jaw-dropping dashboards, and breathtaking documents. This innovative enhancement will allow you to realize the full potential of your SAS investment by leveraging the latest enhancements to ODS Layout. Easily mix graphics, images, text, and tables, and arrange them on a page however you want. Take today's challenges and make them tomorrow's accomplishments output delivery system, proc step, file statement, proc report, title statement, options statement source 30
46 Bubble, Bubble: Less Toil, No Trouble Wendy B. Dickinson,
Bruce W. Hall,
Constance Hines
In 1801, the idea of using a circular image to portray frequency and amount was formalized by Playfair. These first "statistical charts" illustrated the number of inhabitants in major European cities by a set of hand-drawn circles, with the diameter of the circle indicating population thus enabling effective comparison by city. Today's bubble charts enable the same effective comparison of frequency of phenomena of interest but with two pronounced improvements. The first contemporary improvement is the addition of a location matrix- Cartesian coordinate system- to enable display of the bubble plots in relation to a second variable. More importantly, the second improvement is the ability to use computers to draw and replicate the bubble plots quickly and inexpensively. Utilizing SAS/GRAPH and PROC GPLOT to construct bubble plots saves both time and money bubble plot, proc gplot, proc step, proc freq, nominal variable source 10
47 Building a Data Repository Using Base SAS Ellen Krawiec Monitoring Analytics, LLC, (MA), provides independent market monitoring services to PJM Interconnection, L.L.C. MA uses PJM electricity market data drawn from nearly all of PJM's data stores and other external data sources. Rather than have MMU analysts query production databases directly, the MMU implemented and maintains the Market Monitoring System, (MMS), an Oracle database repository populated using Base SAS and various SAS/ACCESS products. The MMS copies data daily from PJM databases in original form to the MMS database. Metrics based on the source data copies and other metrics are calculated in the MMS SAS environment and stored in the MMS database. The MMS consists of a custom, robust infrastructure, including the following: Framework that easily allows integration of new SAS programs Standardized SAS macro library to perform: Database updates, including data versioning; Timezone conversion; Error checking; and Email notification of job status macro definition, sas base, oracle, macro variable, flat file source 5
48 Building Analytic Services with SAS Business Intelligence John Leveille,
David Kratz
The rapid rise of the Internet has caused successive waves of change through the information industry. One of the latest overarching concepts is known as Service-oriented Architecture. Web services are one popular technology for creating a Service-oriented Architecture. This paper shows how one can use SAS BI Web Services to deploy SAS analytics through web services. Specific steps for developing a SAS Stored Process and deploying it as a web service are shown. Scenarios discuss the deployment of services within a corporate network as well as via an intercompany configuration. The audience for this paper is assumed to have a basic level of familiarity with XML and HTTP technologies web service, business intelligence source 11
49 Building Drill-Down Capabilities Dynamically in SAS Output Using Base SAS Mark Beardsley,
Barbara Kolln,
Ronald Palanca,
Hong (Lily) Zhang
"Can you give me a list of ID numbers where ….?" If you are a SAS programmer, requests of this type might sound very familiar to you . Such requests occur p rimarily when research staff members determine that data values may be outside an acceptable range, are inconsistent, or that the data for certain cases should be examined more closely . Wouldn't it be nice if they could look up the ID numbers on their own ? This paper presents a tool for enabling them to do just that. The application dynamically creates drill-down links in SAS output, enabling research staff to view listings of ID numbers behind each data value of any variable. Creating one or more hyperlin ks in fixed positions can be accomplished fairly easily in some types of SAS output . However, creating hyperlinks dynamically in every data cell of a report is much more difficult, particularly when the source SAS dataset changes over time proc freq, sas base, sas output, dataset, proc report, proc step, macro variable, create table source 13
50 Building Interactive Web Applications Using Stored Processes Philip A. Mason Ten years ago, I was building applications using SAS/AF using a client/server architecture. Since the coming of SAS 9 and the spread of the web I have seen the tools arrive that let me build the same functionality that was available in SAS/AF but using stored processes used through a web browser. This paper describes what I have learned during 4 years of building Rich Internet Applications with SAS 9 stored processes macro variable, sas 9, proc step, sas enterprise guide, %if-%then-%else, excel, macro definition source 14
51 Building Your First Dashboard Using the SAS 9 Business Intelligence Platform: A Tutorial Gregory S. Barnes Nelson A dashboard is a visualization technique that provides an immediate view or s napshot of exactly where you are in a specific process relative to your stated goals and objectives. Visuals indicators , such as temperature gauges, traffic lights and speedometers, help give you a real -world sense of your present progress and assist you in making decisions, adapting to current conditions or drilling into more detailed information. In a previous paper (Wright, 2008), we outlined technologies that can be used to build dashboards and we further that discussion with information that will help you build your first dashboard business intelligence, key performance indicator source 19
52 Carbon Footprint Modeling with SAS for Sustainability Management: Beyond Calculation Keith Renison In the 2008 McKinsey Quarterly article "Business Strategies for Climate Change," the authors explain that "The winners will be companies that reposition themselves to seize the opportunities of a low-carbon future." This statement has been echoed by analysts, academics, and CEOs alike. But how do you get there? Many organizations have endured the struggle of beginning to calculate and set reduction goals of their carbon footprint, only to find the traditional office tools fall short in providing tangible insight and transparency, not to mention the absence of quality data. This paper will explain the differences between calculating and modeling emissions, the critical parallels between cost and greenhouse gas (GHG) accounting, collecting and managing data, and using activity-based modeling practices to gain invaluable insight from such efforts raw data, bar chart source 7
53 Choosing the Right Technique to Merge Large Data Sets Efficiently Qingfeng Liang Merging two data sets horizontally is a routine data manipulation task that SAS programmers perform almost daily. CPU time, I/O, and memory usage are factors that SAS programmers need to consider before data sets with large volumes are merged. This paper outlines different SAS merging techniques for both a many-to-one match, and a many-to-many match. For a many-to-one match, MERGE, PROC SQL JOIN, FORMAT, ARRAY, and the HASH object were investigated, and their performances were benchmarked. For a many-to-many match, PROC SQL join and MATCH-CROSSING methods were discussed, and their performances were compared. This paper shows that the HASH object is the best choice to perform a many-to-one match no matter single value or multiple values are retrieved from lookup table. ARRAY and FORMAT are also good choices with some restrictions. PROC SQL JOIN is the best choice for a many-to-many match lookup, hash table, data merging, proc sql, cpu time, proc step, memory usage, do loop, unique key source 9
54 CIBC Case Study: Risk Management and SAS Tools Rick Miller source 51
55 Clinical SAS Programming: Analysis and Mitigation of Risk Parag Shiralkar SAS programming is an important function of clinical reporting work in pharmaceutical industry. Despite importance of SAS programming in clinical reporting work, several factors at various levels of organization impact the productivity of programming as a 'business function'. These factors originate from the dynamics within an organization and the dynamics of the industry and often develop various types of risks in programming projects. While managing programming projects, project managers often need to deal with such risks. Most of the time such risks impact directly on the product delivered by the programming services. In some cases such impact is clearly visible financially through time and money lost in fixing the errors or in dealing with less priority work. This study explores factors which may cause deviation of risk from the perceived risk by the project managers working on SAS programming projects clinical trial, clinical sas, logistic distribution, sas risk engine, clinical research, data cleaning source 6
56 Clinical Trial Reporting Using SAS/GRAPH SG Procedures Susan L. Schwartz Graphics are a powerful way to display clinical trial data. By their very nature, clinical trials generate a large amount of information, and a concise visual presentation of the results is essential. Information about the patient population, drug dosages, clinical responses, and adverse events must be clear. Clinical laboratory results need to be presented within the context of acceptable limits, and subtle changes over time must be highlighted. This presentation will show, by example, how such graphs can easily be created using the SAS/GRAPH SG procedures bar chart, proc step, scatter plot, proc sgplot, clinical trial, proc sgpanel, user-defined format, graph template language, class variable, order by, response variable, washout period, clinical data, missing value, histogram source 21
57 Cloud Computing with SAS: Software Is Going through a Fundamental Shift from Shrink-Wrapped in a Box to the Cloud Sy J. Truong Cloud Computing is not a new computer architecture construct but there are several forces that are going to make it an alternative, if not the main way SAS software will be delivered in the future. This paper will detail some of the forces that are pushing many software solutions into Cloud Computing while describing how SAS is a microcosm of this transformation. Some of the topics being presented in this paper include: - Cloud Computing Introduction - Driving Forces for Change - Software Components of Cloud Computing - Requirements for Success The development of Cloud Computing has been in the making for some time. There are still some challenges and SAS needs to prepare and make a shift to this computing environment if it is to remain a dominant force in business intelligence software business intelligence, access control source 12
58 Combining Pieces and Parts to Create a Comprehensive Program Gary M. McQuown,
John Zheng
An often used anonymous quote is that "there are always at least five ways of doing something in SAS and more than one will be right." The significance of the statement is that SAS offers a variety of tools such as arrays, formats, functions, macros, procedures and SQL as well as a large number of statistical procedures. Given so many tools, there are multiple ways of combining them to solve various tasks and problems. The following illustrates a step by step approach to selecting and applying various tools to detect unbundling fraud in health care payments data step, proc sql, normalization, cpu time, proc step source 12
59 Comparison of Features and Applications of Four Linear Models Procedures Larry W. Douglass Development of SAS linear models procedures over the past several years has led to a number of easily accessible methodological statistical advances for experimental data analysis. The original linear models program, GLM, was a fixed MODEL procedure for analysis of normally distributed data with homogeneous variances. The GENMOD procedure extended the fixed linear model analysis to a number of non-normal distributions. With the use of GEE, GENMOD was able to address correlated repeated measures data. The MIXED procedure permitted the user to model both fixed and random effects for normally distributed variables. Because modeling of random effects permits multiple residual error terms, it is frequently possible to model heterogeneous residual variances. The most recent linear models procedure, GLIMMIX, has the capabilities of GLM, GENMOD and MIXED in one procedure. This presentation looks at the unique features and appropriate applications of each of these linear model procedures proc genmod, proc calis, proc mixed, proc model, repeated measures, covariance, response variable, anova, fixed effects, likelihood function, least squares mean, poisson distribution, normal distribution, proc freq, main effect, probability distribution, binomial distribution, residual, proc glimmix, degrees of freedom, repeated measures anova, sample, compound symmetry, covariance structure, data science, multivariate analysis, proc glm, correlation, regression analysis, proc reg source 19
60 Configuration Management for SAS Software Projects Steven J. O'Donoghue,
Andrew B. Ratcliffe
IEEE Std-729-1983 defines Configuration Management (CM) as "the process of identifying and defining the items in the system, controlling the change of these items throughout their lifecycle, recording and reporting the status of items and change requests, and verifying the completeness and correctness of items." After a more complete description of CM, its purpose and benefits, this paper describes the authors' experiences in implementing a CM system for a major financial project. For reasons explained in the paper, the authors considered the use of third-party packages but ultimately chose to write their own solution. The authors describe their decision-making process, the specification of their CM system, lessons learned during development and subsequent usage. The paper concludes with recommendations for applying CM to other projects sas data integration studio, txt, regression analysis, business intelligence, sas management console, data cleaning, access control, macro variable, dataset source 37
61 Configuring and Customizing SAS Enterprise Guide 4.2 in the SAS Platform Environment Lina Clover,
Cummins Mebane
SAS 9.2 Business Intelligence Platform introduces a new robust, configurable architecture. This paper will cover several administrative topics that illustrate how to configure and customize SAS Enterprise Guide 4.2 to work effectively in the new SAS 9.2 Business Intelligence Platform environment. The following administrative topics are discussed: How to configure SAS Enterprise Guide 4.2 with the SAS 9.2 Metadata Server, SAS 9.2 OLAP Server, SAS 9.2 Stored Process Server, and SAS 9.2 Workspace Server. How to set up authentication for si ngle sign-on when accessing SAS 9.2 servers on Windows, UNIX, and MVS operating systems. How to set up local and remote connections to database libraries for SAS Table Server and how to define DBMS libraries to access databases, such as Oracle, DB2, and Teradata. How to define libraries for XML data and WebDAV fo r publishing and managing content to Web servers sas enterprise guide, sas management console, business intelligence, dataset, sas library source 14
62 Cool Maps with Custom Areas Devi Sekar SAS/GRAPH software provides map coordinates for US state and city boundaries and also for several other countries. What if I want to draw my own r egion boundaries on the US m ap other than the state or city boundaries that SAS/GRAPH provides ? To b e able to work with SAS/GRAPH, I needed my region boundary coordinates in SAS traditional map datasets. How to create these map coordinate datasets? This paper has the answers! This paper walks you through the entire process from ground up - starting with converting non readable SAS map coordinates to generating wonderful drill down maps. This paper assumes working knowledge of SAS/GRAPH and ODS sample, proc gmap source 12
63 Could You Remind Me? Creating Calendar Events from SAS Clarke Thacher The iCalendar standard allows users to send meeting requests and tasks to other users through e-mail. The recipient of an iCalendar event can add this event to their personal or corporate calendar system. This paper demonstrates how simple DATA STEP programming can create and send events in iCalendar format. The application of this technique can range from the trivial, such as birthday reminders, to critical business processes macro definition, put statement source 7
64 Create State and County Plots Easily Using a Set of SAS/GRAPH Utility Macros James L. Ribble This paper will introduce a set of utility macros designed to simplify the creation of st ate and county level data plots. By making use of macros with execution-time parameters these routines can be used by even novice SAS users to create geographical data plots with little or no knowledge of SAS/GRAPH. The macros demonstrated will also allow users to overlay text and data-dependant markers on their plots as well as combine multiple plots into a single graphic image macro call, macro parameter source 9
65 Creating Code Templates in the SAS Enhanced Editor using Abbreviations and User Defined Keywords Paul H. Grant Jr. proc step, proc means source 6
66 Creating Common Information Structures Using Lists Stored in SAS Data Step Hash Objects Shawn Edney The ability of the SAS 9 DATA STEP HASH object to resize the amount of information that can be stored during DATA STEP execution opens up a number of opportunities to exploit. Significantly, it provides a dynamic framework on which you can mimic the behavior of other common information structures, such as array lists, stacks, queues, deques, and linked lists. This paper shows how this is accomplished by using the HASH object to store list data and to implement custom code to provide list functionality. This paper provides a brief introduction to lists, followed by a series of discussions and example code for implementing several common information structures hash table, hash iterator, data step, lag function, sas programmer, missing value, numeric variable, linked list source 19
67 Creating SAS Data Sets from HTML Table Definitions Richard D. Langston This paper is a follow-up to my 2007 paper "Handling Large Stream Files with the @'string' Feature." In this paper, I describe a SAS program that will read an arbitrary HTML stream and create a separate SAS data set for each <TABLE> definition in the stream. The variable names are determined from the table headings provided in the HTML. I build upon the techniques first described in the 2007 paper and show new ways to accomplish the goals. Features shown include the MISSOVER option used in conjunction with COLUMN=, INPUT @'string', and INPUT @'expression'; the useful CAT and CATX functions; the ?? operator used with the INPUT function; and issues involving %INCLUDE versus CALL EXECUTE dataset, macro variable, call execute, date variable, input statement source 9
68 Creating Your Own Worksheet Formats in exportToXL Nathaniel Derby %exportToXL is a freely available SAS R⃝ macro which allows the user to create custom-formatted EXCEL R⃝ worksheets, using Dynamic Data Exchange (DDE). It works on all versions of PC Base SAS, Windows, and EXCEL. Using this macro, the user can create custom-formatted worksheets by either exporting the SAS data onto a pre-formatted EXCEL worksheet, or by using a worksheet format. This is a set of commands which tells EXCEL how to format certain aspects of a worksheet such as font sizes and column widths. While %exportToXL comes with a few different pre-programmed worksheet formats, any programmer with some basic knowledge of the SAS macro language and DDE commands can make his/her own. This paper is a tutorial about how to do just that. Keywords: SAS, DDE, EXCEL, Export, X4ML excel, macro facility, macro variable, macro definition source 10
69 Cross Validation and Learning Curve Model Comparison with JMP Genomics and Grid Computing Tzu-Ming Chu,
Cheryl Doninger,
Glenn Horton,
Stan Martin,
Pei-Yi Tan,
Russell D. Wolfinger
The Food and Drug Administration has challenged researchers to demonstrate whether or not gene expression data can reliably predict future disease. JMP Genomics responded with a suite of predictive modeling tools suitable for short, fat data: tens of observations with tens of thousands of variables. Our approach is to compare a variety of models, as we do not know a priori what is appropriate for a particular data set. The number of types and subtypes of models that are practical to consider is primarily limited by CPU time. SAS Grid Manager, in conjunction with JMP Genomics, provides the intelligent allocation of distributed computing resources and parallel application execution necessary to provide more accurate and timely predictive modeling. In this paper, we describe our approach: the model suite, learning curves for evaluating the number of observations, cross-validation model comparison, and SAS Grid Computing grid computing, data cleaning source 12
70 CSSSTYLE: Stylish Output with ODS and SAS 9.2 Cynthia L. Zender It has become the standard for most company Web sites to use cascading style sheets (CSS) to standardize Web site look and feel. Now, with ODS and SAS 9.2, you can design a single CSS file to be used with ODS RTF, PDF, and HTML. In the past, CSS usage was limited to files created with ODS HTML. This paper provides an introduction into the use of the new CSSSTYLE option in SAS 9.2. This option allows you to use cascading style sheet (CSS) style specifications for RTF and PDF files, in addition to HTML files. This paper will include a brief introduction to CSS syntax and some of the features, such as @media CSS sections, that are particularly useful when creating ODS output. Then, all the methods of using CSS with ODS are discussed, with an emphasis on the new CSSSTYLE option. In addition to these topics, a job aid will be provided that outlines the most commonly used CSS properties and property values ods html, output delivery system, sas enterprise guide, ods pdf, sas 9 source 10
71 Custom Calculations Are a Snap When Using MDX and OLAP Brian O. Miles,
Ben Zenick
This paper will address the use of MDX to develop custom calculations in OLAP that aren't easy to implement or apply in reports based on standard tables. Have you ever attempted to apply if/else logic directly into an OLAP cube that will allow the engine to make certain decisions? Have you had difficulty applying Advanced Time Period Manipulation in an OLAP structure; like Year to Date or Rolling Year to Dates? Can you apply different calculations to a measure based on a certain level in a hierarchy? How can you deliver Non-Additive calculations in OLAP? This paper will address these questions as well as the following information custom options for cube building, using external aggregation tables, advanced MDX topics, and Cube display options sas data integration studio, proc step source 6
72 Customizing SAS Data Integration Studio with Plug-Ins to Turn Off Automap Christopher R. Olinger,
Stephen Baker
SAS Data Integration Studio (DI Studio) is a desktop client for interfacing with the SAS Metadata Server for creating, managing, and running processes (SAS programs) that leverage metadata in the server. This paper explores the available API for extending DI Studio by building a custom plug-in to perform a task that is not available in the delivered out-of-the-box feature set. One of the contentious features available in DI Studio is AutoMap, an option that causes some developers to cringe. An example plug -in is described that leverages the DI Studio API to provide a single click interface to turn off AutoMap on all nodes of a job. Lessons learned and best practices uncovered in the process of building this plug -in are shared sas data integration studio, proc step source 13
73 Dashboard Reports for Predictive Model Management Jifa Wei,
Emily Y. Gao,
Frank J. Wang,
Robert Chu
Dashboard applications enable users to get big pictures on very complicated sets of data and information quickly. Traditionally, dashboard tools are applied on top of rather descriptive variables. This article, however, describes how SAS BI Dashboard 4.2 and SAS Information Delivery Portal 4.2 are applied to a predictive model repository managed through SAS Model Manager 2.2. Specifically, this article describes a SAS macro that creates model performance SAS data sets and SAS ODS reports based on SAS Model Manager 2.2. Using these SAS data sets and reports, this paper explains the process of creating a BI Dashboard and a WebDAV content portlet of SAS Information Delivery Portal to allow user monitor model performance in a SAS Model Manager repository. Analytical dashboards can help corporate executives quickly gain insight into their critical assets sas model manager, population, champion model, macro definition, training set source 12
74 Data Integration in a Grid-Enabled Environment Cheryl Doninger,
Nancy A. Rausch
SAS Data Integration Studio and SAS Grid Manager add capabilities to the SAS product suite to automatically and efficiently distribute workloads across a grid of computers to allow large processes to complete more quickly than previously possible. SAS Grid Manager has been incorporated into SAS Data Integration Studio to make it easy to use grid resources for any long-running task that can be processed in parallel. This paper discusses typical data integration workloads that can be made parallel and how they scale on typical grid computing hardware as well as the new capability to load-balance multiple data integration tasks across grid resources sas grid, proc step, grid computing, unstructured data, proc means, data integration, txt, parallel processing, sample source 11
75 Designing Experiments for the Process George A. Milliken Most experiments are a part of a process, not an entity unto themselves, and designs that do not account for the restrictions of the process end up with inferior analyses. In this presentation the design of experiments are described as a process instead of a single entity. A design must first be approached by stepping back to evaluate how the design of the experiment fits into the whole process, identifying the process restrictions, and, finally, using the restrictions to develop an appropriate designed experiment and then the corresponding analysis. Only when the complete process involved with the design of the experiment is known can an appropriate model be constructed. Simple to complex designs have basic characteristics in common called design structures. Basic design structures are the building blocks of complex designs degrees of freedom, sample, anova, randomization, residual, proc calis, type i error, significance level, elapsed time, repeated measures source 27
76 Designing Multi-Step Fractional Factorial Split-Plots: A Combined JMP and SAS User Application Jose G. Ramirez,
Jon T. Weisz
In the past 10 years, there has been an increase in research and software development in the design of experiments for split-plot situations. As supply chains grow across the globe and complexity increases, it is necessary to design experiments for processes involving three, four, or more steps. New features in PROC FACTEX in SAS 9.2 make it possible to design fractional factorial split-plots for multi-step situations. This paper gives a brief introduction on how to design fractional factorial split-plots for multi-step situations using real industrial examples, and shows how JMP users can take advantage of these new capabilities using a JMP application main effect, proc step, randomization, anova source 11
77 Developing Rich Internet Applications (RIA) Using the SAS Intelligence Platform Robert M. Lill,
Steven R. Tuttle
This paper discusses how to develop rich Internet applications (RIA) using tools such as Flex with SAS as a service provider. Exposing the powerful SAS platform as a service endpoint through its Java API, we are able to inject real intelligence into business applications. We provide an architectural overview and technical discussion of each component used including SAS, Eclipse, RIAFusion plug-in, Flex, Jboss, and Java. We highlight the SAS Integration, Service registration, and Flex development steps required to realize this SOA application development construct sas management console, service provider, business intelligence, variable, web service source 9
78 Discover and Drive Brand Activity in Social Networks Barry deVille This work report demonstrates how Web-based textual media can be mined and visualized to gain brand knowledge and customer leverage. Brands and key opinion leaders are identified, quantified, and visualized to answer such questions as: What is social media/c onsumer-generated content? What is social media marketing/monitoring? What is a niche community? Who are influencers? How are they identified? How do you identify brands? * What are the appropriate reporting te chniques and visualization approaches? An end-to-end case study is presented using Web-based medical abstracts as illustrations of a range of social- and consumer-generated text sources that contain insights on brand adoption and use patterns. Techniques-based on the interplay of SAS Text Miner and SAS Content Categorization powered by Teragram- are demonstrated as are social networks metrics calculations link analysis, network analytics source 13
79 Distribution Interruption Performance Reporting: A Complete Solution Chris van der Westhuizen Most electrical distributors are required to report on the performance of their distributed electrical networks. These measures are required at operational and strategic levels within utilities. Distribution Network Interruption Performance Reporting is the standardized reporting of measures that reflect the performance (reliability) of an electrical distribu ted network. The measures used for reporting networ k performance is guided by several international indu stry standards e.g. Institute of Electrical and Ele ctronics Engineers (IEEE) and International Council on Large Electric Systems (Cigre). Inconsistent, unreliable and non standardized repor ting of reliability indices across distributors are the main problems within the industry. This is due to distri buted application systems and different interpretat ions of international standards when calculating reliability indices raw data, data validation rules, business intelligence, data mart source 10
80 Don't Be a SAS Dinosaur: Modernizing Programs with Base SAS 9.2 Enhancements Warren Repole Jr. New features of the SAS programming language often permit the replacement of complex algorithms and clunky workarounds with more elegant code. Some enhancements support the creation of more efficient solutions. Whether you are a SAS programmer with many years of experience or a novice user who is responsible for maintaining legacy programs, implementing updated ap proaches can allow you to streamline your SAS applications, expedite the development and debugging process, and minimize future maintenance of the code options statement, proc step, proc print, sas log, set statement, sas base, findw, %if-%then-%else, if-then-else, macro facility, macro definition source 11
81 Dynamically Allocating Exported Data Sets by the Combination of Pipes and X Statement Xin Wei If you generate a thousand of tables in five minutes, you may also want to dump them into appropriate locations to show your clients that you are not only productive but also well-organized. In this paper we discuss the solution to dynamically export table into a destination whose name depends on data and you do not know in advance by the combination of system pipe option and 'X' statements in SAS DATA STEP dataset, data step source 4
82 E-Mail z/OS CICS Exception Reports in Plain Text Format Using DATA _NULL_ and MXG Software Neal Musitano Jr. This paper describes the process of e-mailing z/OS CICS excepti on reports from a z/OS mainframe platform by using the SAS e-mail engine, DA TA _NULL_ and MXG software. The plain text report is generated and e-maile d to z/OS and CICS software support technicians from a z/OS batch job that uses the BASE SAS JCL procedure. Z/OS software support personnel are able to identify potential software problems very quickly by receiving a prompt e-mail notice from the daily job that examines the MXG CICSTRAN dataset for any unusual CICS transaction exception conditions. Additionall y, if no CICS exceptions are detected then the job ends without sending a blank e-mail. This is ac complished by checking the SAS working dataset of z/OS CICS transaction abends for an observation count. This also eliminates unnecessary spam type e-mail, since the e-mail is only sent if an exception is detected put statement, sas base, dataset, set statement, batch job, proc step source 8
83 Easier Exploratory Analysis for Epidemiology: A Grad Student "How-To" Paper Elisa L. Priest,
Brian Adams,
Lori A. Fischbach
In epidemiology, exploratory analyses of existing data can screen new hypotheses and provide rationale for future studies. Graduate students often perform an exploratory analysis for a dissertation because it is cost- and time- efficient. Exploratory analyses may examine multiple variables and outcomes across strata of data. Thousands of pages of statistical output may need to be examined for meaningful patterns. The challenges of an exploratory analysis are 1) Organization: Which variables do you want to examine?; 2) Execution: How do you code hundreds of statistical models?; and 3) Summarization: How do you combine hundreds of results across models? This paper gives graduate students the tools to perform an efficient exploratory analysis. These tools include 1) an EXCEL control document for organization of variables; 2) a macro-based SAS/STAT analysis to simplify analysis; and 3) ODS OUTPUT to summarize statistics in meaningful tables macro definition, proc phreg, excel, proc step, hazard ratio, macro loop, macro variable, raw data, confidence interval, sas output, output, sas base, dataset, macro call, maximum likelihood estimation, likelihood function, macro facility source 11
84 Effectiveness and Cost of SAS Compression Hitesh Sharma Base SAS usage has a broad spectrum. It varies from highly controlled and optimized production environments to non technical analysts trying to solve complex problems with Enterprise Guide drag and drop transformations. The data volumes vary and so does the structure of data. It is therefore helpful to have some guidelines on when to use compression. The white paper identifies and analyzes data attributes which impact effectiveness of SAS compression. The goal is to be able to set some recommendations which would help analysts and developers to make initial judgment on using compression. More than 27000 SAS datasets were tested for compression and results were analyzed with data attributes. This helped in establishing guidelines for choosing compressions in SAS dataset, sample, cpu time, data step source 9
85 Enhancements to Maps Using the Annotate Data Set David J. Corliss The Annotate Dataset in SAS is employed to enhance maps. Records are created for the display of list of landmarks and railroad routes using latitude and longitude coordinates. Data for Alaska and Hawaii are projected with a separate location for each state and a reduced scale for Alaska, allowing the display of points in the preferred USCOUNTY map format dataset, proc step source 7
86 Evolution of the Investigator Satisfaction Ranking Report: The Advantage of Using the "PROC REPORT Procedure/ODS Excel" versus a "CROSSTAB Output" or "CROSSTAB/ODS Excel" Mollie Van Loon,
John M. Shingler
This paper describes the evolution of the SAS programming of a report used in employee evaluations by a government agency. The data is taken from a survey seeking customers' opinion of the service they received from the agency. We entered the data into a SAS dataset and developed a ranking for each employee. The agency requires the final report to be in EXCEL. When we began processing the report, the programming was written in SAS Version 6. The report was derived from a CROSSTAB output .LST file and typed into an EXCEL table. With SAS Version 8, we were able to output the CROSSTAB table into an EXCEL file using ODS. Although the results were in EXCEL, they still required much editing. Thus, the first two versions were both time consuming and error prone. To resolve these issues, we changed the SAS programming and used PROC REPORT and ODS statements excel, proc report, proc step, sas programming, proc freq source 8
87 Examining Mediator and Moderator Effect Using Rural-Women HIV Study Kirby Jackson,
Linda Moneyham,
Abbas S. Tavakoli
predictor variable, regression analysis, interaction effect source 6
88 Exploring PROC SQL Joins and Join Algorithms Kirk Paul Lafler Real systems rarely store all their data in one lar ge table. To do so would require maintaining severa l duplicate copies of the same values and could threaten the in tegrity of the data. Instead, IT departments typica lly split their data among several different tables. As a result, a method is needed to access two or more tables to h elp answer the interesting questions about our data. This presenta tion describes the various join algorithms as well as the join processes including Cartesian product joins, inner joins, and outer joins proc sql, where statement, proc step, inner join, data merging, right join source 6
89 Exploring System Performance with SAS Simulation Studio Edward P. Hughes,
Hong Chen,
Emily Lada,
Phil Meanor
Discrete event simulation is used to model, study, plan, and improve systems in which random events play a dominant role. These systems are often driven by complicated mathematical and logical relationships, making it impossible to derive an analytical solution. The journal OR/MS Today cites simulation software as one of the most widely used tools in operations research, due in part to its applicability in a wide variety of fields including manufacturing, customer service, and health care. SAS Simulation Studio (currently experimental in SAS/OR 9.2, with a production release planned for the third quarter of 2009) is a new Java-based application for modeling and analyzing systems through the use of discrete event simulation. Its graphical user interface requires no programming and provides a full set of tools for building, executing, and analyzing the results of discrete event simulation models exponential distribution, sample source 10
90 Exploring the Metadata Family Tree Elena Muriel An untapped resource of metadata functionality exists within the grasp of the SAS programmer. At first glance this rich mine of information is hidden from view, however metadata functions can extract this valuable information for a variety of different uses. All of which is available within the framework of the humble SAS DATA STEP. Information extracted can vary from creating customised autoexec files based on a metadata group to the development of customised Enterprise Guide plug-ins that send automatic emails to groups defined in metadata. The metadata can even be queried to perform authentication and authorisation. The paper will explain how to use the metadata functions available in the DATA STEP environment and highlight different uses of the information that can be extracted. It will also describe the basics of writing metadata queries via the Metadata Utility within the SAS Management Console data step, sas programmer, sas management console source 10
91 Exploring the Undocumented PROC SQL _METHOD Option Kirk Paul Lafler The SQL Procedure contains many powerful and elegan t language features for SQL users to take advantage of. This paper explores the _METHOD option as an applications development and tuning tool. Attendees will learn how to use this undocumented and powerful option to better understand and control how a query processes proc sql, proc step source 2
92 Extreme Survey Weight Adjustment as a Component of Sample Balancing (a.k.a. Raking) David Izrael,
Michael P. Battaglia,
Martin Frankel
Raking is a widely used technique for developing survey weights. It assigns a weight value to each sampling unit such that the weighted distribution of the sample is in very close agreement with two or more marginal control variables. For example, in household surveys the control variables are typically sample design and socio- demographic variables. Raking is an it erative process that uses the sample design weight as the starting weight and terminates when the convergence criteri on is achieved. The resulting final weight may however exhibit considerable variability, with some sampling units having extremely low or high weights relative to most of the other sampling units. This leads to inflated sampling variances of the survey estimates sample, control total, proc calis, macro parameter, design effect, macro definition, survey weight source 10
93 Fifty Ways to Lose Your Data (And How to Avoid Them) Linda T. Jolley,
Jane Stroupe
There probably are not 50 ways to lose your data, but there are a bunch. Of course, if we all backed up our data before working with it, there wouldn't be a problem. However, that's not always a practical solution, especially if your data sets are large. By being aware of coding syntax that can lead to data destruction, you can avoid finding yourself with a data set containing 0 observations. The techniques in this paper can help anyone from the novice to the experienced user prevent disasters. If you've never had this problem, these techniques will allow you to continue to be quite proud of yourself proc step, proc sql, infile statement, by group processing, hash table, missing value, update statement, where statement, raw data, dataset, proc print, proc means source 21
94 Fitting Cox Model Using PROC PHREG and Beyond in SAS Lea Liu,
Sandy A. Forman,
Bruce A. Barton
Cox proportional hazard model has been widely used for survival analysis in many areas in investigating time-to-event data. PROC PHREG in SAS has been a powerful tool used for construction of a Cox model. In addition to the STATEMENTs and OPTIONs within PHREG that have already provided the most demanded output, a little more effort on data manipulation would accomplish the calculations and generate output for some new statistical approaches. This paper presents: 1) Using overall C-index as a measure of discrimination for model validation; 2) Calculating adjusted survival rate using corrected group prognosis method; 3) Presenting the effect of a continuous covariate on estimated survival. The core SAS program code and MACRO used for implementation are included proc phreg, proc step, survival analysis, primary endpoint, model validation, interval variable, roc curve, data cleaning, confidence interval source 10
95 For Base SAS Users: Welcome to SAS Data Integration! Jeff Stander Base SAS offers a very powerful way to manage your data. This paper introduces using SAS Data Integration Studio from a Base SAS programmer's perspective. We will examine what benefits SAS Data Integration Studio offers and how to easily start using SAS Data Integration Studio through the use of existing SAS code, the SAS Data Integration Studio GUI, and the SAS Code Importer sas base, proc sql, proc step, data integration, sample, sas programmer, data cleaning source 19
96 Formats, MP/Connect, and Other Efficiency Techniques to Save Time and Space John Charles Gober,
Arumugam Sutha
Working with historic household Census data can be quite challe nging. Semi-annual data sets can exceed 50 gigabytes and when working with multi -year data it is often necessary to extract information from yearly clusters of data sets exceeding 300 gigabytes. These yearly clusters, until recently, have been processed sequencally, each independent process relying on the completion of the previous process before continuing. The sorting alone of some of these data sets can take over an hour of clock time. Processing six data set representing three years of data can take six hours. By using format tables and eliminating sorts and merges, reducing repeated passes through the data, and the use of MP connect for independent processes processing time and temporary storage can be reduced by over 50 percent. This paper will explore several techniques using format tables, combining data steps, and MP connect to achieve these results cpu time, proc step, data step, proc format, proc sort, mp connect source 6
97 From Obscurity to Utility: ADDR, PEEK, POKE as DATA Step Programming Tools Paul M. Dorfman APP functions is an (unofficial) collective abbreviation for the SAS functions ADDR, PEEK, PEEKC, the CALL POKE routine, and their so-called LONG 64-bit counterparts - SAS tools designed to directly read from and write to the physical memory in the DATA STEP and SQL Procedure. APP functions have long been a SAS user dark horse. Firstly, the examples of APP usage in SAS documentation boil down to a few tidbits in a technical report, all intended for system programming tasks, with no hint how the functions could be used in plain data management SAS programming. Secondly, the note about the CALL POKE routine in the SAS documentation is so intimidating in tone that many a folk may have decided to avoid the potentially precarious route altogether numeric variable, character variable, sas programmer, temporary array, proc sql, length statement, data governance, variable list, dataset source 20
98 Generalizations of Generalized Additive Model (GAM): A Case of Credit Risk Modeling Wensui Liu,
Jimmy Cela,
Chuck Vu
Famous for its easy implementation, Logistic Regression has been the prim ary model in credit scoring. Albeit attractively simple, it is criticized for failing to c apture nonlinearity and nonmonotonicity and therefore possibly not leads to satisfactory results. Introduced by Hastie and Ti bshirani, Generalized Additive Model (GAM) provides the ability to detect the nonlinear and nonmonotonic relationship between the risk behavior and predictors without the loss of interpretability. However, the semi- parametric nature of GAM makes it difficu lt to be used in a business. In this paper, we present an application of GAM in credit scoring as well as a class of hybrid models combining ideas of Logistic Regression and GAM in order to improve the generalizabilit y of nonlinear modeling. Model performance is evaluated and compared among discussed m odels using the area under Receiver Operating Characteristic (ROC) curve logistic regression, regression analysis, logistic distribution, data cleaning, credit risk, roc curve, credit risk analyst, validation set, numeric variable, credit scoring, degrees of freedom, proc hpsplit, response variable source 14
99 Generate a Customized Axis Scale with Uneven Intervals in SAS - Automatically Perry Watts The conventional order clause in the axis statement for SAS/GRAPH software is well-suited for scatter plots with continuous data or line plots where di screte data are evenly spaced apart. Ho wever, accommodating discrete ordinal data with uneven intervals requires a two-step approach. Fi rst, a hidden conventional axis with narrow intervals needs to be generated where ticks and labeling are turned o ff. Then the hidden axis is overlaid by the uneven scale that is plotted from ANNOTATE. With ANNOTATE there is no need to hard-code formats or label ticks in an axis statement. Instead, full automation can be achieved by combining ANNOTATE with a few macros. Included in the paper are relevant graphics examples such as needle plots, box plots, u neven width histograms, and embedded bar charts that rely on multip le horizontal axes for their display. Associated macros and a calling program can be found in the Appendix macro function, histogram, line chart, ordinal variable, proc sql source 13
100 Geospatial Analysis Using SAS and the Google Map API Mai Nguyen,
Shane Trahan
The Google Map API allows Web site developers to integrate mapping capabilities into their own Web sites. These mash-ups combine data from more than one source into a single tool used by a broad range of people including real estate professionals who map properties for potential clients to municipalities which relay traffic-related issues through their Web sites. RTI International researchers have taken this a step further by integrating the Google API into a library that can be used not only by Web developers but by SAS programmers and other developers as well. SAS programmers can take advantage of the Google API to perform a variety of Geographic Information System (GIS) calculations by using a set of easy to use function calls in the DATA STEP. Our paper will provide two SAS programs showing (1) how to obtain Geocode information for specific addresses and (2) how to compute the crow-fly and the traveling distance between any two locations proc print, sas programmer, proc step source 10
101 Get Your Data Squeaky Clean with SAS Data Quality Server Faron Kincheloe The SAS Data Quality Server module brings the power of DataFlux into the SAS platform. This can be extremely beneficial for those who are already using SAS to manipulate and cleanse data. This presentation will explain how to use SAS Data Quality Server to parse the elements of a name, identify duplicate names and addresses in dirty data, estimate gender, and standardize organization names. We will cover the syntax and parameters used for creating matches and standardization schemes. We will see how these parameters affect the data cleansing process. A real- world example will be presented to show the impact data quality has on decision making adam dataset, excel, proc sql source 16
102 Get Your Hands Dirty Cleaning Your Data with SAS Data Quality Server Faron Kincheloe The SAS Data Quality Server module brings the power of DataFlux into the SAS platform. This can be extremely beneficial for those who are already using SAS to manipulate and cleanse data. During this hands-on workshop, attendees will use SAS Data Quality Server to parse the elements of a name, identify duplicate names and addresses in dirty data, estimate gender, and standardize organization names. We will cover the syntax and parameters used for creating matches and standardization schemes. We will experiment with these parameters to show how they affect the data cleansing process. A real-world example will be presented to show the impact data quality has on decision making adam dataset, excel, proc sql source 16
103 Getting from SAS 9.1.3 to SAS 9.2: Migration Tools or Promotion Tools Diane Hatcher,
Sandy McNeill
If you are running a metadata server in your SAS 9.1.3 environment, you must upgrade your metadata when you move to SAS 9.2. There are two possible approaches to take. The first approach is a migration, which will essentially copy your SAS 9.1.3 environment over to SAS 9.2 as part of your SAS 9.2 installation process. The second approach is to make a fresh start by installing SAS 9.2 first, then promoting specific content from SAS 9.1.3 afterwards. This paper will describe the tools, processes, and considerations for each approach. The goal is to help you make an educated assessment to determine which approach will work best for you sas management console, sample, data cleaning, spk file source 12
104 Getting the Most Out of the SAS Survey Procedures: Repeated Replication Methods, Subpopulation Analysis, and Missing Data Options in SAS 9.2 Patricia A. Berglund This paper presents practical guidance on three common survey data analysis techniques: repeated replication methods for variance estimation, subpopulation analyses, and techniques for handling missing data. A number of new features in the SAS 9.2 survey procedures are demonstrated: Jackknife and Balanced Repeated Replication methods for variance estimation, subpopulation analysis with use of the DOMAIN option and the subsetting approach and the use of the NOMCAR (not missing completely at random) and multiple imputation options for handling missing data. Descriptive statistics as well as logistic regression are demonstrated. The analytic techniques presented can be used on any operating system and are intended for an intermediate level audience missing value, proc step, sample, proc calis, proc surveymeans, imputation, proc mi, proc mianalyze, multiple imputation, missing completely at random, random sampling, cv, proc surveylogistic, regression analysis, label statement, confidence interval, data science, sample size source 12
105 Graphs in Flash, using Graph Template Language (GTL) Himesh Patel The Graph Template Language (GTL) offers many opportunities for application developers to package simple or complex custom-designed graphs into stand-alone template libraries. In SAS 9.2, users can generate static output only through Java rendering. Let's take a peek into future rendering through the use of Adobe Flash. You will be able to use your current GTL code to generate interactive graphs using Flash technology. Once data is visually analyzed, you will be able to publish the graphs in presentations or reports graph template language, output delivery system source 6
106 Group Sequential Analysis Using the New SEQDESIGN and SEQTEST Procedures Yang Yuan In a fixed-sample clinical trial, data on all individuals are analyzed at the end of the study . In contrast, a group sequential trial provides for interim analyses before completion of the trial. Thus, a group sequential trial is useful for preventing unnecessary exposure of patients to an unsafe new drug or to a placebo treatment if a new drug shows significant improvement. This paper reviews basic concepts of group sequential analysis and introduces two SAS/ST A T procedures: the SE- QDESIGN and SEQTEST procedures. Both procedures are experimental in SAS 9.2. The SEQDESIGN procedure creates group sequential designs by computing boundary values with a variety of methods, including the O'Brien- Fleming, Whitehead, and error spending methods; it also provides required sample sizes sample, sample size, alternative hypothesis, confidence interval, type ii error, null hypothesis, group sequential design, ods output, type i error, likelihood function, maximum likelihood estimation, ods graphics, z-test, proc step, output, proc calis, output delivery system source 20
107 GTL (Graphics Template Language) in SAS 9.2 Philip R. Holland The production version of the GTL (Graphics Template Language) was introduced in SAS 9.2. This new language gives all users the ability to create high-quality graphs using simple ODS Graph templates and structured data. This paper describes how to get started with this new language by developing some typical graphs for publication line chart, forest plot source 8
108 High-Performance Grid and Cluster Computing Industry Trends Dana Rafiee As computing power requirements and the amount of data increase, organizations continue to be faced with the challenge of satisfying business needs on the data within business usable timeframes. In the past, there was only one choice, process on a server. If more processing was needed, it was time to get a larger server. The same was true for databases. They typically use a traditional storage mechanism. The primary answer to each traditional method is to buy bigger, more expensive server hardware and disk storage. Imagine the potential for a redesign that offers distributed computing capacity and distributed storage. This presentation will discuss these industry trends along with innovative designs created by Destiny Corporation that address the combination of issues, applied to various client sites grid computing, excel source 3
109 How to Leverage Oracle Bulk-load for Performance Jun Cai Often times, we need to load a large volume of SAS data into an Oracle database. Bulk-load through th e SAS/ACCESS interface would be the first choice in many cases, but there's a cost associated with dump ing SAS data to a text file to accommodate SQL*Loader. SAS V9 further boosts the bulk load by leveraging nativ e Oracle features on load. However, it is crucial to underst and how and when to use those functions in order to optimize load for performance. Inappropriate uses of those option s may not produce a desired result. Instead, it mig ht jeopardize your load. This paper is intended to explore some o f these new features and to discuss the various sit uations that should be taken into consideration when applying th ose options in Oracle bulk load. Sample code will b e presented to elaborate the benefits gained by appropriate use s of those options, including OR_PARTITION, BL_INDEX_OPTIONS, BL_RECOVERABLE, BL_SUPPRESS_NULLIF and BL_OPTIONS dataset, raw data, sample, oracle, key, sas programmer, txt, proc append, proc step, proc sql source 10
110 How to Maintain Happy SAS 9 Users Margaret A. Crevar,
Tony Brown
Today's SAS environment has high numbers of concurrent SAS processes and ever-growing data volumes. It is imperative to proactively manage system resources and performance to keep your SAS community productive and happy. We have found that ensuring your SAS applications have the proper computer resources is the best way to make sure your SAS users remain happy sas batch, batch job, proc step, proc sql, dataset source 11
111 How to Use ARRAYs and DO Loops: Do I DO OVER or Do I DO i? Jennifer L. Waller Just the mention of ARRAYs and DO loops is enough to make a new SAS programmer want to run away, cover their ears, and shut their eyes. However, if you have ever copied SAS code that performs the same operation to create multiple new variables, using ARRAYS and DO loops can make your job easier. ARRAYs and DO loops are powerful data manipulation tools that help make code more efficient. In this workshop you will learn when ARRAYs and DO loops can and should be used, how to set up an ARRAY with and without specifying the number of array elements, and determine what type of DO loop is most appropriate to use within the constraints of the task you want to perform. So open your eyes, take your hands away from your ears, stand up from cowering in the corner, and come to banish the fear of ARRAYs and DO loops do loop, do over, end, array source 11
112 Identifying Complications and Overcoming Problems Using SAS Enterprise BI Server Clare A. Nicklin The Open University in the United Kingdom has been involved in analysing, designing, and implementing a data warehouse system. There is nothing unusual about such a project, but the university had no exposure to the SAS9 suite of tools and has come across many problems and issues during the project lifecycle. This paper, firstly, details the system's software requirements where a combination of SAS software (including SAS Data Integration Studio, SAS OLAP Cube Studio, SAS Information Map Studio and SAS Web Report Studio) was used. Secondly, a brief outline of the project itself will be described to put the development into context. Thirdly, a number of issues and problems are highlighted to describe how the development of the system was stalled for a number of months. Finally, the implemented solutions are highlighted including how the specified tools were used to overcome several problems data mart, data warehouse source 12
113 If I Only Had a Map. Getting from Here to There: Common Approaches to Solving Data Step Logic Issues Kim M. Wilson How often have you needed to reshape your data so that multiple observations for the same BY group become condensed into a single observation? Have you wondered how to best approach putting two data sets together in order to perform calculations or to compare values between them? Perhaps you're asked to determine if values or dates overlap between observations, which could have a great impact on your company's production or spending. Even with a thorough knowledge of SAS syntax, knowing how to approach such logic issues is the key to efficient programming. Knowing what you have and what you desire to obtain from the data is the first step in tackling this issue. This paper offers tips and techniques to enable you to take a project from start to finish as efficiently as possible by group processing, do loop, merge statement, missing value, set statement, retain, sample, hash table, if-then-else, proc freq, proc step, proc sort source 17
114 Image is Almost Everything: Displaying Statistics Via ODS R. Scott Leslie After conducting statistical analyses you must find a way to report the results. A simple print of the traditional SAS output can disinterest most readers, especially those not familiar with statistics. The Output Delivery System (ODS) gives you the ability to output results of statistical tests into data tables and graphs. With some manipulation and formatting these data tables can be sent to the possible ODS destinations to generate appealing results therefore avoiding manual data entry. This paper offers ways to make a nice presentation of numbers to assist an audience in reading and interpreting results. Examples include using the LOGISTIC and GLM procedures to better display odds ratios and adjusted least-squares means odds ratio, proc step, ods output, output, output delivery system, proc genmod, logistic distribution, proc glm, ods rtf, estimate, format statement, proc logistic, confidence interval, data science, proc univariate source 8
115 Implementing a BI Reporting Environment: Making Dashboards More OLAP-Friendly Gerard Quinn proc sql, macro variable, proc step source 19
116 Implementing a Repair Heuristic for Unplanned Work in Resource Constrained Project Schedules Using Base SAS and SAS PROC CPM Sandra J. Archer,
Robert Armacost,
Julia Pet-Armacost
Scheduling is the process of developing a plan for a set of tasks that compose an overall project that must comply with a set of precedence constraints and optimize a project objective. The area of focus here is the Stochastic Resource Constrained Project Scheduling Problem (SRCPSP) with Stochastic Task Insertion (STI). In order to facilitate experimentation on the development of new predictive techniques for the SRCPSP with STI, an automated process was developed to repair the schedule in "real time" as some tasks occurred and others did not. A right/left- shift repair heuristic is presented here that was formalized and written using Base SAS code and SAS/OR software's CPM procedure. Base SAS is used to control the schedule data and shift tasks to the right/left-shift as needed. Additionally, PROC CPM is used in an iterative fashion to check the repaired schedule for resource constraint violations proc step, sas base source 10
117 Implementing CDISC When You Already Have Standards: A Case Study Sandra Minjoe How you choose to implement CDISC will be based on current company standards and their robustness, the amount of control you have at each step of the data flow process, your time vs. resource needs, and your willingness to change. We began by implementing CDISC between data collection and analysis. That is, data will be collected in non-CDISC structures, but we'll use SDTM and ADaM for analysis, reporting, and filing to FDA. This allows us to file the same data to FDA that we've used ourselves in analysis, without having to do extra work at the time the submission is being prepared. This paper will describe what we've done and are still doing to implement CDISC data standard, adam dataset, cdisc source 10
118 Implementing Stack and Queue Data Structures with SAS Hash Objects Larry Hoyle The SAS hash object is a convenient tool for implementing two common data structures, the stack and the queue. While either of these may be implemented with arrays, the hash object implementation offers the advantage of dynamic memory management - a maximum memory size does not need to be specified in advance. This paper includes a set of SAS macros that can be used in a DATA STEP to create and delete stacks or queues and to enter or remove data from those data structures hash table, sysrc, macro definition source 10
119 Improving SAS I/O Throughput by Avoiding the Operating System File Cache Leigh A. Ihnen,
Michael R. Jones
SAS I/O processing (the reading and writing of SAS data files - data sets, catalogs, index files, and so on) is done by default via the UNIX or Windows operating system's file cache. When accessing SAS data files in the multi- gigabyte range, overall system I/O throughput can be negatively affected. One method that might avoid such an I/O bottleneck is to avoid the operating system's file cache by using the SGIO SAS parameter (that was introduced with SAS 8) or the new DIO SAS parameter (that has been added to SAS 9.2 on several UNIX platforms). This paper will discuss when the use of SGIO and DIO is appropriate and how to specify and tune the two capabilities. In addition, the paper will present examples of potential system I/O throughput improvement, which can be very significant dataset, relational database source 11
120 Information Maps That Rock: How to Design for Optimal Performance While Balancing Cost and Other Business Requirements Paul Christenson,
Susan Trelstad
Information Maps can be sourced from relational database tables or views, SAS datasets, SAS views, SAS OLAP cubes, or SAS stored processes, or a combination of the above. This "Stack" of source options has varying pros and cons for development and ongoing maintenance costs. Depending upon any required data manipulation and/or the need to build data hierarchies, filtering requirements, and considering the need to return data results quickly in an interactive environment, some choices for Information Map sources may be better than others. In this paper, we will share our lessons learned in source selection and Information Map design, some realistic performance testing guidelines, and recommendations for improving the user experience using SAS 9.1.3 Intelligence Platform dataset, view, proc sql, data mart, data warehouse, proc print, star schema source 9
121 Inline Formatting with ODS Markup Eric A. Gebhart Explore the power of inline formatting in ODS. And, learn about the super powers of inline formatting with ODS markup and ODS measured; see how easy it is to make your reports look better than ever. With new and improved syntax, ODS inline formatting is better and more powerful. Learn how to use it and extend it to do even more than you dreamed possible. 'TWAS BRILLIG, AND THE SLITHY TOVES, DID GYRE AND GIMBLE IN THE WABE Inline formatting has been around for a few years now, but as of 9.2, it has a new syntax and is more powerful than ever. However, it can look a bit daunting-much like Lewi s Carroll's Jabberwock, the Jubjub bird, and frumious Bandersnatch. You might be better off running the other way. However, inline formatting isn't nearly as bad as these characters excel, create table source 12
122 Innovation, Implementation, and Integration: Building a DataWarehouse with SAS Data Integration Studio and MS SQL Server Soeren Junk proc sql, sql server, sas data integration studio, sql pass-through, txt, dataset, sas enterprise guide source 11
123 Integrating Financial and Non-Financial Information to Enhance Strategic Decision-Making Capabilities at McMaster University Debbie Weisensee,
Anne McInnis,
Lars Hult
This paper covers the process involved in developing a university-wide decision support system at McMaster University, for both financial and non-financial data. Over the past few years, McMaster has been designing and building a data warehouse based on enterprise-wide information needs. The data warehouse is being built incrementally along with end-user, web-based query and reporting tools using a suite of SAS software, with the most recent module implemented being SAS Financial Management. Much of the data that is now in place will be integral in providing senior administration with comprehensive reports on both financial and non financial data in a variety of areas across the university. This paper will discuss our experience including: keys to success, challenges, pitfalls, lessons learned and what we would do differently data warehouse, excel source 15
124 Integrating SAS Business Intelligence with Microsoft SharePoint David Henderson,
Sean Alexandre
Because of the increased interest and deployment of Microsoft SharePoint, the need to integrate SAS Business Intelligence technologies with SharePoint has also risen. This paper describes a variety of approaches to integrating the two technologies, such as using SharePoint document libraries to store content produced by SAS, including SAS output in SharePoint pages and extracting SharePoint list data into SAS for analysis. This paper also introduces the new SAS Web Parts for Microsoft SharePoint, which provide the ability to add SAS Stored Processes and SAS BI Dashboards to a SharePoint page business intelligence source 11
125 Interactive Outlier Review and Regression Analysis in SAS Stat Studio Robert Seffrin The United States Department of Agriculture National Agricultural Statistics Service uses survey data and satellite imagery to create an annual Cropland Data Layer (CDL) land cover classification product. The CDL and survey data are used to estimate crop acreage. This case study greatly enhances the ActionMenuScatterPlot.sx SAS Stat Studio program by: dynamically generating a menu based on the input data set values color-coding data values based on outlier indications from PROC REG using the menu selection to subset the viewed data saving selected data points to a SAS data set rerunning the regression updating the display to highlight already saved data values * saving the most recent regression and scatter plot to a file Additionally, the program can display and update the regression equation and R2, brush data points by selected variables, and review the mapped spatial distribution of data values and errors regression analysis, outlier, scatter plot, proc reg, proc step, sample, dataset source 10
126 Interrogate the Interrogator: Presenting SAS Usage Information Using BI Tools Emilio J. Power,
Shawn Edney
In simple and complex SAS deployments, performance monitoring can help ensure ideal efficiency when using resources. With out-of-the-box deployments, this information can be difficult to extract and analyze. SAS Application Response Measurement (ARM) enables you to collect a variety of metrics on how your SAS environment is performing. While several resources explain how to implement ARM, there is a lack of information on how to analyze or report the information. This paper presents a series of examples using BI principles to gain insight on using resources in your SAS BI environment. This insight can help you provide feedback to management, system administrators, and users. Whether the goal is to improve system performance, or monitor hardware in the scope of scaling resources for a growing BI environment, existing and underutilized SAS monitoring tools can help sustain an efficient BI environment. KEYWORDS: ARM, Monitoring, Resource, Utilization proc sql, data step, proc step, cpu time source 8
127 Is This Macro Parameter Blank? Chang Y. Chung,
John Henry King
The first thing most macros do is checking input paramete rs. Still, many macro users are unsure when it comes to implementing the parameter checks. This is the case even with the most elementary form, namely the check of the existence of a parameter value, or the "Is-Blank" check. We review and compare various ways to implement it. We then recommend one that performs well given various input parameter values, packaged in a function-style macro %ISBLANK(), which returns 1 when the parameter value is "blank," and 0 otherwise macro quoting function, macro call, macro facility, %if-%then-%else source 16
128 ISO's Evolution to BI on the Grid: A Customer Perspective Phil Hatfield As part of a continuing effort to increase its capabilities in predictive modeling and analytics, ISO Innovative Analytics is building an "advanced analytics platform." The system centers around SAS Enterprise Miner running in a grid environment. This article discusses the process the company went through in making the software and hardware choices for the new platform and the experience of implementing the platform for a team of more than 30 predictive modelers and analysts. 1 Systems ArchitectureSAS Global Forum 2009 data mining, analytics platform, grid computing source 6
129 Keeping Up to Date: Using Build Tools with SAS Robert A. Burnham Complex SAS projects can have many program files, datasets and outputs that need to be managed. Build tools, such as Make, automate the updating of inter-dependent files and are used extensively in software development. Build tools function by observing when files are modified and applying internal rules to decide which programs need to be run in order to keep project results current. This tutorial starts with a simple example and then introduces new features that show how build tools can make SAS programmers more efficient at managing large projects. Versions of Make are available on almost all Unix/GNU Linux systems and instructions for setting up GNU Make on a Windows PC are included dataset, where statement source 4
130 LAG - the Very Powerful and Easily Misused SAS Function Yunchao (Susan) Tian There are times when SAS programmers need to relate the value of a variable in the current observation to the value of the same or another variable in the previous observation. The LAG function is a very useful tool for this purpose. Unfortunately, it is frequently misused and produces unexpected results. This is because it often appears that the LAG function returns the value of the variable from the previous observation, which is true if it is called in non-conditional code. However, when it is executed conditionally, the LAG function only retrieves values from observations for which the condition is satisfied. This paper discusses how the LAG function should be used in different situations to avoid unexpected results. The intended audience is beginner to intermediate SAS users with good knowledge of Base SAS lag function, missing value, dataset source 5
131 Learn the Basics of PROC TRANSPOSE Douglas Zirbel PROC TRANSPOSE is a powerful yet underutilized PROC in the Base SAS toolset. This paper presents an easy before-and-after approach to learning PROC TRANSPOSE. It contains three sample SAS input files, a set of basic PROC TRANSPOSE variations, and their output results. There is a Summary Sheet at the end of the paper as well for later reference. By going through these few exercises, you should be ready to use PROC TRANSPOSE whenever you need it proc transpose, proc step source 8
132 Learning When To Be Discrete: Continuous vs. Categorical Predictors David J. Pasta Some predictors, such as age or height, are measured as continuous variables but could be put into categories ("discretized"). Other predictors, such as occupation or a Likert scale rating, are measured as (ordinal) categories but could be treated as continuous variables. This paper explores choosing between treating predictors as continuous or categorical (including them in the CLASS statement). Specific topics covered include deciding how many categories to use for a discretized variable (is 3 enough? Is 6 too many?); testing for deviations from linearity by having the same variable in the model both as a continuous and as a CLASS variable; and exploring the efficiency loss when treating unequally spaced categories as though they were equally spaced interval variable, ordinal variable, degrees of freedom, nominal variable, binary variable, response variable, correlation, estimate source 10
133 Let Me Look At It! Graphic Presentation of Any Numeric Variable Anastasiya M. Osborne Have you ever been asked to produce a high quality, management-friendly report in record time? Have you ever spent time typing ranges for PROC FORMAT to apply in tables or maps? During Congressional hearings, U.S. Department of Agriculture (USDA) often gets urgent requests to graphically represent politically-sensitive data. This paper presents a SAS macro that was developed to allow flexibility in choosing a dataset, a variable in question, and a number of groups for statistical analysis. The macro then produces the results in an EXCEL spreadsheet, and an ODS output. It also automatically creates a format for the variable that can be used in PROC GMAP to produce an impressive map. The macro reduces programming time by eliminating time-consuming tasks to analyze the variable and manually type ranges for PROC FORMAT proc step, proc format, proc rank, proc gmap, call symput, macro variable, proc freq, macro facility, excel, data science, macro definition source 12
134 Let SQL Write SQL Scripts for You - Counts Report Christine S Teng PROC SQL is a very powerful tool that can be used to easily build SQL scripts. Script-building can be used to produce useful detailed SAS dat aset information. The output explained in this paper will produce a counts report which shows a list of variables with the total number of non-null values within its associated dataset between two data sources. The output consists of the following: dataset name, variable attributes and the count of non- null values. SAS9, Windows, Intermediate Level Key Words: SAS DICTIONARY, PROC SQL, Macro proc sql, macro variable, select, proc step source 5
135 Mainstreaming Web Data with SAS Web Analytics Kimberly R. Weller All too often Web site data stays within the web team. It is leveraged for useful endeavors such as understanding web traffic, tracking online behavior, and improving site performance. However, in this multichannel world, valuable customer insights are gained and marketing abilities are enhanced when web data is combined with data from other customer contact points such as call centers, stores, and offline marketing campaigns. Learn how the new SAS Web Analytics leverages the new SAS 9.2 Platform to make the most of web data key performance indicator, confidence level source 6
136 Make Your Tables Pop: Adding Micrographics to 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 PR OC 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 source 13
137 Manipulating OLAP Cubes: Advanced Techniques for SAS Programmers Rupinder Dhillon,
Harry Droogendyk
sas enterprise guide, proc step, dataset, sas function, proc sql, where statement, macro definition, time series analysis, macro variable source 24
138 Mapping CDISC Metadata Attributes: Using DATA _NULL_ and PROC DATASETS in SAS Rita Tsang In the pharmaceutical environment, the CDISC Study Data Tabulation Model (SDTM) provides the framework for how clinical data should be submitted to the regulatory authority, such as the US Food and Drug Administration (FDA). Specific metadata attributes, such as variable type, length, control terminology, and variable label, are established to standardize the data format in the industry. The process of mapping these attributes can be tedious and time- consuming. This paper will walk you through how it can be made more automated by using Data _NULL_ and PROC DATASETS in a step-by-step approach. This automated process can help save time in manual programming and to ensure the accuracy of the updates proc step, dataset, put statement, macro variable, excel, cdisc source 8
139 Maximizing the Performance of Your SAS Solution: Case Studies in Web Application Server Tuning for n-tier SAS Applications Nicholas Eayrs,
Tanya Kalich,
Graham Lester,
Stuart J. Rogers
Are there changes you could make in your Java Web Application Server that would make your SAS solution more responsive, more robust, or able to handle a larger client load? This presentation highlights the settings that are most likely to affect the smooth functioning of your SAS solution and explains the concepts behind those settings. Case studies from SAS Technical Support are used to illustrate a broad range of potential pitfalls, narrowly avoided disasters, and wild successes. The presentation also delves into the troubleshooting techniques you need in order to identify problems in Java Web Application Server tuning and to pinpoint the best solutions source 3
140 Maximum SAS: Analyzing and Increasing Performance Myron A. Chandler Application performance is a topic that concerns every developer at one time or another as it is arguably the second most important measurement of any software system's success directly behind correctness. When attempting to improve the performance of an application, the first and often most difficult task is to identify the elements that are most responsible for the delays in time. This paper profiles how a real-world, poorly performing software testing system was analyzed using SAS and the performance gains that were achieved by rewriting data queries, by restructuring code blocks and removing unnecessary code, and by altering SAS configuration options proc sql, filename statement source 7
141 Measuring Campaign Performance by Using Cumulative Gain and Lift Chart Tariq S. Jaffery,
Shirley X. Liu
The primary goal of a direct mail marketing (DM) campaign is to send mailers to group of customers who are likely to respond. To determine the likely responders for the offer, it is a common practice to build predictive models based on past experience, using historical data. It is not unusual to evaluate the campaign performance by comparing the results with the model. In this study, lift charts and cumulative gains have been used to measure the effectiveness of several marketing campaigns for telecom strategic products. The results provide important insights into the model, as well as performance measurement. This identifies the best customers and helps improve the profitability of subsequent campaigns gain chart, auc source 6
142 MedDRA Data as SAS Formats Jim Groeneveld To use MedDRA data with SAS the ascii data files can be read into SAS datasets or the available datasets can be used directly. These datasets can be merged with available MedDRA coded data, possibly using indexes. This paper describes a method to process the (generated) datasets into SAS formats that can be applied directly without the need to merge datasets. In that way terms of the lower levels, like the Lower Level Term (LLT), can be directly converted into each of their associated terms at higher levels. Formats can be made for stepping up from each code level to each higher ordered code level. Additionally all codes can be formatted with their names (descriptions), abbreviations or whatever other information is available in the datasets. This may save space in resulting datasets, as additional variables (e.g. extensive texts) don't need to be stored in all records, but just the single link to the names instead, the associated SAS format dataset, format statement, data step, macro call source 8
143 Merging Data Eight Different Ways David W. Franklin Merging data is a fundamental function carried out when manipulating data to bring it into a form for either storage or analysis. The use of the MERGE statement inside a datastep is the most common way this task is done within the SAS language but there are others. This paper looks at eight possible methods, including the use of the MERGE statement, for a one to one, or one to many merge, introducing the SAS code needed to combine the data merge statement, hash table, proc sql source 5
144 MERGING vs. JOINING: Comparing the DATA Step with SQL Malachy J. Foley Which merges files better: the SAS DATA STEP or SAS SQL? Traditionally, the only way to merge files in SAS was via the SAS DATA STEP. Now SAS provides a Structured Query Language (SQL) facility which also merges files. This tutorial compares and contrasts these two merge facilities. It examines the pros and cons of each merge technique. It looks at DATA STEP code to perform specific merges and then looks at the corresponding SQL code to perform the same merges proc sql, inner join, full join, create table, proc step, right join, where statement, coalesce function, data merging, relational database, merge statement source 17
145 Metadata Reporting Using the SAS Configuration Troubleshooter: A Best Practice Jessica Fraley,
Tanya Kalich
Business intelligence (BI) platform administrators often struggle with gathering and examining necessary information when attempting to understand the current state of their systems, particularly when the information is not easily viewable such as repository metadata. Attendees in this session will see a demonstration of how the business intelligence, output delivery system source 6
146 Min Logistikk: Using SAS BI Web Services in a Service-Oriented Architecture at Norway Post Delivering Information Securely to Customers on the Extranet Truls Andersen,
Frode Langseth,
Shiraz A. Bhaiji,
Stein Nyfløt
This paper describes the systems architecture of one the reporting solutions that were developed through the program "IKT Plattform 2005-2006" at Norway Post. One important requirement for this solution was to deliver information securely from the internal data warehouse of Norway Post to business customers on extranet. Avenir AS got the assignment for the us er interface using Microsoft .N et, while Know IT Information Management was responsible for delivering the report data using SAS 9 tools. The final decision was made to implement the innovative and unconventional technology SAS BI Web Services for Java to deliver XMLA to the external M icrosoft .Net application using a service oriented architecture. Ergo Group Systems Integration was responsible for the Web Access Control using eConnect/eTrust from Computer Associates web service, access control, proc sql, logistic distribution, business intelligence, data warehouse, service provider, proc step source 22
147 Mission Possible: Putting a Table and Multiple Graphs on a Single-Page.pdf with ODS and Basic GOPTIONS Jennifer S. Harper The mission: Report on four cardiac surgery metrics at six different hospitals and summarize the data at the surgeon and system level. Also, show current values as well as trends over time and benchmark them against national averages. Oh, and do this all in a single view of each metric. The Tools: A simple (or at least straightforward) combination of ODS, GOPTIONS, MACROS, ANNOTATE, PROC REPORT, GPLOT, and GCHART. The Approach: Write table and graph code to make the needed output Write Annotate Code to put benchmark data on the graphs Use GOPTIONS to resize and position the graphs Control page breaks with ODS options The Output: A PDF document with each metric on a single page with tabular and graphic output that is clear, concise, and not all that hard to make! Audience: Programmers with familiarity with macros and SA S/Graph proc report, proc step source 7
148 Model Fitting and Data Analyses in SAS/ETS Software Using ODS Statistical Graphics Jan Chvosta,
Mark Little
Graphical visualization of statistical results is increasingly important in all areas of data analysis, and SAS/ETS pro- cedures now provide graphical output for many kinds of econometric and time series models. Correct use of these features helps you to diagnose data patterns and choose appropriate models. In this paper, several SAS/ETS pro- cedures (including the AUTOREG, P ANEL, UCM, and SIMILARITY procedures) are used to demonstrate a graphical diagnostic tool for effective modeling of cross-sectional, time-series, and panel data. The emphasis of the paper is on correct model selection and effective use of SAS/ETS software time series analysis, proc ucm, proc step, proc autoreg source 14
149 Modifying ODS Statistical Graphics Templates in SAS 9.2 Warren F. Kuhfeld With the release of SAS 9.2, over sixty statistical procedures use ODS Statistical Graphics to produce graphs as automatically as they produce tables. This paper reviews the basics of ODS Statistical Graphics and focuses on programming techniques for modifying the default graphs. Each graph is controlled by a template, which is a SAS program written in the Graph T emplate Language (GTL). This powerful language specifies graph layouts (lattices, overlays), types (scatter plots, histograms), titles, footnotes, insets, colors, symbols, lines, and other graph elements. SAS provides the default templates for graphs, so you do not need to know any details about templates to create statistical graphics. However, with some understanding of the GTL, you can modify the default templates to permanently change how certain graphs are created. Alternatively , you can make immediate and ad hoc changes to specific graphs by using the point-and-click ODS Graphics Editor histogram, output delivery system, box plot, proc step, scree plot, proc contents, proc factor, proc template, scatter plot, series plot, if-then-else source 25
150 More than Just the Kappa Coefficient: A Program to Fully Characterize Inter-Rater Reliability between Two Raters Michael Cunningham The kappa coefficient is a widely used statistic for measuring the degree of re liability between raters. SAS procedures and macros exist for calculating kappa with tw o or more raters, but none address situations when the kappa coefficient alone does not sufficiently describe the level of reliability. W hen the prevalence of a rating in the population is very high or low, the value of kappa may indi cate poor reliability even with a high observed proportion of agreement. Researchers have recommended reporting several ot her values in addition to the kappa to address this and another paradox of the kappa statistic. This program, developed in SAS 9.1, calculates kappa, but also outputs the observed and expect ed proportions of agreement, the prevalence and bias indices, and the prevalence adjusted bias adjusted kappa (PABAK) for two raters cohen's kappa, proc freq, proc step, proc calis, confidence interval, sample source 7
151 More Tips and Tricks for Creating Multi-Sheet Microsoft Excel Workbooks the Easy Way with SAS Vincent DelGobbo Transferring SAS data and analytical results between SAS and Microsoft EXCEL can be difficult, especially when SAS is not installed on a Windows platform. This paper explains how to use the XML support in Base SAS 9 software to create multi-sheet Microsoft EXCEL workbooks (for EXCEL versions 2002 and later). You will learn step-by-step techniques for quickly and easily creating attractive multi-sheet EXCEL workbooks that contain your SAS output, and also tips and tricks for working with the ExcelXP ODS tagset. Most importantly, the techniques that are presented in this paper can be used regardless of the platform on which SAS software is installed. You can even use them on a mainframe! The use of SAS server technology is also discussed. Although the title is similar to previous papers by this author, this paper contains new and revised material not previously presented excel, xls, date variable, sas output, proc template, sas base, sysdate9, output delivery system, title statement, by group processing, proc print, ods xml, format statement, proc step, sample source
zip
20
152 New Features in Optimization with SAS/OR Edward P. Hughes,
Trevor D. Kearney
In its recent releases, SAS/OR software has made its optimization capabilities far more powerful and more accessible than ever before. New state-of-the-art optimization solvers and presolvers enable you to tackle larger and more complex optimization models and produce results more quickly. The OPTMODEL procedure, incorporating a rich, expressive optimization modeling language, provides a direct, transparent transition from the formulation of an optimization model to the SAS statements needed to build, populate, and solve the model. This paper provides background information about the role of optimization. It also surveys the new SAS/OR optimization advances, highlighting their importance for organizations that face larger and more diverse problems in resource allocation, supply chain planning, and many other domains in which optimization plays a key role proc step, odds ratio, dataset, constraint programming, proc optqp, business intelligence, proc optlp, proc optmilp, data mining source 19
153 New Language Features in SAS 9.2 for the Global Enterprise Manfred Kiefer Successful global enterprises speak the languages of their customers. To be successful in the global economy, software supporting international business must also "speak" multiple languages. The SAS 9.2 Unicode Server not only supports storing, processing, and delivering multilingual data, but also allows switching the language of the user interface. This paper covers language switching and linguistic sorting. It also touches on multilingual computing excel, sas enterprise guide, create table, libname engine, options statement, proc step source 12
154 Notes from an Intersection: Google Earth @ SAS Carol A. Martell This paper examines the issues one encounters using SAS to create data-driven placemarks viewable in Google Earth. The introduction of bike lanes in certain areas of St. Petersburg, Florida, provides a scenario for comparing before-and-after traffic counts. The traffic count data, while providing an intersection label, does not provide latitude and longitude. Come along for a ride on the SAS train from proprietary traffic counts to Google Earth; there are sure to be many detours. Is it a rollercoaster or a kiddie ride? At the 2008 SAS Global Forum, two integrative techniques were unveiled. Kuiper and Vyverman showed us how to use SAS XML Mapper to read, and in SAS 9.2, write Google Earth XML (KML). Drukenbrod and Mintz showed us how to provide dynamic query access at placemarks using SAS/INTRNET Application Dispatcher and how to create county-area colored overlays for Google Earth. With these techniques in hand, we set out in search of some appropriate ways to display our data dataset, libname engine, sample, character variable, proc sql source 17
155 ODS 101+ Erik W. Tilanus The Output Delivery System (ODS) forms an universal layer between SAS DATA steps and procedures and the output they produce. This facilitates flexible formatting of outputs for a wide variety of output destinations: printers, printer-like files (PDF, postscript), screen (HTML) and so on. A special category is the output destination, which stores procedure output in SAS data sets, also for those procedures that do not have an output option. This paper discusses the basic ODS statements and shows examples of the output produced. It also hints to the more advanced options for tailoring the output to specific needs proc step, proc print, proc corr, proc template, file statement, proc tabulate, ods html, put statement, output delivery system, proc freq, proc report, sas log, correlation, by group processing source 20
156 ODS Graphics Designer Sanjay N. Matange The SAS/GRAPH ODS Graphics Designer is a GUI based intera ctive tool for users who want to create custom graph quickly without any programming. This video presentation will show you can combine different types of plots, insets and legends to create the graph you need. Use this flexible tool to incrementally build single-cell or multi-cell graphs adding rows and columns as you go. Bu ild data driven classification paneled graphs as easily as simple scatter plots. Start from scratch, or build on top of graphs from a custom izable gallery, adding your own custom graphs to the graph gallery for future use, or to share with others histogram, class variable, density plot, scatter plot, box plot, bar chart, proc sgdesign source 24
157 ODS Graphics Designer: Your Tool of Choice for Interactive, Batchable Graphics Sanjay N. Matange The SAS/GRAPH ODS Graphics Designer provides an intuitiv e GUI interface for creating analytical graphs. The software provides a visual gallery of commonly used gr aphs. You can create your cust om graph starting from the gallery, or from a blank graph. You can further build up the graph by dragging and dropping additional plots and graph features from the "Elements Panel". Titles and footnotes can be added and edited directly on the graph. You can build complex graphs with multiple cells, building up layered gr aphs in each of cell. You can build classification panels using up to two class variables. The graphs can be saved in the extensible graph gallery to the file system. Saved graphs can be run in batch with different data using the SGDESIGN procedure histogram, class variable, density plot, scatter plot, box plot, proc sgdesign, bar chart source 24
158 ODS Packages: Putting Some Zip in Your ODS Output Eric A. Gebhart Packages and package templates add powerful new abilities to the Output Delivery System (ODS). Automatically create zip files and SAS packages that contain all the output generated from your SAS program. ODS packages make it easy to e-mail your ODS output to others and can help keep your file system clear of file clutter. With SAS Integration Technologies, ODS packages can also publish to WebDAV, e-mail, queues, and subscriptions as well as archives. ODS packages are also completely integrated with TAGSETS allowing for fully automatic generation of packages and the creation of some of the newer file formats like Open Document Format and Microsoft Office 2007. Learn how easy it is to use ODS packages and find out how they will impact the future of ODS ods html, proc step, output delivery system, ods packages source 10
159 One-Step Change from Baseline Calculations Nancy Brucken Change from baseline is a common measure of safety and/or efficacy in clinical trials. The traditional way of calculating changes from baseline in a vertically structured data set requires multiple DATA steps and thus several passes through the data. This paper demonstrates how change from baseline calculations can be performed with a single pass through the data, through use of the Dorfman-Whitlock DO- (DOW-) Loop change from baseline, set statement source 4
160 Optimizing Product Formulation with JMP and SAS Enterprise Miner John Leveille,
Wayne J. Levin
There are many products across a range of industries that rely on formulation and testing in a laboratory setting. In some cases, the formulation is guided by well-understood scientific principles. In other cases, historical process and empirical data show the way to effective product recipes and formulation techniques. This paper illustrates how JMP and SAS Enterprise Miner software can be used to create a black box model for empirical lab data and help to reduce the cost of trial-and-error product formulation. This paper is aimed at individuals who work in a product research or laboratory setting and are interested in applying data modeling software to identify the best formulations and improve laboratory or manufacturing efficiency data mining, neural network source 6
161 Optimizing the Marketing Mix Patralekha Bhattacharya Practitioners in the media industry are frequently faced with the problem of diverting limited resources among several alternative channels. If the objective function is linear or convex, these problems can be easily solved by applying standard methods of linear or geometric programming. However, in the media world, nonlinear relationships between sales and media variables and advertising carryover effects can lead to non- convex objective functions. In this paper, we develop an alternative solution by using an algorithm (which we deploy with the help of a SAS macro) that can be used to obtain a "close to" global solution for the optimal media mix. The algorithm uses an iteration method to obtain the value of the objective function for all potential allocations. The allocation that maximizes the objective function can then be chosen as the most favorable media mix marketing mix, interaction effect source 5
162 Parameter-Driven Data Integration Using SAS Stored Processes Evangeline Collado The data warehouse at this large, metropolitan, state university consists of term and annual census data. Loading data into the warehouse is a data integration (DI) process that cannot be scheduled to run at a particular time each day as it requires human intervention to specify the appropriate time period for the new data. The data transforms in the process flow could be changed each term or year, but each node that requires this term parameter would need to be changed. We desired a DI process that would prompt the data integration developer to provide this input when the job is executed and it would remain constant throughout the process flow. This paper details one particular DI process that was developed and deployed as a SAS stored process using SAS Data Integration Studio 3.4, which offers the developer the ability to create parameters, and executed using SAS Enterprise Guide 4.1, which prompts the user to supply the parameter sas enterprise guide, macro variable, where statement, data merging, proc sql, data warehouse source 8
163 Parsimony vs. Complexity: A Monte Carlo Investigation of Hierarchical and Cross-Classified Modeling Using SAS PROC MIXED Bethany A. Bell,
Corina M. Owens,
Jeffrey D. Kromrey,
John M. Ferron
Across a variety of disciplines, multilevel modeling continues to be a popular analytic approach among methodological and applied researchers. As such, a vari ety of reference and instructional materials are becoming increasingly available. However, such resear ch primarily has been limited to purely hierarchical models. Far less research has been conducted on cross- classified random effects models (CCREMs). This Monte Carlo study focuses on the c onsequences of hierarchical vs. cr oss-classified modeling of cross- classified data on the estimation of fixed and random effects in terms of model convergence and both point and interval estimates as a function of level-2 sample size, degree of cross-classification, correlation of level-2 residuals, and model complexity. SAS /IML was used to simulate 1000 data se ts for each of 648 conditions. Simulated data were then analyzed using different PROC MIXED model structures (e.g., 2-level models, 3- level models, and CCREMs) confidence interval, type i error, fixed effects, significance level, proc mixed, power analysis, monte carlo, sample, sample size, correlation, proc step, covariance, regression analysis source 12
164 Playing Favorites: How to Manage Date Conflicts When Some Date Ranges are Preferred Over Others Eric C. Wong Data with dates often require reconciling conflicti ng date ranges. Sometimes a set of consecutive, non- overlapping date ranges needs to be created from a se t of overlapping date ranges. This is easy when all date ranges are considered equal. However, if so me date ranges are preferred over others, more thought is required. One example is reconciling clinical data and determining disease status from overlapping date ranges of normal and abnormal lab values . If abnormal lab values are of interest, then ranges of abnormal values are preferred over normal values when overlap exists . This paper provides one solution to any number of preferences, demonstrates that it executes in a reasonable time with time trial results, and provides a macro implementation. Keywords: temporal abstraction, date reconciliation, date range conflicts, date range overlap proc step, if-then-else source 11
165 Power You Didn't Know You Had: Using PSAX to Create Self-Generating Web Libraries with SAS Turner Bond Just as the Ajax development style revolutionized the Web with Web 2.0, SAS has innate strengths that make it ideal for building drill-down libraries of Web information. Using the "PSAX" development style-pre-synchronous SAS and XML-you can push a Web-based information channel out to t he Web, often with more primitive IT architecture than you would use for a Web 2.0 application. Whether you need an online information system to track highway construction bidders, or a modern, Web-based skin to present standardized pharmaceutical testing, you can use PSAX to push your analysis to a user-friendly Web space. PSAX involves the smart use of SAS tools you probably already know. These tools range from simple, computed links in PROC REPORT, to SAS code that writes HTML directly, to a Java script generated in SAS that pulls in JSON or XML data and harnesses Ajax technology proc report, proc step, macro variable, title statement source 10
166 Practice Makes Perfect: Training and Performing in the Pharmaceutical Industry Sunil Kumar Gupta Within the pharmaceutical industry, there is a constant demand for skilled and qualified professionals at all levels. While getting into the pharmaceutical industry and climbing the corporate ladder is not easy, it can be done. Specifically, pharmaceutical companies and CROs should create career paths that strategically position entry level SAS statistical programmers to junior and then to senior/management level positions. Motivated SAS programmers need to be prepared to meet the growing technical and management challenges. Initially, a comprehensive instructor led training program needs to be followed by on-the-job training and then effective management and communication classes, for example. This process enables pharmaceutical companies and CROs to successfully grow in this very competitive global environment statistical programmer, pharmaceutical industry, sas programmer source 10
167 Predictive Models Based on Reduced Input Space Taiyeong Lee,
David R. Duling,
Dominique Latour
Because the number of variables is often tremendous in data mining applications, variable selection or dimension reduction is essential to produce models with acceptable accuracy and generalization. After applying variable selection methods, data miners often consider only selected variables for their tasks. However, the input space represented by the rejected variables might still contain potential for positive contribution to the model. This paper demonstrates the use of projection methods to combine both the selected variable space and the rejected variable space. The new input space, which is made by adding projections of the rejected variables to the set of selected variables, reduces the loss of input variable information while keeping interpretability of important individual variables. The proposed method provides an effective means for analyzing the additional information potential that is hidden in the rejected terms source 15
168 PROC FORMAT, a Speedy Alternative to Sort/Sort/Merge Jenine Milum Many users of SAS System software, especially those working with large datasets, are often confronted with processing time challenges. How can one reduce the amount of CPU required to retrieve specific data? In this paper, an "outside the box" approach using a matching method utilizing PROC FORMAT replaces the CPU he avy Sort/Sort/Merge. It is ideal for situations when a key from one file is needed to extract data from a nother file. It is more apparently useful when at least one of the fil es is quite large. This method has been proven tim e and again to decrease CPU by 70%-80% and is effective on all pla tforms utilizing Base SAS proc format, proc step, data step, cpu time source 5
169 PROC GEOCODE: Creating Map Locations from Your Data A. Darrell Massengill,
Ed Odom
How do you convert your address data into map locations? This is done through the process of geocoding. SAS/GRAPH 9.2 now includes PROC GEOCODE to simplify this process for you. This presentation will briefly discuss the current capability of this procedure and show examples of both address geocoding and Web address (IP address) geolocating. A brief discussion of future directions will also be included proc step, dataset, sample, autocall macro source 13
170 PROC REPORT: Titling It Right, with Footnotes to Boot William C. Murphy Using PROC REPORT, you can generate a variety of su mmary tables. When these tables are created in Rich Text Format via ODS, the output is nearly publication-re ady. Nonetheless, attention must be paid to the ali gnment, position, and number of lines of the titles and foo tnotes. Using the TITLE and FOOTNOTE statements, su ch text is positioned with the top and bottom margin of the ou tput page, respectively. Left, right, or a combinat ion alignment is readily achieved with the justification option. To position and align titles and footnotes with the ta ble boundaries, however, the text should be incorporated into the P ROC REPORT code. This can be done by judiciously in serting text in the COLUMN statement and by use of the LINE statement in a compute block. Furthermore, such te xt is not limited to the 10 lines of the TITLE and FOOTNOTE s tatements. Both methods of generating titles and fo otnotes require special consideration of spaces and blank lines proc report, footnote statement, proc step, sas output, macro quoting function, ods rtf source 5
171 PROC SQL and SAS Macro: Beyond the Basics Louie Huang SAS macro facility has been a very important tool in SAS programming for many years. The CALL SYMPUT routine and DATA _NULL_ are the traditional methods to create macro variables from SAS data. However, PROC SQL is much more powerful and efficient in creating macro variables thanks to the in-line view capability and the SELECT, INTO, GROUP BY, HAVING, and ORDER BY clauses. In clinical programming practice, PROC SQL can solve a lot of programming problems, sometimes it is even impossible to solve a problem without using PROC SQL. The purpose of this paper is to demonstrate creation of macro variables from SAS data using PROC SQL. Concrete examples are provided to illustrate the advantages of PROC SQL in creating macro variables over the CALL SYMPUT routine macro variable, proc sql, proc step, call symput, dataset, study day, binary variable, sas log, proc sort source 8
172 Proper Housekeeping - Developing the perfect "Maid" to Clean your SAS Environment Chuck Bininger As programs run in any SAS environment they often leave messy residual artifacts lying around. It is this mess that can often create unexpected results when running a SAS program. Sometimes Titles and Footers need to be cleared, options reset to their original values, or macro variables put in the trash. We try to pick up after ourselves by using good programming practices but often we fall short and find ourselves in need of a good scrubbing. This paper will not only show the readers where to look for all dirt that may affect your environment but also supply the reader with the tools needed to keep your environment clean macro variable, dictionary tables source 4
173 Quantifying Energy Risk Exposure Using SAS: Analyzing the Impact of the Weather and the Economy during Volatile Time David Hamilton,
Craig Carothers
In today's times of frequent global economic fluctuations and highly volatile weather conditions, managing risk within an energy company is an ongoing challenge. An electric generation and transmission cooperative, ODEC is a power provider to its 12 members systems. This presentation will show how Old Dominion Electric Cooperative (ODEC) uses SAS solutions to arm its management and executive team with the needed intelligence to effectively manage its margin - as well as its risk confidence interval, customer satisfaction source 11
174 Realizing Value Quickly from a Newly Installed SAS Enterprise BI Platform Brian K. Varney Getting a new SAS Enterprise Business Intelligence (EBI) Platform up and running is an exciting time f or a company. The promises heard during the sales cycle and proje ct demonstrations need to become actionable process es by the administrators, power users and information consume rs once the installation is complete. The reality i s that this can only happen with careful planning and preparation b efore, during and after the SAS platform installati on process. This paper will address how to plan and prepare for each phase of a SAS EBI implementation, such that, when the installation and configuration is complete; the pla tform can be leveraged in an organized manner. We a ssume that SAS software has already been chosen as the BI plat form of choice and the hardware and operating syste ms have been decided up business intelligence, data cleaning source 5
175 Reject Inference Techniques Implemented in Credit Scoring for SAS Enterprise Miner Billie Anderson,
Susan Haller,
Naeem Siddiqi
Many business elements are used to develop credit scorecards. Reject inference, related to the issue of sample bias, is one of the key processes required to build relevant application scorecards and is vital in creating successful scorecards. Reject inference is used to assign a target class (that is, a good or bad designation) to applications that were rejected by the financial institution and to applicants who refused the financial institution's offer. This paper discusses the technical concepts in reject inference and the methodology behind the reject inference algorithms that are available in Credit Scoring for SAS Enterprise Miner. Each reject inference algorithm is discussed in detail, and each algorithm's impact on the final scorecard is shown. Suggestions for which algorithm to use under certain conditions are also given data mining, type ii error, sensitivity analysis, cumulative frequency, sample, credit score, confusion matrix, credit scoring, ks statistic source 11
176 Renaming in Batches Vincent Weng,
Ying Feng
Renaming SAS variables may sound easy, but what if you have hundreds of variables that must be renamed? In this instance it will become an annoying and error-prone process if you simply use Rename statements to rename each variable individually. This paper addresses how you can perform the renaming of many variables quickly and error- free. A group of "renaming" macros will be created, which perform different renaming jobs, i.e. renaming all the variables in a SAS data set, renaming partial variables, adding prefixes, adding suffixes, and/or replacing the prefix or the suffix. It's a very handy tool for tailoring variable names in batches quickly to fit different needs proc sql, macro function, proc step, dictionary tables source 7
177 Retirement of Legacy Clinical Systems and Moving to SAS Drug Development, Much More than Just Moving the Data Fred R. Forst,
John Standefer
Retirement of legacy applications on z/OS and Windows and subsequent migration of data to SDD (SAS Drug Development) is accomplished with a 100% SAS solution, SAS/CONNECT. Data spanning 20+ years, created under three operating systems (z/OS, Windows, and Unix), from 4 versions of SAS (V5, V6, V8, V9) resulting in many permutations of data formats to be migrated to SDD. Traditional SAS data, text files, CGM graphs, SAS transport files, Microsoft Office files were just a few of the numerous data types migrated. This paper describes the innovative, flexible, and automated approach to moving and reformatting all these data types with one SAS application. At its core is SAS/CONNECT, using the WebDAV (Web-Based Distributed Authoring and Versioning) protocol available with the LIBNAME and FILENAME statements. A robust SAS/CONNECT application resulted, moving data directly from any source to SDD, regardless of the file type, version of SAS it was created with, or originating OS proc step, proc download, filename statement, catalog, txt, proc compare, clinical research, libname statement, life sciences source 17
178 Risk-Based Portfolio Optimization Using SAS Wei Chen In the midst of the recent turbulence in financial markets, risk management has become an increasingly critical part of the decision-making process in financial institutions. A risk-based profitability strategy helps increase firm value and helps avoid costs associated with financial distress. This paper explains how advanced risk analysis and optimization products from SAS can work together to enable optimal, risk-adjusted portfolio decisions. Several portfolio optimization problems are discussed: (1) maximization of portfolio return subject to a target risk tolerance, expressed as standard risk measures such as value at risk (VaR); (2) minimization of asset/liability mismatch through cash flow allocation minimization; and (3) minimization of capital requirements by employment of an optimal risk mitigation strategy. For these problems, best-practice solutions are presented using SAS Risk Management solutions credit risk, sas risk, capital adequacy, confidence interval, expected shortfall, standard deviation, basel ii, sample, alm, risk-weighted assets, normal distribution, network optimization, proc step source 11
179 Roles in Business Intelligence Janus Mens In order to achieve a successful implementation of a SAS enterprise intelligence platform, a g ood starting point is to focus on the roles carried out by a SAS Business Analyst and rethink company'suse of SAS Business Analysts into a Business Intelligence Competency Center. Focus should be on a proper division between the data creation and use of information and analytics business intelligence, risk and compliance source 7
180 Running SAS on Windows 32-Bit Systems: Ceilings, Limitations, and Realities Tony Brown,
Margaret A. Crevar
Budgetary and IT support constraints are causing many SAS shops to deploy large applications on the Microsoft Windows environment. SAS 9.1.3 on x64 hardware is supported only as a 32-bit application in the Microsoft Windows environment, with 64-bit support coming with SAS 9.2. This paper is designed to help you understand the performance pitfalls and limitations involving large SAS workloads in the Windows 32-bit environment. It will outline the common performance problems encountered, what can be done to correct them, and when graduation to a 64-bit operating system running a 64-bit version of SAS is required to circumvent limitations. Best practices for Microsoft Windows server setup and tuning, related storage subsystem arrangement, and future Windows 64-bit support information will be offered in the discussion sas log, cpu time source 7
181 SAS Abbreviations Are Your Friends; Use a Template Method to Code! Elizabeth Ceranowski Often, coders find themselves using the same procedures or sequence of procedures over and over again. It would be very useful to create a "shell" of a procedure or program that can be used to cut down on repetitive typing. (For example, to submit the generic code "PROC PRINT; run;"). This quick demonstration will show how to create/edit/use SAS abbreviations to quickly interject code into the Enhanced Editor window in SAS for Windows or in the code node in SAS Enterprise Guide. This technique can be easily used by any level of SAS user from beginning to expert! sas enterprise guide, proc report, tranwrd function, proc step source 11
182 SAS and JMP Integration for Implementing a Clustering Algorithm for High Dimension Low Sample Size Data George von Borries A SAS macro solution is presented for clustering of high dimensional low sample size (HDLLSS) data using a new algorithm based o p-values as similarity measure. The algorithm PPCLUST was developed by von Borries (2008) and implemented using SAS macro language with the macro autocall facility and window macro command for friendly interface. The SAS interface to JMP was used to run a SAS macro inside JMP and automatically produce graphs using adaptable JMP scripts. An example with partial data from microarray study is presented macro definition, macro facility, autocall, sample size, sample, significance level, dataset, dimensionality reduction, sas library source 11
183 SAS and Microsoft Excel: Two Extreme Worlds. Learn How SAS Works with Excel Data and How Excel Exploits the Power of SAS Henri Theuwissen Microsoft EXCEL is still one of the most popular tools for reporting and data exchange. SAS applications often receive input through EXCEL files and must return data or info rmation in EXCEL format. This paper illustrates the openness between SAS and Microsoft EXCEL. There are several eas y ways to exchange data between SAS and EXCEL in both directions. SAS provides several ways to access data from EXCEL: the IMPORT procedure and the SAS/ACCESS LIBNAME solution are illustrated. Many SAS applications have to provide results in Exce l format. The paper illustrates the EXPORT procedure, the SAS/ACCESS LIBNAME engine, the %DS2CSV macro, and the power of the Out put Delivery System (ODS). ODS examples are included using several styles, like MARKUP and the ExcelXP tagset. Through the SAS Add-In for Microsoft Office, EXCEL users can work directly on SAS data from within their EXCEL sheets excel, dataset, ods csv, proc import, libname engine, proc export, libname statement, output delivery system, by group processing, name range list, ods html, sas enterprise guide source 20
184 SAS as SaaS: The Benefits and Challenges of Implementing an Enterprise-Scale SAS Data Warehouse and Business Intelligence Shared Service Tim Walters Many organizations recognize the benefits that can be achieved through the Software as a Service (SaaS) model. Why not apply this model to your SAS data warehousing and business intelligence strategy? Organizations can save money and improve service levels through efficiencies gained by a shared infrastructure and support staff. These and other benefits are common and compelling for any shared service, however, we believe that the greatest value proposition of a shared SAS data warehouse and business intelligence service lies in its ultimate use as an enterprise data integration platform. This paper will provide a practical look at a successful SAS data warehousing and business intelligence shared service business intelligence, data integration, data warehouse source 9
185 SAS Business Intelligence Web Application Security Configuration Primer Heesun Park,
Brian English
Securing Web-based resources is one of the biggest challenges for IT today. Almost all IT organizations use security measures through authentication and authorization to protect their Web resources. Thus, it is vital for SAS Business Intelligence Web applications to integrate within a secure Web environment. This paper explores just that. SAS Business Intelligence Web applications are implemented based on the SAS Metadata Server, which typically is tied to the local OS for host authentication, but it can be integrated with an external authentication mechanism already in place for an organization's Web space. The latter is called Web (or trusted) authentication. Web-based authentication can occur in various Web components such as Web (HTTP) server, reverse proxy security server, or application server business intelligence, sas base source 7
186 SAS EBI: What Is It, What Will It Do for Me, and Does It Really Work? Frederick E. Pratter Increasingly, there are two kinds of SAS programmers in the world: those who know EBI and those who do not. Although the latter are still better off than COBOL programmers, an exclusive dependence on SAS DATA STEP programming techniques is rapidly becoming inadequate for today's Web-enabled world. This paper will introduce the SAS Business Intelligence Platform, along with some of the most important EBI products, including Web-based applications like Web Report Studio and the Information Delivery Portal, and client-side side utilities such as Information Map Studio and the SAS Management Console. The focus will be on what these products do and why you should know about them. Examples of each product will be presented, along with some empirical performance metrics indicating that yes, indeed, they do work. The intended audience includes both SAS programmers and managers who might be considering an investment in the EBI suite proc step, sas management console, sas enterprise guide, proc means, class variable, sas batch, sas programmer, proc sql, sample source 17
187 SAS Enterprise BI Client Components in the Research Area of the Bank of Italy: First Experiences Giuseppe Bruno line chart, business intelligence, sas enterprise guide source 8
188 SAS Enterprise Guide for the Business Analyst Lina Clover If you are a business analyst and have a hard time figuring out how to use SAS to answer your business questions, you are not alone. SAS Enterprise Guide makes SAS analytics available to a wide range of users with a variety of skill levels, including programmers who are unfamiliar with SAS. In this paper, you will learn how to answer the "What" and "Why" questions about your business via the easy-to-use interface of SAS Enterprise Guide. You will learn how to prepare your data, perform statistical analyses, and interpret the results. You will also learn how to use the basic methods of data exploration with descriptive statistics such as min (minimum value), max (maximum value), mean, standard deviation, and correlation, and how to create graphical representations with bar and pie charts, histograms, and box plots sas enterprise guide, data science, proc freq, proc reg, correlation, standard deviation, regression analysis, dataset, excel source 11
189 SAS Fundamentals For Survey Data Processing Renato G. Villacorte This paper offers several programming solutions to problems and challenges that commonly confront survey researchers. Arrays and Do Loops are presented as methods for handling data cleaning and transforming. PROC FREQ, TABULATE, and MEANS are demonstrated for elementary analyses. Lastly, formatting techniques are used to improve analyses and enhance the clarity of output. A small number of advanced techniques are also demonstrated for more experienced programmers missing value, proc step, proc freq, proc format, proc tabulate source 12
190 SAS Graphs in Small Multiples Andrea Wainwright-Zimmerman Edward Tufte has championed the idea of using "small multiples" as an effective way to present large amounts of data in limited space. This paper will discuss the issues of formatting SAS Graphs for scaling down, and the challenges of putting many graphs together in the same medium. I will also discuss options for drawing attention to specific graphs in this paper proc sql, proc step, output delivery system, create table, macro variable, macro definition, sas output source 12
191 SAS in Financial Research: Embracing Data Taras Zlupko Excellent introduction to some of the ideas of empirical financial economics and mechanics of their technical exploration and investigation with SAS is provided by Boehmer et al. in "Using SAS in Financial Research". The book makes extensive use of CRSP and Compustat which are some of the most reputable databases available to financial researcher. It is also assumed that the data required by eac h particular study is pre- processed and resides in external files ready to be exported into SAS for further analysis. This implies involvement of some tools outside of SAS data access. This paper shows how to directly engage the empirical data into financial research with SAS without needing other media. This is primarily based on the use t he SESECRSP engine. The engine provides convenient and elegant way of integrat ing data access and preparation into the pr ocess of implementing research plan with SAS by presenting CRSP and Co mpustat databases as native SAS data sets libname statement, create table, format statement, data wrangling source 8
192 SAS Macro Programming Tips and Techniques Kirk Paul Lafler The SAS Macro Language is a powerful tool for extending th e capabilities of the SAS System. This hands-on workshop presents numerous tips and tricks related to the construction of effective macros through the demonstration of a collection of proven Macro Language coding tec hniques. Attendees learn how to process statements containing macros; replace text strings with macro variables; generate SAS code using macros; manipulate macro va riable values with macro functions; handle global and loca l variables; construct arithmetic and logical expre ssions; interface the macro language with the DATA STEP and SQL proce dure; store and reuse macros; troubleshoot and debu g macros; and develop efficient and portable macro language code macro variable, macro facility, proc step, autocall macro, macro definition, macro function, macro parameter, %macro parameters, proc sql, dictionary tables, options statement, macro loop, &variable source 9
193 SAS Macros Toolkit for Graphical Representation of Complex Data Ashok K. Chaurasia There are many procedures and settings in SAS that support the construction of elegant and informative graphs for data analysis. When dealing with complex data, it can be cumbersome to produce graphs that are both informative and consistent in their design. This task can be made easier with some simple macros. This paper introduces a SAS macro toolkit that helps construct design-consistent graphs from one complex data set to another. These macros aid the user in areas such as data reconfiguration to make the information easily accessible to SAS procedures, control over various elements of SAS graphs, and control over the options of SAS procedure statements dataset, excel, proc step, macro definition, char., cpu time, macro variable, proc gplot, macro loop source 12
194 SAS Magic Squares Gary A. Foster,
Charles Goldsmith,
Lehana Thabane
Many SAS users pursue recreational interests that can be investigated with SAS software. A popular mathematical recreation that has intrigued enthusiasts for centuries is the magic square. A normal numeric magic square is an n by n matrix with cells filled with all positive integers from 1 to n2 inclusive. The integers are arranged in such a way that every row, column and the main and secondary diagonals sum to the 'magic' number. The primary goal of this project is to find an efficient method to generate all 4 by 4 magic squares using SAS software. A secondary goal is to investigate the properties of these magic squares and to classify them into sub-types where possible source 13
195 SAS Stored Processes: Going beyond the Current Capabilities of the Stored Process Wizard Joe M. Flynn As an experienced user of SAS software, you are likely familiar with SAS stored processes and how to create them. Getting down to basics, a stored process is a SAS program that resides on a server and can be executed as required by a variety of requesting applications. These applications, in turn, can complete a number of different tasks including performing analytic analyses, reporting through the Web, building Web applications, and delivering packages to clients. The SAS Enterprise Guide 4.1 Stored Process Wizard has some functionality built in to help you with these tasks. However, SAS Enterprise Guide 4.2 Stored Process Wizard introduces significant improvements to the existing functionality. This paper discusses the current capabilities and limitations of using the Stored Process Wizard for user input, as well as the improvements and enhancements introduced with SAS Enterprise Guide 4.2 sas enterprise guide, macro variable, put statement source 14
196 SAS/ACCESS to PC Files Data Access Demystified Howard Plemmons Jr. Based on customer usage scenarios, this paper is a look into the data sources and processes inside SAS/ACCESS Interface to PC Files for SAS 9.2. Specific scenarios would include accessing PC data from both UNIX and Windows using the PC Files Server, accessing local data, and accessing new data formats with Microsoft Office 2007 excel, proc step, libname engine, libname statement, proc import, proc sql, proc export, delimited file source 10
197 SAS/GRAPH for the Timid Earl R. Westerlund SAS/GRAPH is one of the foundation products of SAS, and an invaluable tool for anybody who needs to see the information in the data. Its procedures work the sa me way as any other procedure. But the number of procedures, statements and options available are so numerous - and, in many cases, cryptic - that many people become intimidated. The purpose of this paper is to provide a gentle intr oduction to SAS/GRAPH, with num erous examples to show how the fundamentals work. It is based on the following premises: If you can create a crosstab in PROC FREQ , you can create a plot in PROC GPLOT. If you can set a title or footnote, you can change the appearance of a graph line. * If you can change the linesize of a listing, you can change the color of the title text. This paper is intended for those who have not used SAS/GRAPH, or those who have tried and given up in frustration proc gchart, proc gplot source 14
198 Scalability of Table Lookup Techniques Richard D. Langston This paper will examine the issues of memory and disk space consumption and performance considerations for various table lookup techniques using large amounts of data. These techniques include PROC FORMAT in association with the PUT function, the DATA STEP hash object, DATA STEP merging, the KEY= option of the SET statement, and PROC SQL. This paper will show performance comparisons of the different techniques as the amount of data increases, and will offer advice on decisions on which techniques to use in various circumstances hash table, proc sql, proc step, lookup, proc format, dataset, options statement, memory usage, data merging source 5
199 SCL Is Gone: How Do I Get Variables from My Users into SAS Enterprise Guide? Patricia Hettinger SCL (SCREEN CONTROL LANGUAGE) HAS BEEN DISCONTINUED WITH SAS ENTERPRISE GUIDE. THE PURPOSE OF THIS PAPER IS TO ACQUAINT USERS WITH ITS REPLACEMENT, PARAMETERS MANAGER. THE PAPER ALSO GIVES SOME TIPS FOR DEALING WITH SITUATIONS WHERE IT FALLS SHORT, SUCH AS IN MASKING DATABASE USER IDS AND PASSWORDS. MANY SCREEN SHOTS ARE INCLUDED AS SAS ENTERPRISE sas enterprise guide, connection string, character variable source 11
200 Secret Sequel: Keeping Your Password Away From the LOG Paul D. Sherman,
Arthur L. Carpenter
Passwords are things not to be shared. As good SAS programmers we don't hard-code our passwords in our programs, but keep them in separate files or macro variables. However this is not enough! Unfortunately the casual (or malicious) user can "turn on" macro debugging utilities like MPRINT, MLOGIC or SYMBOLGEN and literally read our password right from the LOG, in plain view. This paper presents a series of simple methods to keeping your secret password secret when accessing remote databases with macro variable, proc sql, proc step, dataset, symbol table, global symbol table, macro facility, select, where statement, macro debugging, macro definition source 9
201 Secrets of the SG Procedures Dan Heath The SAS/GRAPH SG procedures provide an extensive set of plots and supporting statements to create common graphs. However, there are creative ways to combine the statements and options in these procedures that might not be obvious. This presentation will reveal some of these techniques, enabling you to create many of the specialized graphs you need in your industry. These are some of the techniques that will be discussed: creating an area plot from a band plot displaying your custom limit calculations using a vector plot for event and high-low types of plots using paneling options for group axis effects bar chart, scatter plot, phase ii, proc sgpanel, series plot, confidence interval, class variable, proc calis, density plot, line chart, phase i, kaplan-meier plot, proc step, proc sgplot, histogram source 19
202 Selecting a Stratified Sample with PROC SURVEYSELECT Diana D. Suhr Stratified random sampling is simple and efficient using PROC FREQ and PROC SURVEYSELECT. A routine was developed to select stratified samples determined by population parameters. SAS code and examples will be shown to select samples stratified on 1, 2, and 3 variables sample, proc step, proc surveyselect, proc freq, sample size, random sampling source 6
203 Show Them What's Important with Communication-Effective SAS Graphs: Solutions for a Finite Work Day in an Era of Information Overload LeRoy Bessler In this era of information overload and incessant instant information update, what are the best ways to visually and memorably communicate, and to meet the six crucial criteria of concise, clear, complete, correct, convincing, and current? This paper uses illustrations, design guidelines, and code to answer that question. Communication-effective SAS graphs visually say the most with the least, to focus on what matters. Solutions are provided for production applications, i.e., for overnight or on-demand batch jobs or for real-time SAS/INTRNET response, where the graph has to be right the first time every time, with no opportunity for iterative refinement that might be tolerable for ad hoc presentation preparation. Ways that Version 9.2 makes results more communication-effective are emphasized bar chart, macro loop, macro definition source 12
204 Simple Applications of SQL Howard L. Schreier PROC SQL introduces structured query language to the SAS System. It's a language very different from the rest of SAS. That may present a learning challenge to the SAS user. Fortunately, SQL lends itself to learning in small pieces. This paper will illustrate and explain several examples of SAS usage which have immediate practical value proc sql, proc step, create table, order by, inner join, proc transpose, cross join, group by source 17
205 Simulating Time Series Analysis Using SAS - Part I The Augmented Dickey-Fuller (ADF) Test Ismail E. Mohamed The purpose of this series of articles is to present simple discussion and to present SAS programming techniques specifically designed to simulate the steps involved in time series data analysis. Part I of this series will cover the Augmented Dickey-Fuller (ADF) test of time series variables (stationarity test). Part II will continue the discussion on how to move further beyond the ADF testing and will focus discussion on examining time series variables long-run relationships (cointegration). A third part of this series is intended and will discuss how to develop an error correction model (ECM), a mechanism and concept discussed by many authors including Granger (1983), and Banergee et al 1993, that is utilized by many to determine time series short-run deviations from long-run equilibrium time series analysis, regression analysis, time series data, unit root, dif function, stationarity, data step, lag function, proc reg source 7
206 Simulating Time Series Analysis Using SAS - Part II Cointegration Ismail E. Mohamed The purpose of this series of articles is to present simple discussion and SAS programming techniques specifically designed to simulate the steps involved in time series data analysis. Part I of this series covered the Augmented Dickey-Fuller (ADF) test of time series variables (stationarity test). Part II will continue the discussion on how to move further beyond the ADF testing and examine the time series variables long-run relationships (cointegration). A third part of this series is intended and will discuss how to develop an error correction mechanism (ECM), a concept discussed by many authors including Granger (1983), and Banergee et al 1993, that used to determine time series short-run deviations from long-run equilibrium. The simple SAS techniques covered in all 3 parts of this series can be used with the more complex SAS routines such as PROC ARIMA, which require high level of research and analysis expertise (Bails & Peppers, 1982) time series analysis, regression analysis, unit root, time series data, proc reg, proc step, sas output, stationarity source 8
207 So, You've Got Data Enterprise Wide (SAS, ACCESS, EXCEL, MySQL, and Others); Well, Let SAS Enterprise Guide Software Point-n-Click Your Way to Using It William E. Benjamin Jr. This paper will walk a SAS user through the process of opening and using files from different (not SAS) generated sources and processing the data with SAS Enterprise Guide. The focus of this paper will be to get access to the data, since most functions available to SAS Enterprise Guide are drop-down menus and wizards which help teach a new user how to process data. This paper will not show how to get the data into files that are SAS files; it will be assumed that the user's enterprise will guide them through that process sas enterprise guide, excel source 10
208 Source of Nitrogen in Q-BOP Steel (Statistical Analysis) Arkady M. Kushnir Structural grades of hot rolled low and medium carbon plates and sheets commonly used for deep drawing applications. Cracking on the bend face s, as well as aging effects are the major defects, which usually cause s rejection of the sufficient volumes of steel. It is a common knowledge that steels containing interstitial nitrogen appear to be more susceptible than low - nitrogen steels to stress -corrosion cracking. Nitrogen exists in steel primary in combination, as nitrides of metallic elements or as molecular nitrogen in cracks or blowholes. The solubility of nitrogen in ferrite at room temperature in low and medium carbon steel not exceed s 0.001%, and precipitation effects caused by nitrogen may occur in steel containing more than this amount . It is also well known that increased carbon content reduces the tendency of steel to fail by intergranuular cracking [1] correlation, regression analysis, pearson correlation, data science, stepwise selection, proc step source 19
209 Stationarity Testing in High Frequency Seasonal Time Series David A. Dickey Deciding whether seasonality is of a stochastic nature, and thus slowly changing over time, or deterministic and thus repeating in the same way each season can have a substantial impact on forecast accuracy. Tests for stochastic seasonality, called seasonal unit root tests, have been developed for certain common seasonal periods, like 12 (monthly data) 4 and 2, but until now have not been available for high frequency (like daily data over years or minute by minute over days). This paper fills the gap, arriving at a simpler distributional result than is usually the case with unit roots. An example using natural gas supply is used to illustrate. Key Words: Nonstationarity, unit roots, asymptotics unit root, null hypothesis, regression analysis, sample, numeric functions source 8
210 Structural Analysis of Time Series Using the SAS/ETS UCM Procedure Rajesh S. Selukar This article introduces the SAS/ETS UCM procedure, which uses structural models to analyze time series data. Struc- tural models provide regression-like decomposition of the response series into latent components (such as trend, seasonal, or other periodic components) and linear and nonlinear regression effects. Apart from the series forecasts, structural modeling provides estimates of these unobserved components; these estimates are very useful in practical decision making. In SAS 9.2 the UCM procedure contains several new features: incorporation of linear and nonlinear regression effects with time-varying coefficients, approximation of long and complex seasonal patterns by using splines and trigonometric polynomials, detection of structural change, and additional ODS graphics. A few real-life examples illustrate the functionality of the UCM procedure irregular component, regression analysis, proc ucm, time series analysis, moving average, residual, seasonality source 13
211 Supporting a SAS Server Architecture Angela M. Hall Your organization has purchased a SAS Solution, which could be for Business Intelligence, Warranty Analysis, Anti Money Laundering or any number of other offerings. Sitting in a server farm the hardware is maintained but you are given the responsibility of managing the SAS solution environment. How do you organize the administration work and keep yourself out of the support game? This paper will provide a framework for planning SAS server administration sas management console, sas enterprise guide source 8
212 Supporting CDISC Standards in Base SAS Using the SAS Clinical Standards Toolkit Peter Villiers The use of regulatory standards aimed at clinical research data and metadata has become more commonplace over recent years. In the USA, the FDA is accepting standards from the Clinical Data Interchange Standards Consortium (CDISC) for submission of tabulation data (SDTM) and the main study metadata XML file (CRT-DDS). Work continues on new standards and updates to the existing ones. Previously, SAS users have not had to think so much about metadata and strict compliance to prescribed standards. The changing regulatory standards place an additional burden on SAS users, which translates to higher costs for companies. This paper will explain how the SAS Clinical Standards Toolkit supports users by providing a framework of macro- based functionality to help ensure that standards are applied to clinical data and metadata. It will explain how users can create their own standards and use them within the framework data cleaning, macro variable, autocall macro, controlled terminology, raw data, clinical research, cdisc source 13
213 Tales from the Help Desk 3: More Solutions for Common SAS Mistakes Bruce F. Gilsen date variable, sysdate9, proc step, proc import, proc sort, proc sql, by group processing, character variable source 10
214 Talking Past Each Other? How to Communicate with Medical Writers When Preparing Clinical Research Manuscripts for Journal Submission Scott C. Thompson,
Stephanie R. Thompson
Clinical research manuscripts are often a blend of qualitative prose and quantitative data. And, the people who help the author(s) prepare each section - introduction, methods and materials, results, and discussion - are typically from very different parts of the research organization and have different backgrounds. Speaking a com- mon language makes the process easier. This paper will present some tips on how to improve communication between medical writers and SAS programmers, such as biostatisticians. Presented from both points of view, what does and doesn't work will be discussed in a point, counter-point fashion clinical research, p-value, confidence interval, sample, standard deviation, sas programmer, hypothesis testing, sample size source 7
215 Test Linearity between Continuous Confounder and Binary Outcome First, Run Multivariate Regression Analysis Second Jiming Fang,
Peter C. Austin,
Jack V. Tu
Previous statistical studies have indicated that dichotomizing a continuous confounding variable in multivariate regression analyses can lead to biased estimation of the effect of exposures, treatments, and risk factors on outcomes. We suggest that, prior to entry in the multivariate analysis, one should test whether or not the continuous confounding variable is linearly related to log-odds of the binary outcome or hazard ratios of the time-to-event binary outcome. If there is a linear relationship, we encourage that the variable not be dichotomized. We illustrate this issue using clinical data that we recently published in the New England Journal of Medicine (NEJM). The linearity assumption is tested by restricted cubic splines using SAS/STAT procedures hazard ratio, regression analysis, interval variable, restricted cubic spline, clinical trial, proc phreg, predictor variable source 8
216 Test-Driving the Improvements to the INFOMAPS Procedure and LIBNAME Engine Bill McNeill SAS information maps provide a layer of metadata that describes your physical data structures in terms that business users can understand. The INFOMAPS procedure and LIBNAME engine, introduced in SAS 9.1, allow from Base SAS for the creation, modification, and deletion of information maps along with querying of the data described by the information map. For SAS 9.2, these products now include enhanced functionality. This paper is written for the customers with the role of utilizing the power of information maps in Base SAS. It will test drive the new features of the procedure and the engine. Common changes to both INFOMAPS products include support on all SAS BI platforms and the use of trusted peer connections. The procedure side includes support for stored processes, enhanced INSERT and OPEN statements, and new MOVE and UPDATE statements. On the engine side are additional filter Boolean operators, surfacing of aggregate data, and new SQL dictionary tables libname engine, proc contents, dictionary tables, where statement, variable, proc sql, proc step, sas base, options statement, proc print, sas library, variable list source
zip
17
217 Testing your SAS Code against Known Data Sharon Schiro As SAS code becomes more complex and is run on large databases, how do we know if our results are correct? It is easy to assume that, if our code runs, it must be perfect. However, it is important to test SAS code against known data to ensure that you are getting the results you expect. This paper will describe a simple mechanism for testing SAS code that can be expanded easily. Methods for generating the test database can cover quite a range-from the very simple spreadsheet to more complex random- number generation. These data are then imported into SAS, the code to be tested is run against the sample database, and the output is compared to expected results. This technique is a simple, but oft-forgotten method of ensuring that what you see is what you expect numeric functions, dataset source 4
218 The Basics of Experimental Design for Multivariate Analysis Steve Figard This paper is designed for the beginner to intermediate practitioner of the form of analysis known as Design of Experiments (DOE). Specific objectives include: Defining some of the terminology Introducing major thought processes, phi losophy, strategies, and rules of thumb Keeping objectives in the context of JMP as an exam ple of how this type of analysis is implemented in software Presenting a relevant example of t he use of DOE in assay development Letting the software worry about the how of DOE, this paper focuses on the when and why to do what main effect, nominal variable, correlation source 15
219 The DOW-Loop Unrolled Paul M. Dorfman,
Koen Vyverman
The DOW-loop is a nested repetitive DATA STEP programming structure, intentionally organized in order to allow for programmatically and logically natural isolation of DO-loop instructions related to a certain break-event from actions performed before and after the loop, and without resorting to superfluous conditional statements. Readily recognizable in its basic and most well-known form by the DO UNTIL (LAST.ID) construct, which naturally lends itself to control-break BY-processing of grouped data, the DOW-loop, however, is much more morphologically diverse and general in nature. In this talk, we aim to examine the internal logic of the DOW-loop and use the power of example to reveal its aesthetic beauty and pragmatic utility set statement, hash table, missing value, output, by group processing, dataset, data step, automatic variable, proc sql source 18
220 The Essentials of SAS Dates and Times Derek P. Morgan The first thing that you need to know is that SAS software stores dates and times as numbers. However, this is not the only thing that you need to know, and this presentation will give you a solid base for working with dates and times in SAS. It will also introduce you to functions and features that will enable you to manipulate your dates and times with surprising flexibility. This paper will also show you some of the possible pitfalls with dates (and times and datetimes) in your SAS code, and how to avoid them. We'll show you how the SAS System handles dates and times through examples, including how to use them in TITLE and/or FOOTNOTE statements, and close with a brief sample, date variable, sysdate9, flat file, macro variable, sysdate, excel, missing value, systime, user-defined format, error message, input statement, numeric variable, proc format, cpu time, time., proc step, macro function, format statement source 16
221 The Future of Revenue Management Kelly A. McGuire,
Steve Pinchuk
In many firms, revenue management (RM), pricing, customer relationship management, and distribution channel management are still a chain of separate departments with separate rulers, and in many cases separate goals measured on separate databases, analytical processes, and skill sets. Centralizing and integrating these functions to create a Profit Optimization department, using RM and pricing theories and tools, will allow firms to move away from traditional revenue management and towards Total Demand Profit Optimization. Under this umbrella, rather than simply managing existing demand, firms can create and direct demand by incorporating the demand generating capability and cost structure of customers and channels into the revenue management decision revenue management, distribution channel, proc freq source 5
222 The Increased Utilization of Analytics and How Academic Programs Are Responding to Job Market Demands by Leveraging Predictive Modeling with SAS Enterprise Miner Certification Goutam Chakraborty,
Julie Petlick
According to Gartner, more than 90% of global 2000 companies have incorporated, or plan to incorporate, analytics into their business applications. This increased utilization of analytics will likely correspond to an increased demand for career professionals with strong analytic skills. This paper examines how academic programs are responding to this need by incorporating the Predictive Modeling with SAS Enterprise Miner certificat ion exam into their existing curricula data mining, data science source 4
223 The Ins and Outs and Ups and Downs of Sorted Data Andrew T. Kuligowski Many things that appear to be simple turn out to be a mask for various complexities. For example, as we all learned early in school, a simple drop of pond water reveals a complete and complex ecosystem when viewed under a microscope. A single snowflake contains a delicate crystalline pattern. Similarly, the decision to use data in a sorted order can conceal an unexpectedly involved series of processing and decisions. This presentation will examine multiple facets of the process of sorting data, starting with the most basic use of PROC SORT and progressing into options that can be used to extend its flexibility. It will progress to look at some potential uses of sorted data, and contrast them with alternatives that do not require sorted data. For example, we will compare the use of the BY statement vs. the CLASS statement in certain PROCs, as well as investigate alternatives to the MERGE statement to combine multiple datasets together proc sort, proc step, missing value, by group processing source 10
224 The Interactive Data Warehouse: Introducing Transactional Data Marts and "Smart Applications" to Interact with Data Warehouse Data Stein Arve Finnestad,
Gisle Karlsen,
Rune Lekve,
Pål Navestad,
Terje Stromstad,
Odd Jarle Tednes
Traditional data warehouse literature describes four maturity levels for a data warehouse, the highest being the "Integrated data warehouse", where triggers in the operational systems keep the data warehouse immediately updated, and new transactions from the data warehouse are immediately written back to operational systems. But the number of different operational systems, the absence of proper legacy system API's, and the difference in transactional level between the data warehouse and operational systems make this unattainable for most enterprises. Building on the foundations of an offline SAS data warehouse, the project team at ConocoPhillips Norge has developed the "Interactive data warehouse"; an "intermediate" maturity level: We introduce the "transactional data mart", a database acting as both a data mart and an operational database, and a three-tier application using this as its database data warehouse, data mart, data validation rules, batch job, sas data integration studio source 8
225 The Many Hats of the SAS Administrator Shiva Srinivasan,
Fabian Robinson
sas administrator, key performance indicator source 7
226 The Next Generation: SAS Enterprise Miner 6.1 David R. Duling,
Wayne Thompson
SAS Enterprise Miner 6.1 delivers several new product enhancements to empower both business analysts and seasoned data miners to work more efficiently and produce improved results. A file import node is included for easy access to a broad range of input source types. Extended summary statistics for input variables are also generated to aid the analysts in defining variable roles and identify upfront data errors and trends during the data source definition process. The algorithmic suite has been extended to include powerful LARS and LASSO variable selection. Interactive decision-tree users will be able to model multiple targets for multi -objective segmentation strategy building and predictive modeling. The Reporter node includes new graphics for delivering an analysis -ready report journal to business constituents. Data miners can also share models using the new Model Viewer application data mining, score code, proc hpsplit, regression analysis, data cleaning, sas log, feature selection, sample, model deployment, proc means source 10
227 The Path to Profitable Analytics: Via Predictive Analytics to Marketing Automation Petr Ptacnik The SAS BI solutions enabled us to increase the number of direct marketing campaigns from 20 to 1000+ a year. Now with SAS Marketing Automation implemented we are able to further increase the number of campaigns while improving the quality of target list selections. The paper focuses on data handling methodology in preparation of direct marketing campaigns and how the business needs were reflected in SAS Marketing Automation data mining, consumer loan, data wrangling, sas base, campaign response, proc freq source 10
228 The Perils of End-of-File Processing When Subsetting Data Leonard E. Landry End-of-file processing in a SAS DATA STEP occurs when an entire file is read and some specific processing takes place only after the last record is read from the dataset being processed. When selectin g a subset of the data from the dataset using a subsetting IF stat ement, problems can arise due to impr oper placement of the end-of-file processing code. This paper will explain why the problem occurs and offer several suggestions on how to avoid it subsetting if, if-then-else, cpu time, merge statement, dataset, set statement, where statement source 7
229 The Problem of Regression Assumptions and the Use of Predictive Modeling Patricia B. Cerrito Predictive modeling includes regression, both logistic and linear, depending upon the type of outcome variable. However, as the datasets are generally too large for a p-value to have meaning, predictive modeling uses other measures of model fit. Generally, too, there are enough observations so that the data can be partitioned into two or more datasets. The first subset is used to define (or train) the model. The second subset can be used in an iterative process to improve the model. The third subset is used to test the model for accuracy. The definition of "best" model needs to be considered as well. In a regression model, the "best" model is one that satisfies the criteria of uniform minimum variance unbiased estimator. In other words, it is only "best" in the class of unbiased estimators. As soon as the class of estimators is expanded, "best" no longer exists, and we must define the criteria that we will use to determine a "best" fit. There are several criteria to consider sample, regression analysis, logistic regression, outlier, logistic distribution, type ii error, standard deviation, central limit theorem, response variable, sample size, proc hpsplit, normal distribution, predictor variable, type i error, data mining, neural network, residual, correlation, likelihood function, data cleaning source 20
230 The Pros and Cons of PROC DOCUMENT Philip R. Holland Reports generated by a program using the ODS DOCUMENT destination can be stored, prior to printing, in a single file. This file can then be used with PROC DOCUMENT to generate reports selectively to 1 or more ODS destinations without the need to re-run the original data processing. This paper describes the benefits and limitations of PROC DOCUMENT proc step, proc freq source 2
231 The SAS Hash Object in Action Paul M. Dorfman,
Koen Vyverman
In SAS Version 9.1, the hash table - the very first object introduced via the DATA STEP Component Interface in Version 9.0 - has finally become robust and syntactically stable. The philosophy and application style of the hash objects is quite different from any other structure ever used in the DATA STEP before. The most notable departure from the tradition is their run-time nature. Hash objects are instantiated, deleted, allocate memory, and get updated all at the run-time. Intuitively, it is clear that such traits should make for very inventive and flexible programming unseen in the DATA STEP of yore. Still better, Version 9.2 has added new methods, attributes, and parameters. This paper includes both hash propaedeutics and material intended for programmers already familiar with SAS hashigana at basic to very advanced levels hash table, hash iterator, dataset, composite key, sample, length statement, proc sql, cpu time, group by, sas programmer, variable, sas log, memory usage, proc means, proc step source 26
232 The SAS OLAP Server: Understanding and Solving Common Problem Situations Adam Budlong The SAS OLAP Server is a complex and powerful tool that is used for storing and exploiting multidimensional data. Because using complex tools can present complex chall enges, you need solutions that simplify your use of the SAS OLAP Server and increase operational reliability. This paper provides information intended to empower you with the knowledge and skills required to address these issues with c onfidence. Strategies and examples for resolving issues in both SAS 9.1.3 and SAS 9.2 are presented note, sas management console, error message, sas log, sample, sas enterprise guide source 12
233 The SAS Terminator: An Ultimate Killer of UNIX Processes Houliang Li As a UNIX SAS user, you may not realize that when your SAS program terminates, whether voluntarily or by external force, it may leave behind one or more UNIX processes spawned by the now dead top level process. In fact, a SAS program can create multiple generations of processes. Merely killing the patriarch does not stop its children or grandchildren or great-grandchildren from running wild. This paper shows you how to safely and efficiently eliminate the entire lineage of UNIX processes started by your SAS program. In effect, you become The SAS Terminator. Now which killing mode gives you more satisfaction: methodically iterative or decisively recursive? macro definition, %if-%then-%else source 8
234 The Science of Application Debugging David A. Scocca An old maxim holds that every nontrivial computer program has bugs. As a developer, you want to minimize the number and severity of the bugs that appear in your released application. When a bug is reported, you need to be able to identify and resolve it as efficiently as possible. Effective debugging requires a scientific approach and an understanding of the tools available to help you identify, understand, and solve the problems that cause bugs sas log, error message, data step source 10
235 The Second CDISC Pilot Project: Standards for Integrating Databases Ian Fleming,
Gregory C. Steffens
The first CDISC SDTM/ADaM pilot project created a test submission of one study to the FDA using CDISC data and metadata standards, in order to test that these standards meet FDA requirements (described in a paper Greg Steffens presented at SUGI 2007). The second CDISC pilot project objectives are to test 1.) the value of CDISC standards to create integrated databases (IDBs) and 2.) the new FDA safety review guidelines. This presentation focuses on the first objective and describes 1.) the collection and use of metadata in the second pilot and 2.) a very important drafted extension to the define.xml schema that supports row-level metadata and fills a gap in the metadata schema identified in the first pilot project. Metadata for eight pilot project studies and three IDBs were populated in EXCEL - EXCEL was a user request as it has a more familiar interface than the SAS data set editors macro definition, excel, adamig, data standard, dataset, cdisc source 4
236 THINK Before You Type ... Best Practices Learned the Hard Way Marje Fecht We have all done it…. You leave a meeting with a new project on your plate - you sit down at your computer and start programming - a day later and lots of code on the screen, you try to remember the real purpose of your latest task. Or, worse, you finish your task only to find that it is not what was requested. Discipline and planning aren't always easy but they pay off in the long run! data cleaning, proc step, macro facility source 8
237 Time Travel: How to Easily Create, Loop Through and Manipulate Data with Names Containing YYYYMM Jingjing Shan In financial industries, the information is vast. To limit the size of each dataset, they are usually organized as monthly dataset. In many cases, the dataset name contains the date information. However, analysis and reporting often require cross time periods. For example, the monthly prepayment calculation needs information from both current and prior month. Often you will be utilizing multiple monthly data to either build models or compare projections against actual experience. Even though YYYYMM is not continues as regular numbers, you would like to have a simple way to just specify the beginning period and ending period, your programs will just gracefully loop through. With the help of SAS functions INTNX, TODAY, SYMPUT, PUT, %SUBSTR, %EVAL, MDY and various date formats, a simple shell macro will do the trick proc step, macro variable, datepart, create table, macro definition source 14
238 Tips and Techniques for Analytic Web Services Daniel Jahn,
Bradley W. Klenz
SAS BI Web services enable SAS programmers to write analytical routines and make them available to other applications through an open standard interface. When you create a SAS program to be used in a Web service, you can use some techniques that make your SAS code easier to write and easier for client applications to use. Techniques are also available for client applications when they call analytic Web services. These techniques address issues in the following areas: working with missing values, accommodating long-running routines in a Web service, customizing the contract that defines the service interface, dealing with large amounts of data, and working in a stateless protocol. An examination of each potential issue, along with tips on overcoming these issues, is included web service, predictor variable, missing value, proc step, dataset, regression analysis, proc reg, data cleaning source 16
239 Tips and Tricks for Creating the Reports Your Clients Need to See Michael J. Molter Advanced reporting tools such as PROC REPORT have progressed by leaps and bounds in terms of options available to programmers for creating tables. Add to that the always-improving Output Delivery System (ODS), and it seems the sky is the limit for creating ready-for-delivery output straight from SAS. Just when we start believing this, reality exposes limitations. Report templates are designed to maximize readability and to present data in a way that allows the reader to make well-informed decisions -without regard to programming challenges. Unfortunately for programmers, such tables cannot always be generated with the basic tools everyone talks about. In this paper we respond to such challenges by discussing some of PROC REPORT's and ODS's lesser known tools such as the Across variable, temporary variables, style attributes, inline formatting, and destination-specific markup. Along the way we will discover hiding places for some of the documentation of these features proc step, proc report, p-value, numeric variable, output delivery system, sas base, demographics table, class variable, proc means, proc transpose, nominal variable, proc print, proc freq source 13
240 Tips and Tricks IV: More SAS/GRAPH Map Secrets A. Darrell Massengill,
Jeffrey C. Phillips
"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 source
zip
15
241 Tiptoe through the Templates Cynthia L. Zender Are you confused about the difference between style templates, table templates, tagset templates, and graph templates? Do you wonder how they're all used with ODS? This paper provides an overview of all the different template types and how they're used with the Output Delivery System. From style and table templates, that first appeared with SAS 7 to the newest graph templates that appeared with SAS 9.2, this paper will provide an overview and several concrete examples for each template type. Along the way, we'll also discuss the template garden (SASHELP.TMPLMST) where all the templates live, how to transplant your templates to a different garden, how to come up with your own new variety of templates (PROC TEMPLATE), and how to find your way to the new template garden (ODS PATH). New features of PROC TEMPLATE syntax (such as the IMPORT statement) will be highlighted proc step, proc freq, proc template, proc means, ods html, proc print, proc report, sas log, ascii, ods pdf, sas output, txt, output delivery system, sas enterprise guide source 27
242 Traffic-Lighting Your Reports the Easy Way with ODS and PROC REPORT Andrew H. Karp Effective combination of core tools in BASE SAS Software enables you to create effective and compelling reports of data that "traffic-light," or assign appearance attributes, to elements of the output as a function of rules that are either "outside the data set" (e.g., an industry standard or corporate policy/designation) or "inside the data set" (e.g., those data values that are above the average (mean) of all the values in a column are to be displayed in one color, and those below the average are to be displayed in a different color) proc report, proc step, sas base, proc print, output delivery system, macro facility, symbol table, proc format, macro definition, macro variable, sas output, format statement, ods pdf, quality control, data step source 12
243 Troubleshoot Your Performance Issues: SAS Technical Support Shows You How Michael Williams,
Gretel Easter,
Steve Bradsher
When customers contact SAS Technical Support for help in improving the performance of processes running in the UNIX environment, the answer is frequently as simple as determining which SAS system options need to be modified. This paper demonstrates that if you learn how to analyze a SAS log, and if you know what portable and host SAS options are available to you and how to set them for maximum effectiveness, you can improve the performance of many of your SAS processes without resort ing to making changes at the operating system level. USING THE FULLSTIMER SAS SYSTEM OPTION TO IDENTIFY PERFORMANCE cpu time, options statement, proc sort, work library, proc step, sas log, memory usage, phase ii, stimer, proc means source 12
244 Turn the Tables on Boring Reports with SAS 9.2 and RTF Tagset Options Louise S. Hadden SAS 9.2 offers new ways to create presentation quality RTF documents directly from the Output Delivery System (ODS). T his paper highlights a new technique to rotate column headers in tabular RTF output without post - processing in Microsoft Word or Open Office. Prior to SAS 9.2, this could only be accomplished using a post - processing macro within SAS. Now, rotating column headers can easily be accomplished simply by specifying RTF tagset OPTIONS. User -written special style functions will also be explored. Examples producing tables in 9.1.3 (using the post -processing macro and PROC TABULATE) and in 9.2 ( using the RTF tagset and PROC TABULATE, and the RTF destination and PROC REPORT ) will be demonstrated. Full code samples are available from the author upon request proc step, output delivery system source 10
245 Understanding the SAS DATA Step and the Program Data Vector Steven J. First The SAS system is made up of two major components: SAS PR OCs and the SAS DATA STEP. The DATA STEP provides an excellent, full fledged programming langua ge that allows programs to read and write almost any typ e of data value, convert and calculate new data, control loopi ng and much, much more. In many ways, the design of the DATA STEP along with its powerful statements, is what ma kes 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. I t will also look at major DATA STEP features such as compiler and executable statements dataset, if-then-else, proc step, _eof_, output, subsetting if, proc sql source 16
246 Useful by Association: Adding Practical Value by Analyzing SAS 9 Data Integration Metadata Steve Morton SAS 9 has an incredibly rich metadata model, but the documentation can be very daunting! This paper will explain the practical use of Associations and Attributes in the metadata to extract, analyze, and report this valuable resource using SAS DATA STEP programming. Starting from simple techniques such as listing all libraries, examples will show how you can build a set of utility programs to report on how your ETL environment is structured sas 9, sas programmer, proc step source 11
247 Using Base SAS and SAS Enterprise Miner to Develop Customer Retention Modeling Strategies 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." sas base, proc step, data mining, proc tabulate, customer retention, correlation, proc print, ks statistic, proc surveyselect, excel, sas programming, sample source 17
248 Using Functions SYSFUNC and IFC to Conditionally Execute Statements in Open Code Ronald J. Fehd Description : This paper explains how to conditionally execute statements in open code without having to wrap the code in a macro. This is accom- plished by combining the macro function sysfunc with the DATA STEP function IFC. The result is that parameterized include programs gain the power of conditional processing - %if ... %then - for which macros are usually used macro put, macro variable, proc step, macro function source 10
249 Using GEE to Model Student's Satisfaction: A SAS Macro Approach Teck Kiang Tan,
Trivina Kang,
David Hogan
This paper illustrates analysis of longitudinal data using GEE (generalize estimation equations) and shows how output from SAS macros can be streamlined and organized to aid interpretation of the analysis. Although using GEE through procedures such as SAS PROC GENMOD is becoming increasingly commonplace, as far as model evaluation is concerned, its widespread use is somewhat limited by the lack of easily accessible measures to evaluate model goodness-of-fit directly from the default SAS output. This paper gives an example of how this can be done by first building three goodness-of-fit indices, namely the marginal R2, QIC and QICU, in a SAS macro, using various working correlation matrices, for model comparison. The macro outputs these indices in a summarized SAS output as well as outputs the estimated coefficients, SEs and P-values of these models in an organized way that can be easily exported into EXCEL correlation, macro definition, proc step, proc genmod, sas output, sample, response variable, longitudinal data, macro variable, excel, likelihood function, regression analysis, data science source 12
250 Using IN:( ) to code Character Comparisons with Criteria Having Different Lengths Paul H. Grant Jr. Character comparisons with criteria having differen t lengths are easier to describe than to code. For example, it's easy to say "Select the records of customers whose last names begin with 'Mc' or with 'Mac'" but more difficult to code it. This paper will show you how to use the IN operator and the colon ( :) operator modifier to code these types of comparisons simply and clearly in SAS DATA and PROC steps. A Sample Comparison To illustrate this discussion, suppose we have to s elect the records for all the customers located in ZIP codes which begin with: '010' '011' '012' '0130' '0131' '0133' '0134' '0138' The difficulty is that we want to select some recor ds based on the first three bytes of the ZIP code, others based on the first four bytes substr function, character constant, proc step, proc sql source 4
251 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. Because ODS Graphics uses the Output Delivery System, graphs can be sent to ODS destinations, and use ODS styles. This paper shows how to produce different types of graphs using PROC SGPLOT, how to send your graph to different ODS destinations, and how to apply ODS styles to your graph. We will also show how to use the ODS Graphics Editor to make changes to graphs produced using ODS Graphics proc sgplot, response variable, proc step, histogram, bar chart, output delivery system, series plot source 17
252 Using PROC TABULATE and ODS Style Options to Make Really Great Tables Wendi L. Wright We start with an introduction to PROC TABULATE, loo king at the basic syntax, and then building on this syntax by using examples. Examples will show how to produce one-, two-, and three-dimensional tables using the TABLE statement. More examples cover how to choose statistics for the table, labeling variables and statistics, how to add totals and sub totals, working with percents and missing data, and how to clean up the table using options. A look at the three ways you can use the PRELOADFMT option is also covered. Next the ways to use the ODS STYLE= option in PROC TABULATE is covered. This option helps to customize the tables and improve their attractivene ss. This option is very versatile and, depending on where the option is used, can justify cells or row and column headings, change colors for both the foreground and background of the table, modify line s and borders, controlling cell width, add a flyove r text box in ODS HTML, or add GIF figures to the row or column headings proc tabulate, proc step, class variable, proc format, proc means, missing value source 19
253 Using SAS Arrays to Manipulate Data Ben Cochran The DATA STEP has been described as the best data manipulator in the business. One of the constructs that gives the DATA STEP so much power is the SAS array. This presentation takes the user on a tour of SAS array applications starting from a very elementary level to more advanced examples. After brief explanations of each application, the attendees will get a chance to try their skills at solving an array of challenges array, array bounds, character variable, proc print, proc step source 11
254 Using SAS Clinical Data Integration Server to Implement and Manage CDISC Standards Michael Kilhullen The SAS Metadata Server is a core component of all SAS9 solutions. It delivers the power to integrate, share, centrally manage, and leverage metadata across entire organizations. Through these capabilities, standard data models such as the CDISC Study Data Tabulation Model (SDTM) can be deployed and leveraged by all users in your organization without the need for developing additional metadata libraries or programs. In this paper, we examine the value that the SAS Open Metadata Architecture can bring to your organization, how the SDTM data model is implemented in the metadata server, and how the metadata can be leveraged by SAS products and solutions such as SAS Data Integration Studio data standard, clinical data, data cleaning, cdisc source 7
255 Using SAS Data Integration Studio as a Computer-Aided Software Engineering (CASE) Tool David M. Kiasi With SAS D I S t u d i o , a S A S d e v e l o p e r c a n n o w designhis/herapplication,fullydocumentingitonthe frontend,inastructuredmanner;thenmigratethat designtotheapplicationwithminimaleffort.DI Studiocan,ifusedcorrectly,createastructured environmentinapainlessmanner.Thispresentation willdiscussthefundamentalsofstructuredanalysis a nd d e s i g n , s h o w h o w d a t a f l o w d i a g r a m s a n d d a t a dictionariescanbecreatedwithDIStudio,andshow howeasyitistomigratethatdesigntothe application sas data integration studio, dataset, raw data, proc contents, proc step source 16
256 Using SAS Enterprise Guide 4.1 to Reduce the Cost of Diabetic Outpatients in Medicare Xiao Wang The purpose of this paper is to evaluate the main causes for costs for diabetic outpatients in Medicare. The data sets of outpatient revenue and beneficiary summary used in this study are provided by the Chronic Condition Data Warehouse (CCW) from the Centers for Medicare and Medicaid. In this paper, we used Summary Statistics, One- Way Frequency, the General Linear Model, the Generalized Linear Model and Kernel Density Estimation. We utilized Filter and Query as well as Random Sampling to preprocess the dataset. We examined patient diagnosis information. The results of Summary Statistics show that the total charges are reduced considerably for payment. Kernel Density Estimation shows that for both male outpatients and female outpatients, the distributions of total charges follow a Gamma distribution. One-way frequency counts show the top 20 reasons for total charges and we used these 20 diagnoses to define 0-1 indicator functions gamma distribution, proc freq, sas enterprise guide source 7
257 Using SAS OLAP Server for a ROLAP Scenario John Graas,
Brian Mitchell,
Tatyana Petrova,
Mary Simmons,
Michelle Wilkie
SAS offers a flexible online analytical processing (OLAP) solution, not only allowing users to choose a multi- dimensional OLAP (MOLAP) approach, but also a relational OLAP (ROLAP) solution. With the latter approach, the SAS OLAP Server accesses data stored within relati onal database management systems directly. A ROLAP approach reduces cube build times and decreases maintenance activities as the data remains in relational database management systems (RDBMS). Using the SAS OLAP Server in tandem with Teradata delivers an ideal OLAP solution for the expanding needs of your organization. This paper is targeted to advanced SAS users and discusses the following topics: Relational OLAP (ROLAP) using SAS OLAP Server and Teradata; Design aspects for a ROLAP implementation; Teradata performance features and enhancements star schema, snowflake schema, data integrity, foreign key, teradata, proc sql, sas management console, dimension table, fact table, group by, key, relational database, dataset, proc freq source 20
258 Using SAS OnDemand for Academics to Meet Changing Student Needs, Reduce Software Access Barriers, and Grow SAS Skills Tom Edds,
Ron Statt
SAS OnDemand for Academics enables university instructors and students to securely access and use SAS software through the Internet. With this hosted delivery model, instructors and universities can reduce installation and configuration requirements and make it easier for students to access SAS software whenever and wherever they want. Distance learners get the same access options as their on-campus counterparts. It's also economical, costing less than many text books. By easing installation and access, SAS OnDemand for Academics makes it easier for students to focus on learning and applying SAS skills to meet course requirements. Instructors benefit by being able to offer an easy-to-use choice that lets them concentrate on teaching and helping students succeed sas enterprise guide, dataset, data mining source 6
259 Using SAS Software to Generate Textbook-Style Histograms Perry Watts Percent tallies associated with midpoint labeled intervals define the basic histogram generated in PROC UNIVARIATE. However, most statistics textbooks display histograms with frequencies and endpoints rather than per- cents and midpoints. Frequencies are more descriptive, and endpoints are better suited for continuous data. With recent updates to SAS software it is now easy to generate a textbook hi stogram by using PROC UNIVARIATE. En- hancements to the textbook histogram such as a normal curve overlay and bar height labels are also easily managed in PROC UNIVARIATE. Unfortunately, the UNIVARIATE ENDPOINTS= option, new for Version 9.13 SAS, is restricted in form to < m TO n BY increment>. This means that plotting an n-bar histogram or a histogram with unequal intervals is only possible when the graph is developed from scratch in PROC GPLOT. A ma cro that works with any release of SAS software is pro- vided that automates the production of GPLOT generated histograms histogram, proc freq, proc step, proc univariate, bar chart, proc gplot, normal distribution, relative frequency, proc format, proc gchart, %if-%then-%else source 18
260 Using SAS System and Dataset Options to Control Your Data David W. Franklin Adding control to your data is becoming an important task. A lot is at risk when data becomes compromised, and depending on the event, regulators may become involved. This paper looks at a way that SAS provides of controlling who has access to the datasets for modification, and also looks at two alternatives for tracking changes, first through an audit trail and second using SAS dataset "versioning" audit trail, dataset, proc contents, proc compare, proc sql source 6
261 Using SAS to Analyze System Performance Metrics Chris Helwig This paper explains how Microsoft Management Console (MMC) 2.0 can generate flat files containing system metrics, such as memory, disk space, and CPU. System metrics can then be used in SAS to build data sets to analyze computer performance data. SAS functions, including PROC SQL, PROC MEANS, PROC FREQ, and PROC TTEST are used. The data can be graphed using PROC CHART and by generating XML that can be displayed on the Web using Flash charts with XML/SWF Charts technology proc step, proc means, proc reg, numeric functions, proc freq, proc sql, standard deviation source 9
262 Using SAS to Build the Managed Care Data Warehouse at Community Care Behavioral Health Organization Mary Doyle,
Qingfeng Liang,
Gretchen Ciocco,
Michele Mesiano,
Shouqiang Wang
Community Care Behavioral Health Organization (Comm unity Care) needed to increase the sophistication o f its ability to manage, analyze and report data in order to support organizational impr ovement and to accommodate its rapid growth. Impro ving efficiencies in summarizing and displaying decision support data to company managem ent was also vital. To accomplish these tasks, Com munity Care needed to create a data warehouse that integrated large volumes of data fro m a variety of divergent sources. Community Care d ecided to implement SAS strategies to accomplish these goals. The company partnered with SAS in a consulting engagement to apply SAS best p ractices in their data warehouse work. This paper discusses the strategies successf ully implemented using the SAS Data Integration pla tform to build the Community Care data warehouse data warehouse, data cleaning, sas data integration studio, data mart, data validation rules, sas base, proc sql source 8
263 Using SAS to Create Proportional Venn Diagrams Shiqun (Stan) Li Proportional Venn diagrams have a wide application background. They can be used to visually demonstrate the magnitudes and relationships among subgroups. Within our SAS community, there has been a highly demanding for a new SAS procedure that can generate proportional Venn diagrams[1]. In this presentation, we will propose a SAS macro %pVenn. This SAS macro will be capable of drawing two-circle or three-circle Venn diagrams that are area-proportional to the size of the sets. We will also exhibit some examples of utilizing this SAS macro to generate proportional Venn diagrams for real world applications. This paper is prepared for an intermediate and advanced audience macro definition, sample source 9
264 Using SAS to Explore the Impact of a Care Management Maternity Program Barbara B. Okerson Pregnancy and childbirth-related conditions make up almost 25 percent of hospitalizations in the United States. Mothers-to-be that are healthy and well-informed about their needs and the needs of their baby have healthier babies and lower costs. This paper uses SAS statistical procedures combined with ODS statistical graphics and SAS/GRAPH procedures to produce graphics that can be used to analyze the need for, and effectiveness of, a prenatal care-management program that is designed to reduce cost while reducing incidence of preterm and low birth weight babies, especially for high-risk pregnancies. In addition to a broad range of statistical procedures, SAS/STAT provides customizable statistical graphics that display automatically when ODS graphics are invoked; these are especially effective for graphically displaying the effects and safety of treatments in a mode that is often more easily understood and remembered than tabular forms box plot, waterfall chart, proc step, bar chart, proc sgplot, histogram, survival analysis, data visualization, time variable source 9
265 Using SAS to Manage, Monitor, and Control the SAS BI Server: User-Developed Custom Tools for the SAS Server Administrator, User, or Manager LeRoy Bessler Who is using SAS now and how much CPU time and memory? Since when? When is the last time each user was on the server? How heavily does each use the server in terms of frequency or CPU time? What processes do I myself have running? I have a possible looping or hung process on the remote server, but my SAS Enterprise Guide session is hung or cancelled. How can I kill the process? These are among the questions and needs that can be addressed by custom tools developed with SAS software itself and SAS-submitted Windows DOS commands sas enterprise guide, cpu time, if-then-else, sas log, dataset, sas management console, macro definition, batch job source 9
266 Using SAS/GRAPH, JavaScript, and ODS to Create Interactive HTML Output James L. Ribble This paper will demonstrate combining tabular data and SAS/GRAPH output with JavaScript logic to create interactive HTML documents. Examples will be shown of how to customize your web document output using both data steps and ODS. The use of HTML style specifications will also be demonstrated as well as how to define multiple independently controlled graphic layers proc report, proc step, ods html, macro loop, macro function source 7
267 Using the DATA Step as a POP3 Mail Client Erik W. Tilanus Lasts year's presentation "Sending email from the DATA STEP" drew a lot of attention. But receiving email in the DATA STEP, i.e. using the DATA STEP as a POP3 mail client is also possible. This is a simple low-cost solution for companies that require branches to send in information for handling at the head office. This paper explains how to access a POP3 mail server and save the messages in a SAS data set and also how to make it run repeatedly filename statement, sas log, input statement, macro variable, macro function, macro definition source 10
268 Using the SAS/OR OPTMODEL Procedure to Assign Students to Schools in the Wake County Public Schools System Ivan Oliveira,
Charles Dulaney,
Robert C. Pratt
With over 137,000 students and 156 schools, the Wake County Public School System (WCPSS) is the largest in North Carolina and the eighteenth largest in the United States. Each year, WCPSS faces the problem of assigning students to schools, using multiyear student population forecasts. The main goals are to reduce county-wide: socioeconomic imbalance among neighborhood schools, overcrowding, travel time, and the number of students reassigned to different schools from year to year. These goals must be achieved while adhering to numerous constraints, which include limits on student demographics by region, limits on school-specific capacities, and the observance of predetermined special assignments. WCPSS needed to automate this previously manual assignment process in order to efficiently evaluate different policies and decisions and quickly propose new assignments. Using the SAS/OR OPTMODEL procedure, we developed an optimization engine to solve this problem odds ratio, proc step source 14
269 Variable Names Don't Begin with the Same Characters? No Problem: How to Create Variable List without Copying, Pasting or Excel Intervention Xu Zeng Working with hundreds even thousands of variables is very common for many SAS programmers. As such, SAS has provided variable list tools like VAR1-VARN or VAR: so that we do not need to type variable names one by one. However, when the variable names do not begin with the same character string, a.k.a. prefix, the SAS default variable list will not work. This paper demonstrates a dynamic yet simple time-saver to generate variable lists when variable names have other commonalities than prefixes using PROC SQL SELECT INTO with DICTIONARY.COLUMNS table. This powerful and innovative method also enables the creation of new variable names, renaming of variables, and identification of common variables without copying, pasting or EXCEL intervention. In addition, the paper illustrates how to create dataset name list, which is not an inherent SAS tool proc sql, proc step, macro variable, select, variable list, date variable, excel, dataset, dictionary tables, macro definition source 8
270 Very Large Dataset Performance as Measured Across Multiple SAS 9.1.3 Data Storage Options. Donald E. Kros SAS 9.1.3 provides two basic library setup options, Base and Scalable Performance Data Engine. Our purpose is to compare and contrast performance statistics via FULLSTIMER across multiple scenarios against a dataset of 500 million records. These scenarios include enabling a mixture of Threading, CPU Counts, Index Creation, and Engine Type across BASE and SPDE Libraries while performing a PROC SUMMARY. Our platform is an IBM P-590 with 16 dual-core 3.4 GHz processors, 70 gigabytes of RAM, and 17 terabytes of disk space on a RAID 5 SAN with IBM DS8000 disks anova, proc means, proc step source 8
271 Visual Guide to SAS Web Application Development: Techniques and Methodologies for Efficient Web Application Development for SAS Sy J. Truong The browser wars have entered a new era with Google Chrome challenging Microsoft Internet Explorer's dominance. One of the driving forces and strategies for Google Chrome is to have the browser function as a platform to deliver interactive applications rather than just static websites. The new browser is designed from the bottom up with the purpose of optimizing performance for delivering applications. SAS software has traditionally been reserved for power users performing analytics for specific vertical business intelligence needs. The browser war illustrates the maturity of the delivery of web applications. This presents opportunities for SAS solutions to be delivered to a wider audience with minimal user requirements outside of a web browser. This paper is a visual guide describing the steps needed to efficiently develop and deploy user friendly web applications with powerful server side SAS processing sas base, data cleaning, proc step, proc sql source 18
272 Visualizing Two Social Networks Across Time with SAS: Collaborators on a Research Grant vs. Those Posting on SAS-L Larry Hoyle This paper explores the visualization of two different social networks across time. One consists of people at 23,827 email addresses posting 267,209 messages to 82,279 threads on the email list SAS-L from 1996 through August of 2008. The other, much smaller but more complex, social network includes faculty, staff and students working on the Kansas NSF EPSCoR grant. Capabilities of the %DS2CONST macro and the SAS/GRAPH Annotate facility are compared. The use of Enterprise Guide for managing the process is described proc step, create table, sas enterprise guide, proc mds, proc sql source 11
273 Wandering Cross-Reference Lines in PROC GPLOT Sharon Avrunin-Becker,
Marie Byrd Alexander
PROC GPLOT is an interesting and somewhat mysterious SAS procedure. New users of PROC GPLOT often find the procedure useful in producing simple graphs, but find it intimidating when trying to enhance and guide the visual interpretation of the graph. One type of plot involves the use of vertical and/or horizontal reference lines to emphasize the plotted points on the graph. Usually, when the horizontal (HREF) and vertical (VREF) reference lines are defined in the PLOT statement, a specific number is referenced to create the lines (e.g. HREF=10). What do you do if you have a graph where you want to have horizontal, vertical, or both, reference lines placed dependant on the data itself? This paper will demonstrate how to turn your reference lines parameters into macro variables and how to call the same PROC GPLOT routine to create unique and individualized graphs for each subject proc gplot, proc step, call symput, do loop source 8
274 What's New in SAS Add-In 4.2 for Microsoft Office Tim Beese,
Casey Smith,
Lynne Smith
SAS Add-In 4.2 for Microsoft Office offers several new features for users that make data analysis and reporting in Microsoft Office easier and more powerful than in previous releases. In this release, the SAS add-in is better integrated with Office 2007 and blends seamlessly with the Office 2007 Ribbon. The SAS add-in is also integrated with SAS Enterprise Guide and SAS Web Report Studio, allowing the user to open reports from either application into Microsoft Office. When opening reports, the user is able to choose specific elements within the report to display. The SAS add-in also has improved support for OLAP cubes, including calculated members and calculated measures as part of a PivotTable. For administrators, the SAS add-in supports the same role-based architecture as other business intelligence applications from SAS. This allows the administrator to control which users have access to different functions of the application sas enterprise guide, excel source 10
275 What's New in SAS Data Integration Studio 4.2 Eric Hunley,
Nancy A. Rausch
SAS Data Integration Studio 4.2 provides many new enhancements to help both data warehouse developers and data integration specialists carry out the data integration process more efficiently and with greater control and flexibility. A major focus of this release is to deliver new visualization features and integrated debugging support. Major improvements have been made to nearly every transform node. Performance analysis and optimization capabilities have been enhanced through the use of integration with ARM facilities. Increased integration across the platform is another focus area that provides a better integrated user experience across the platform suite of products. Enhancements coming in version 4.21 will also be discussed. Customers will find many reasons to upgrade to SAS Data Integration Studio 4.2 data integration, change data capture, date variable, data warehouse, sas log, proc sql source 30
276 What's New in SAS Enterprise Guide 4.2? Anand V. Chitale,
Chris Hemedinger
SAS Enterprise Guide 4.2 offers new features around almost every aspect of the application, including the process flow interface; use of ODS statistical graphics; new tasks for reporting, graphing, and data management; SAS report integration; enhancements for the SAS programmer; and manageability for the SAS administrator. This paper will highlight the new features and show examples of how they can make using SAS more fun and productive than it already is. About SAS Enterprise Guide 4.2 As the desktop interface to SAS 9.2, SAS Enterprise Guide 4.2 has something to offer for everyone. For business analysts, it offers easy-to-use tasks to query data and create reports with multiple graphical ways to look at data. For statisticians, it offers access to advanced analytical tasks such as regression, ANOVA, and forecasting sas enterprise guide source 9
277 What's New in SAS Training for SAS 9.2 Amy Peters SAS Education has spent the past year updating the entire curriculum for SAS 9.2 and aligning offerings around the world. Since it was a unique opportunity to touch every course, years of student evaluations were studied and customer focus groups were held, which resulted in some sweeping changes driven by customer requests including more interactivity, leveled exercises, and an overhaul of the data used in courses. New media were also introduced including audio-based e-Courses and short topic e-Lectures. Learn how the new media and updated courses can help you train your new and your experienced SAS users and gain a better understanding of what you need to know to transition to SAS 9.2 sas enterprise guide, sas programming, sas base, sas programmer source 5
278 Which SASAUTOS Macros Are Available to My SAS Session? Harry Droogendyk The SAS installation process makes a number of SAS supplied macros available to your SAS session via the SASAUTOS option. In addition, useful macros created by users in your organization may be made available to SAS users via SASAUTOS or by way of the Compiled Stored Macro facility. But… how do I know which macros are available? And, if a macro has been defined in more than one location, which one will be utilized? This paper will explain the different methods of defining and storing macros, discuss how SAS searches for macros, demonstrate how to specify the appropriate options to allow access to compiled stored macros and define the SASAUTOS search order. The meaty stuff will involve a walk through %list_sasautos, a useful utility macro written by the author, that will identify all of the macros available to your SAS session stored macro, macro definition, macro catalog, catalog, catalog entry, permanent library, autocall macro, work library, macro loop, %macro parameters, %if-%then-%else source 15
279 Wholesale Electric Energy Market Analysis with Electronic Quarterly Reports Data Sarah J. Whittier In the first six months of 2008, physical sales of wholesale electric energy in New England totaled approximately $13.4 billion. Suppose you want to get a better understanding of this market: you download the 40GB+, Visual FoxPro database of Electronic Quarterly Reports (EQR) data from the Federal Energy Regulatory Commission (FERC) website and open a SAS session. Where do you go from here? This paper explains how to bring EQR data into SAS, clean it up, and produce useful reports, using the example of a project analyzing New England transactions. The topic of this paper is how to analyze EQR data, not how to meet the FERC's EQR filing requirements. The SAS products used were Base SAS and SAS/ACCESS for OLEDB proc step, proc means, dataset, proc sql, excel source 11
280 Why Is SAS Certification Helpful in Enhancing Your Career as an Analyst and SAS Programmer? Murphy Choy Many people do not believe in the usefulness of IT certification. There have been many such certifications which failed to provide employers with information on the level of competence of the programmers. This lack of faith in IT certification resulted in many people ignoring them. However, in this paper, the usefulness of SAS certification is explained in terms of its effectiveness in enhancing your position both as an analyst and a SAS programmer by following the career progress of a young graduate to be a competent analyst and SAS programmer. sas programmer, sas programming, dataset source 3
281 Wow! You Did That Map with SAS/GRAPH? Louise S. Hadden,
Michael S. Zdeb
SAS/GRAPH and ODS prov ide SAS programmers with tools to create customized, full color maps for a variety of uses. The production of useful, impressive looking maps using SAS/GRAPH is surprisingly easy, and can be accomplished with greater ease in SAS 9.2. This paper walks thr ough the creation of a number of different maps using SAS 9.1 and 9.2 and shows some exciting new choices and possibilities in SAS 9.2 proc step, bar chart, proc gchart, proc gmap, macro variable, ods pdf, sas programmer, macro definition source 20
282 You Might Be a SAS Energy Hog If ... Michael A. Raithel,
Michael D. Rhoads
With heightened concern about global warming and rapidly -increasing fossil fuel prices, improving the energy efficiency of our home heating systems, appliances, and automobiles has become a priority for many of us. "Energy hogs" who waste energy, whether knowingly or inadvertently, contribute in a major way to the world climate and energy crises. Conversely, by modifying some of our behaviors to use energy more efficiently, we become more responsible citizens of the world, and can actually save some of our own money by consuming less energy. You can apply similar principles to your SAS programming. While it's true that revising your SAS code will probably not save any cuddly animal species from extinction, employing more energy -efficient SAS programming techniques will make you a better corporate citizen by reducing the load on your enterprise's servers, disk storage, and network bandwidth dataset, proc step, flat file, modify statement, sas programmer, by group processing, numeric variable, proc sort, libname statement, relational database, character variable, length statement, proc sql, if-then-else, proc append, proc means, raw data, sas programming, sql server, excel source 15
283 You Need to Consolidate Massive Amounts of Data? Select the Fastest Method or Go for Minimal Memory Requirements to Build Your Result Henri Theuwissen Most applications require consolidated data. With the ever growing volumes of data, CPU time becomes a bottleneck, and performance becomes vital. The most common way to consolidate data is the MEANS or SUMMARY procedure; database addicts prefer the Structured Query Language (SQL) procedure. These procedures, although very powerful and easy, sometimes require too much CPU time or cause out of memory errors. Learn alternative solutions and get deta ils on options to improve the requir ed resources. See a comparison between several methods for data consolidation: The MEANS and SUMMARY procedure The SQL procedure DATA STEP processing HASH tables Examine the impact of sorted or i ndexed data or the usage of system options like SUMSIZE, MEMSIZE, and proc means, cpu time, hash table, proc step, proc sql, by group processing, retain, proc sort, class variable, group by, options statement source 14
284 You Use SAS, Your Boss Uses Excel. Guess Where Your Results Are Going to Appear! Using ODS to Create Your Results in Excel William E. Benjamin Jr. This paper digs into the use of ODS on the SAS side to prepare EXCEL spreadsheets directly. SAS code and macros will be demonstrated to create multi -page EXCEL spreadsheets, giving the programmer the ability to build tools to exploit data and display information for the end user. As a re sult, the SAS programmer will be able to create spreadsheets for distribution, automate the standardization of reports and the building of powerful spreadsheet applications with access to information built by offline SAS processes that the end user can ref resh excel, proc print, ods excel, proc step, sas base, output delivery system source 10

Back to Conf go 2010 go 2008

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.