HOME QUICK SEARCH AUTHORS KEYWORDS HELP BUGS

SGF 2010 Papers - Index

320 papers. Source: SAS Global Forum conference proceedings.

# Title
×
Authors
×
Abstract
×
Keywords
×
Extras Pages
1 "SAS macros are just text substitution!" ... ARRRRGGGHHH!!! Dianne Piaskoski Before I truly understood what, "SAS macros are just text substitution!" meant, I swear that if one more person said that to me, I was going to scream. If you have heard the following, then this paper is for you: heard about SAS macros know that macros would greatly simplify your code understand that macros reduce the chance of errors do not have a resource who can explain macro basics to you before leaping too quickly into the fancier stuff. This paper is aimed at the SAS user who has never used SAS macro variables or macro statements before, or who has been scared off by seeing too many % and & signs too quickly. By building a strong foundation in the basics of SAS macro language, you will be able to implement immediately what you have learned here. You will also gain the confidence to move forward with more advanced macro topics. I swear macro variable, macro definition, macro put, macro facility, macro parameter, macro loop, do loop, proc step, symbol table, sas log, %macro parameters, macro function source 11
2 'Show Me the Green through a Hosted Sustainability Solution for Higher Education Karen Patch Over 650 college and university presidents have signed the American College and University Presiden t's Climate Commitment (ACUPCC), which pledges them to strive for carbon neutrality by 2050. With this commitment, transparency and communication of sustainability strategies is imperative. This transparency extends beyond the capacities of simple spreadsheets and manual reporting for the tracking of Greenhouse Gas (GHG) emissions and communication of institutional sustainability strategy. Institutional sustainability performance must be tracked across educational, research, curriculum , and administrative factors, which in turn require the vital steps of integrating and analyzing data. Through the insight achieved from data integration and advanced analytics, the ability to take decisive action is how educational stakeholders can make an immediate impact on this global imperative data governance, data integration source 10
3 A Grad Student 'How-To' Paper on Grant Preparation: Preliminary Data, Power Analysis, and Presentation Elisa L. Priest,
Derek Blankenship
Grant preparation is often challenging due to short timelines, changing study designs, and sample sizes limited by logistics and/or budget constraints. We recently submitted a U-19 grant consisting of five projects that required a systems biology study approach and had a substantial amount of preliminary data. Tasks included analyzing preliminary data, creating publication ready figures, and calculating power for each project within one week. The systems biology approach required the investigation of 400+ outcome parameters for preliminary and power analyses. We used MACRO programming with PROC MIXED for longitudinal data analysis and ODS OUTPUT to produce summary tables and presentation quality figures for each outcome. Further, we created a flexible MACRO simulation to estimate power in each project dependent on differences in sample size, number of time points, mean, and between and within subject variances proc step, proc mixed, macro definition, out=, proc sgplot, proc gplot, power analysis, proc append, proc sgpanel, covariance, sample, macro variable, sample size, excel, proc freq, proc univariate, intraclass correlation, longitudinal data, data transformation, correlation source 14
4 A Macro to Create a Batch Submit SAS Program Helen C. Sun,
Cindy Wong
It is very common to run a group of SAS programs together in batch mode. For example, often we run a large number of individual SAS programs to generate lis tings and tables for a clinical trial. These programs are submitted to run together in a batch job. There are different ways to create the batch program. For instance, a shell script for a UNIX syst em can be created to do it on the server side (SUGI 145-31), or a .BAT file for Windows OS can fulfill this task on a specific PC (SUGI 105-27). In this article, we present another approach. We use a simple ma cro to create the SAS batch program in the Windows environment that can be used for batch-submit later in either operating system. This macro can run on any PC which has the SAS system installed cpu time, sas batch, clinical trial, macro definition source 5
5 A Network Optimization Solution Using SAS/OR Tools for the Department of the Army Branching Problem Michael C. Grierson This paper will demonstrate the use of SAS and SAS/OR to solve a long standing Army problem of assigning ROTC cadets to their initial basic branch (Infantry, Armor, etc). The paper starts with a problem statement, describes the problem as a network optimization and then shows model results after adding each of the constraints from the problem statement. The paper summarizes with comments about why a network optimization is a good solution for this type of problem. Finally, the paper makes the assertion that SAS data manipulation and statistics procedures are an additional benefit provided by the SAS/OR solution not found elsewhere proc step, network optimization, odds ratio, proc sql source 12
6 A Nonparametric Method to Assess Treatment Effects for Unbalanced Designs Using SAS/IML Michael Cunningham Two-way randomized block designs with non-normally distributed outcomes may be frequently encountered by researchers. The nonparametric test developed by Friedman can be used to compare more than two treatments when the blocks are completely balanced. Skillings and Mack proposed a general method for comparing treatments for incomplete blocks when the observations are missing arbi trarily. A program to calculate the Skillings-Mack test statistic and the p-value for t he hypothesis of no treatment effect was developed using SAS/IML in SAS version 9.1. Designed for users with intermediate SAS experience, t he program reads the result s of the unbalanced two-way design directly into IML for analysis. Use of this pr ogram will be demonstrated using quality reporting data from a leading healthcare provider treatment effect, covariance, proc step, quality assurance, null hypothesis, anova, friedman test, macro variable, sample source 12
7 A Picture Is Worth a Thousand Words: Integrated Visualization of Clinical Data Vikash Jain Researchers in the Clinical domain are more interested in presenting their data and compiled text usi ng visual graphics. This not only increases the clarity of the presentation, but also makes it easier for their target audience to understand the distribution of data and to draw inferences right away when they eyeball it at first glance. With this objective in mind, this paper will concentrate on how to produce var ious kinds of box plots with an integrated mean distribution and a reference line . We will be incorporating an array of BOXPLOT PROCEDURE OPTIONS available to the user. We will also show how to annotate descriptive statistics and data outliers dynamically in a more efficient manner using SAS9 PROC BOXPLOT options. Also covered is a discussion on powerful but simple techniques to incorporate the tabulated summary of statistics or a list report of outliers based on user business needs proc boxplot, proc step, box plot, outlier, sample source 10
8 A Practical Approach to Securing a SAS 9.2 Intelligence Platform Deployment Jim Fenton,
Robert Ladd
The SAS 9.2 Intelligence Platform is a multi-tiered environment consisting of components residing on client desktops, middle-tier Web servers, computing servers, and (most importantly) secured data assets. This multi-tiered design offers tremendous flexibility and configurability but requires careful planning and deployment to provide a secure working environment. This document is a practical example of a secure SAS Intelligence Platform deployment, based on actual customer requirements, providing different user groups access to various secured data assets, compute server capabilities, desktop client and Web-based application functionality. This document is intended as a guide for SAS administrators and assumes that you are familiar with the concepts and terminology introduced in the SAS 9.2 Intelligence Platform: Security Administration Guide access control, sas administrator, sas enterprise guide, sas management console source
zip
20
9 A Pragmatic Approach to Resubmitting Failed Jobs in the Production Environment Salman Ali Companies spend thousands of dollars for operations support and maintenance. During production runs, co mpanies have full-time staff to monitor the execution of SAS jobs, and in case a job aborts, to resubmit them through manual means. Sometimes it can become painful to monitor all SAS jobs running in production through the scheduler. For instance, a production support analyst cannot monitor every job in production, and he or she might not be aware if a legacy SAS job aborts in the middle of the night. This can create serious problem s especially in companies which rely on real time data. If a job aborts an d the production support team is not aware of it, the business users can lose real time data and will not be able to make accurate decisions. This paper will focus on reading the ftplogs to check for failed FTP transmission and successfully resubmitting the bat files associated with the failed transmissions without any manual intervention flat file, batch job, macro definition source 11
10 A Program to Automatically Compute Agreement Statistics for an Asymmetric Table Ying Feng,
Vincent Weng
Cohen's Kappa coefficient is a method for assessing the degree of agreement between two raters. In order to correctly compute agreement statistics, the table must be square and row labels must match corresponding column labels. However, it may happen that one rater does not use one of the categories of a rating scale. That will result in a non-square table. Regular Kappa procedure will not compute the agreement statistics in this case. Beginning with SAS 9, you can make the table square by adding an observation with zero weight in each missing category. However, what happens if you need to check the table symmetry for hundreds of samples and across different clusters within each sample? This paper presents several macro programs to automatically check and handle the non-square tables, then perform Kappa computation across clusters within a sample. Keyword: SAS MACRO, Kappa statistics, zero option, PROC SQL proc freq, proc step, %if-%then-%else source 6
11 A Robust and Flexible Approach to Automating SAS Jobs Under UNIX Mike Atkinson This paper describes how SAS jobs are automated under UNIX at the BC Ministry of Health Services. A job is a set of SAS program(s) and/or Perl modules to be run in sequence. Job steps can be listed in a text file for the Perl script to run. Having a well-tested perl script run the show has some advantages. Notification of job success or failure is reliable. Jobs can be restarted at the point of error. Logs are automatically date- and time-stamped. It is easy to migrate SAS code from development to production macro variable, sample, sysrc source 9
12 A SAS Enterprise Guide 4.2 and SAS/CONNECT Mainframe Project That Makes the Mainframe Behave Like a Modern Computer John C. Hennessey For those SAS Users who, like us, want to use Enterprise Guide and SAS/CONNECT as your interface to a mainframe, but, do not own SAS Integration Technologies, we present here a self-contained Enterprise Guide project that can be used. It is available from me at my email address below. It is written for the new version of Enterprise Guide, version 4.2. In addition to the blank Process Flow Page, it contains a Utilities Process Flow Page with 10 code templates for performing certain SAS/CONNECT tasks between Enterprise Guide and SAS on the mainframe. The tasks have mainframe ID and password prompts already attached. When you start a project which involves the mainframe, you first open this project and immediately do a "save as" to an actual project name. Then, as needed, you copy & paste these code tasks from the Utilities page into the actual process flows of the project. The prompts are preserved when copied from one process flow to another in the same project sas enterprise guide, macro variable, sas library, excel source 10
13 A Serious Look at Macro Quoting H. Ian Whitlock You can make decisions macro with %IF and do looping with %DO-loops. But there are times when you don't understand why the beast does what it does. Now what? It is time to come to this presentation. It is time to take a serious look at macro quoting. I have often said that anyone who thinks macro quoting is simple, probably doesn't understand the problem; so I have been there. Now I want to explain how simple it is. Everything relevant to this paper is in BASE SAS. Although the examples have been executed on a PC under Windows, the examples are independent of any particular operating system with the exception of file definitions. You might think this paper is a compendium of all the macro quoting functions. It is not. It is more about the subject of macro quoting than about the macro quoting functions macro facility, macro variable, macro quoting function, macro put, macro function, put statement, &variable, macro call, %if-%then-%else, macro definition source 13
14 A VB.NET Utility to Transfer Multiple Data Files between SAS and Microsoft Access and Excel by Automatically Generating SAS Import/Export Statements Lian Luo,
James H. Yiin
A VB.NET utility was developed to automate the process of converting data files between SAS and Microsoft Access or Microsoft EXCEL using point-and-click in the Windows environment. It saves time and avoids mistakes by automatically generating SAS import/export statements. This utility illustrates an easier and faster production application development in VB.NET, an ideal tool for SAS bulk-statement generation. Any SAS user can use this utility in Windows. This application is free during the conference or by submitting an email request to excel, proc export, sas enterprise guide, proc step, sas base, dataset source 10
15 Ad Hoc and Statistical Model Visualization Using JMP, SAS, and Excel Jon T. Weisz Generally speaking, models are abstractions of real-life systems used to facilitate understanding and to aid in decision making. However, models mean different things in different disciplines. Engineers, financial analysts and statisticians all employ modeling, as a core tool, but each discipline would define models differently. Even with the differences in how models are defined and developed, all disciplines need ways to communicate models, perform what-if analyses and simulations. This paper will highlight the use of the different model profilers in JMP to visualize and perform what-if analysis and Monte Carlo simulation for models defined using SAS/STAT, Microsoft EXCEL and engineering tools monte carlo, excel, proc nlin, sensitivity analysis source 10
16 Adding Statistical Functionality to the DATA Step with PROC FCMP Stacey M. Christian,
Jacques Rioux
How many times have you had to write a cumbersome workaround to do an analytical task inside a DATA STEP that would be easy if you could just call SAS from the DATA STEP? With the advent of PROC FCMP in SAS 9.2, you can do exactly that. This paper demonstrates how to add statistical functionality to the DATA STEP through the definition of FCMP functions. We will provide specific examples of how to encapsulate SAS Analytics within FCMP functions and thus make them callable from the DATA STEP proc step, proc fcmp, regression analysis, macro variable, macro definition, time series analysis, proc phreg, macro call, survival function, time series data, proc reg, sample, macro facility, proc sql source
zip
13
17 Addressable Minds for Understanding the Perception of Marketing Messages Howard J. Moskowitz,
Dana Rafiee
regression analysis, binary variable source 5
18 Aggregation without Aggravation: Determining Spatial Contiguity and Joining Geographic Areas Using Hashing Gwen Babcock Grouping smaller neighboring geographic areas into larger regions based on specified criteria was done using two SAS9 programs. The first program creates a list of areas and their neighbors known as a contiguity table. The table is used by the second program to aggregate geographic areas into larger regions. In public health surveil- lance, aggregation might be necessary to preserve the confidentiality of those diagnosed with illnesses or to show stable rates in areas with sparse population. An example is provided of the merging of towns and cities in New York State until regions are created with a population of at least 20,000. SAS allows this to be done in a system- atic and objective way, using an iterative process for area aggregation. As each area is aggregated, the contiguity table is updated until all the newly created regions meet the criteria. The use of SAS hash objects allows the ag- gregation to be done easily and quickly, because hash objects are stored in computer memory hash table, proc step, macro variable, unique key, do loop, proc sort, proc gmap, hashing function source 17
19 An Analytical Approach to Determining Customer Value in the Property and Casualty Insurance Industry Roosevelt Mosley The traditional actuarial focus has been to price with an eye on profitability over the next six to eighteen months. However, most corporate goals contain a desire for long-term profitability. This can create a disconnect between the prices charged by insurers and the long-term goals of the company. This paper will explore the components of customer value and how actuaries and analysts can use this information to make more profitable short-term decisions. We propose to use an actual case study to: 1. Discuss the components of customer value, includ ing profitability, and the probability of attracting, converting and renewing a risk. 2. Discuss how competition affects t he ability to write and retain risks. 3. Discuss how to quantify the elasticity of dem and using the company's own renewal and conversion information supplemented by public information. 4. Highlight the differences between decisions m ade using traditional approaches and a long-term customer value approach. 5 insurer, likelihood function, expected loss, numeric functions, proc freq, predictive analytics, predictor variable, claim severity, credit score, policy, population, proc hpsplit, logistic regression, proc genmod, auto insurance, insurance, property and casualty, logistic distribution, regression analysis, credit card, data mining, loss cost, proc step source 20
20 An Automated Security Framework: A Metadata Approach Jorge Jorda-Morlan Do you need to update your data warehouse (tables, views, cubes) during the day time but need to ensur e no users are using it? Do you currently need to do manual ch ecks prior to the update, which can be time consumi ng and, sometimes, inaccurate? This paper proposes an autom ated solution so you don't need to worry about all those additional checks. Also, it incorporates a control panel stored process to provide an easier administr ation. The solution utilizes the SAS Open Metadata Interface to programmatically communicate with the SAS Met adata Server and control the status of the different obje cts we want to manage sas log, access control source 12
21 An Efficient Method to Access Data in OnCore by Using SAS Wing Keung Chiu This paper will present a method to extract data from the Oracle based ONCORE database system using SAS. We will examine in detail the necessary SAS code to execute such a procedure. Pros and Cons will be discussed. This paper is of interest t o any data analysts (SAS programmers, statisticians, etc.) who are interested in the timely and accurate retrieval of important data stored in ONCORE. This may be particularly important for data that may not be accessible through the BioStat Console, and therefore must be retrieved from ONCORE's 'back end'. Readers are expected to have an intermediate working knowledge in SAS and SQL languages proc sql, libname statement, proc step, txt, excel source 6
22 An In-House SAS Procedure to Balance Time Series: The TSRAKING Procedure Joana Berube,
Susie Fortier
For various reasons, systems of time series might fail to satisfy cross-sectional aggregation constraints. To restore coherence in such systems (and as part of its Forillon project), Statistics Canada developed an in-house SAS procedure called PROC TSRAKING. This paper introduces the new procedure and describes its main features. The methodology implemented is illustrated with simple examples dataset, time series analysis, control total, proc step source 10
23 An Introduction to Multiple Imputation of Complex Sample Data Using SAS 9.2 Patricia A. Berglund This paper presents practical guidance on the proper use of multiple imputation tools in SAS 9.2 and the subsequent analysis of multiple imputed data sets from a complex sample survey data set. Use of the MI and MIANALYZE procedures and SAS survey procedures for typical descriptive and inferential analyses is demonstrated. The analytic techniques presented can be used on any operating system and are intended for an intermediate level audience imputation, missing value, proc step, proc mi, proc mianalyze, sample, nominal variable, multiple imputation, proc calis, regression analysis, logistic regression, interval variable, proc surveyreg, logistic distribution, proc surveylogistic, estimate, proc surveymeans, class variable source 12
24 An Overview of the CLASS, CONTRAST, and HAZARDRATIO Statements in the SAS 9.2 PHREG Procedure Paul T. Savarese,
Michael J. Patetta
The PHREG procedure fits a number of models collectively known as Cox regression models, including the well- known Cox proportional hazards model. This paper provides an overview of several new features, including three new statements (CLASS, CONTRAST, and HAZARDRATIO) in PROC PHREG. The emphasis is on illustrative examples of comparisons for main effects and interaction models via the new statements. The paper concentrates on common CLASS variable parameterization methods such as reference coding and GLM coding. Caveats regarding CLASS variables and time (including time-dependent covariates) are also discussed. This paper is intended for an intermediate-level audience that has some familiarity with Cox regression models and PROC PHREG hazard ratio, class variable, proc phreg, proc genmod, proc step, nominal variable, interval variable, binary variable, time-dependent covariate, hazard function, estimate, options statement, regression analysis, main effect, likelihood function, confidence interval source 23
25 Analysis of Survival Data with Recurrent Events Using SAS Rena Jie Sun,
Daniel T. Cotton
This paper presents the application of survival analysis methods using SAS/STAT to a large clinical trial, which was designed to test the treatment effect on preventing recurrent stroke and cardiovascular events. In this paper, we present the complete analysis procedure of this case study, including the model assumption check, model selection, and the utility and discussion on the Cox proportional hazards model, marginal recurrent events model, robust sandwich variance estimator, and some conditional recurrent events models treatment effect, proc phreg, cumulative hazard, proc step, hazard function, proportional hazards assumption, kaplan-meier plot, feature selection, survival function, correlation, poisson distribution source 8
26 Analytical ETL, or How to Build a Data Pipe Matthias Kehder A DataPipe or analytical ETL implementation gives organizations affordable, sustainable and easy-to-use analytical solutions. A DataPipe integrates data from a variety of sources across an organization and provides a self-service data kiosk from which predictive models, forecasts, OLAP cubes and reports can be created. Analytical ETL ensures the predictive needs of an organization can be met, predictive model samples can be easily modified, and all predictive samples are based on one data source - or one version of the truth. Other key requirements of successful analytical ETL are the abilities: to easily integrate new data sources, produce a reliable and scalable platform based on standardized, business-user approved quantitative variables, and can perform scheduled scoring sample, business intelligence source 7
27 Analytics in the Converging Health and Life Sciences Industries: The Catalyst for the Next Generation of Healthcare Matt Gross Learn how analytics serves as a catalyst for both healthcare reform and the foundation for the next generation of healthcare. Understand the hurdles and opportunities presented as health information converges from the health and life sciences industries and presents new business opportunities for each industry and improved quality of care for the healthcare consumer clinical trial, clinical research, life sciences, adverse events source 15
28 Analyzing Interval-Censored Survival Data with SAS Ying C. So,
Gordon Johnston
Survival data analysis is traditionally focused on analyzing lifetimes by using time that is measured to an event of interest, or the latest time available if the event did not occur during the observation period. Data measured in this way are called right-censored data. Many methods (nonparametric, semiparametric, and fully parametric) have been developed over the years to deal with this type of data. But what methods are available if the event time is not directly observed and the event is known only to have occurred within some interval of time? Data measured in this way are called interval-censored survival data, and the use of SAS software to analyze this type of data is the focus of this paper likelihood function, imputation, survival function, dataset, covariance, sample, log-rank test, rank test, censoring, confidence interval, maximum likelihood estimation source 14
29 Applications of PROC ESM in SAS 9.2 Anders Milhøj In this paper the various facilities of PROC ESM in SAS 9.2 will be demonstrated using a dataset of 87789 registrations of the speed of passing cars on a highway near Copenhagen. PROC ESM (for Exponential Smoothing Models) was introduced in SAS version 9.2 as a procedure corresponding to more modern time series analysis than its successor PROC Forecast as the smoothing parameters are estimated and not fixed. Moreover PROC ESM has facilities to accumulate transactional data in various ways and has a broad flexibility in transforming the time series to be forecasted proc esm, proc step, time series analysis, logistic distribution, residual, standard deviation, confidence interval, proc forecast, seasonality source 11
30 At Your Service: Your Roadmap to Support from SAS Kathryn A. Council At YOUR service. How do you make the most of the products and services from SAS Publishing, SAS Education, SAS Technical Support, and support.sas.com? You have world-class support from SAS at your fingertips. But where do you start? How do you navigate the sea of information available to you from SAS? How do you find the resources you need to do your job? This paper will provide you with practical tips, tricks, and techniques to find exactly what you need to use SAS. You'll save time, learn about upcoming content and, best of all, become a more proficient and expert user of SAS. This paper will benefit the new user and the seasoned SAS user alike. The intended audience is anyone interested in learning more about how to effectively use the services available from SAS sas base, sas programming source 8
31 Automagically Copying and Pasting Variable Names Arthur S. Tabachneck,
Randy D. Herbison,
Andrew W. Clapson,
John Henry King,
Roger J. DeAngelis,
Tom Abernathy
Have you ever wished that, with one click, you could copy any table's variable names (or labels) so that you could paste them into your editor or possibly a Word file, powerpoint or spreadsheet? You can and, with just base SAS, there are some little known but easy to use methods available for automating many of your (or your user's) common tasks data step, sas base, proc step source 7
32 Automate PowerPoint Slide Generation with ODS and VBScript Ya Huang SAS can generate nice figures and tables in Microsoft Word and Microsoft EXCEL format, but it hasn't been easy for SAS to generate Microsoft PowerPoint slides. This paper introduces a method that combines the power of Windows Scripting technology with SAS ODS and SAS/GRAPH to automate the process of PowerPoint slides generation. Using this method, a PowerPoint presentation with dozens of slides made of figures and tables can be generated by a single SAS run in just a couple of minutes! Better yet, the figures and tables are editable, almost like native PowerPoint tables and figures proc step, dataset, proc greplay, excel source 7
33 Automated Data Cleaning Linking Data Manager to Study Coordinator: Error Finding by Variable and Error Fixing by Subject Christine T. Roman,
Emma K. Benn,
Dale C. Hesdorffer,
Anthony Marmarou,
Shlomo Shinnar
Many researchers using the SAS System software receive data sets with incomplete data or data errors. Data cleaning can become an extremely tedious task for the Coordinators who must return to medical records or case report forms (CRFs) if the data managers list errors by variable. Instead it is easier for Coordinators to clean data when errors are listed by subject across all CRFs. Our series of macros encompass a step-by-step process that allow for error searching by variable, while outputting errors by subject missing value, work library source 5
34 Automatically Dropping Variables with Only Missing Values Selvaratnam Sridharma Sometimes all the values of some variables in a SAS dataset are missing or null, and we would like to drop these variables to save disk space. Here we introduce a macro %DROPMISS that can automatically identify and drop SAS variables that have only missing or null values. You have the option of not dropping the variables you do not want to drop by using a parameter in the %DROPMISS macro missing value, dataset source 6
35 Automatically Run Fisher's Exact Test When the Chi-square Test Might Not Be Valid Wei Xu Have you ever think about how to automatically perf orm Fisher's exact test whenever a WARNING message for the Chi-Square test is issued? If PROC FREQ issues a WA RNING message that the Chi-Square test might not be valid due to a large number of cells with small expected frequency, you will need to run Fisher's exact test instead of Chi- square test per your analysis requests. This paper will describe a simple, straightforward way to use a %RUN_FISHERS macro automatically perfo rming Fisher's exact test when the Chi-square test might not be valid. When there are exactly two rows and t wo columns and if any of the expected cell frequencies are less th an five, the macro will automatically use Fisher's exact test. The macro %RUN_FISHERS is only needed when the table th at is larger than 2x2 since the CHISQ option in the TABLE statement of PROC FREQ provides both the chi-square test and Fisher's exact test for 2x2 tables fisher exact test, exact test, chi-square test, proc freq, proc step source 4
36 Automating Report Dates and Formats Using SAS9 Software John Simeoni,
Dikki Coy
In many organizations, analysts manually change the SAS code that is used to run routine reports so that it uses current dates. However, analysts can use SAS date functions and formats to create automated macro variables that update all of the dates in a report script. Using macro date variables eliminates the need to manually edit scripts, and these variables can even be used to find current external files without searching for them. Date macro variables enable an analyst to execute report scripts at pre-designated times without ever having to e dit the file. This ability can greatly reduce processing time and can also eliminate user error macro variable, macro put, date variable, sysdate9, data step, macro definition source 11
37 Automating SDTM File Creation: Speeding Up the Process with Metadata Files Daphne E. Ewing For small to mid-size companies that cannot afford to pur chase expensive tools to "automate" the SDTM file creation process, tools can be prepared to stream line this process. SDTM conversion can be complicated as clinical study nuances have to be built into process. Metadata files that are built first by knowing what data are coming from the Clinical Data Management (CDM) system along with describing each CRF field as an SDTM variable begin the mapping process. Adding to these metadata files key info rmation on how to transform the data from its source files into the resulting SDTM target variables round out the metadata files. Clinical Databases do not lend themselves to creation of 100% SDTM compliant files, thus requiring some processing/mapping prior to having SDTM submission ready files. The use of metadata files makes it efficient to create utility programs that will ensure that there are no holes in the process of getting from the source data into t he SDTM structure sdtm domain, controlled terminology, raw data, clinical trial, sas library, excel, data cleaning, cdisc source 7
38 Be All That You Can Be: Best Practices in Using Roles to Control Functionality in SAS 9.2 Kathy A. Wisniewski As a SAS administrator, you might need to deal with issues caused by someone who used an application feature that was too advanced for their skill level or a feature that is appropriate only for a limited group of power users. The best way to prevent this type of problem is to eliminate access to the feature before it can be used, so the user is unaware that it exists. In previous releases, you were limited in your ability to restrict functionality. In most cases, if a feature was available to one user, it was available to all users. In SAS 9.2, several clients use roles that are defined and managed in metadata to control features and functionality sas enterprise guide, sas management console, sas administrator source 19
39 Best Practices for a Non-English BI Deployment Sunny Li,
Holmes Niu
SAS products are used by customers around the world. This paper describes how to deploy and configure business intelligence products for non-English environments (such as Japanese, Chinese, French, etc.) and how to configure SAS Enterprise BI suite so that it can support multiple languages simultaneously. This paper will provide the guidelines and best practices of installing and configuring SAS BI system under multiple language environments. Highlights include: how to install and configure a SAS BI system in a specified language environment; how to add a new SAS Application server to support additional languages; how to deploy a Unicode SAS BI system to access and explore multilingual data with SAS BI client sas management console, sas enterprise guide, length statement, options statement source 18
40 Beyond the SAS Credit Risk Management Solution: The Gruppo Banca Carige Credit Monitoring Model and the Keinavo Advanced Web 2.0 Reporting Framework Johann Kerdal,
Francesco Marelli,
Fulvia Costone,
Danilo L. Perucchio
CARIGE Group implemented a new model for credit monitoring that allows for the automatic survey, control, and operational management of the customer base. A structured and industrialized management delivers more effectiveness and efficiency in the credit monitoring practice, enabling CARIGE to improve their portfolio quality and the operational efficiency across the entire credit-allowance chain: By integrating the internal rating, the model prov ides the network with the elements for managing the potential deterioration of credit rating in a precise ("daily") and anticipatory way. By providing the executive board with a real-time, drilled-down reporting on the status of the loan portfolio, the model allows for a decrease in the incidence of unpaid loans and absorbed capital. Keinavo has exploited the full potential of SAS 9 through a framework that is integrated to SAS Credit Risk Management through the SAS Java APIs credit risk, business intelligence, outlier source 10
41 BI Development for Education by Our Institutional Research Department OR How BI Tools Made Our Motto IR Is Data a Fact Ali Y. Yorkos,
Maureen Murray
In response to the demand for more sophisticated information collection, analysis, and reporting, the Office of Institutional Research (IR) at the University of Central Florida implemented the SAS Enterprise BI platform. The different components of the SAS BI toolset have aided us in meeting the challenge of delivering accessible data and reports to administrators, decision makers, strategic planners, and the general university user community. This paper chronicles the implementation and evolution of the SAS Enterprise BI platform at a large university, including the development of our Data Warehouse using the SAS Data Integration Studio and SAS Enterprise Guide client- based tools, and the evolution of the SAS Information Delivery Portal as IR's common gateway for user access to the university's official data warehouse data, reports, processes, and reporting tools sas enterprise guide, fact table, sas data integration studio, data warehouse, raw data, data cleaning source 10
42 Birds Fly South to Migrate; a SAS 9.2 Migration Need Not Maureen E. Chew SAS 9.2 Upgrade Landscape Promotion vs. Migration When upgrading from SAS 9.1.3 to SAS 9.2, 3 general approaches that can be employed: Fresh start with SAS 9.2 Promotion Migration The first option, fresh start with SAS 9.2, requires a completely new installation and configuration process. This method is fairly obvious in the implications and effort required and not discussed further. The next option, promotion, conceptually involves the exporting of selected content, the standard installation and configuration of SAS 9.2 with the SAS Deployment Wizard, and then the importing of previously exported SAS 9.1.3 content into the newly configured SAS 9.2 environment. Promotion can be done selectively and iteratively over time. The last option, migration, uses a new feature in SAS 9.2, the SAS Migration Utility (SMU). The SMU queries and captures the state of the majority of the SAS 9.1.3 environment, creates a set of SAS package files and directories which is then used as input to the SAS 9 data cleaning, sas management console source 10
43 Black Belt Hashigana Paul M. Dorfman,
Koen Vyverman,
Victor P. Dorfman
In SAS 9.1, the hash table, which was the very first object introduced in the DATA STEP Component Interface in SAS 9.0, has finally become robust and syntactically stable. SAS 9.2 has brought much more functionality, such as the ability to store duplicate-key entries and accumulate statistics. The philosophy and usage of the hash object are a radical departure from those of any other DATA STEP structure. Not only are all hash object operations, including its creation and deletion, performed at the run time, but most hash object operations run in O(1) time. Because of that, the dynamic flexibility and performance potential the hash object brings to the DATA STEP go far beyond anything a pre-hash SAS programmer could imagine possible. This paper assumes some familiarity with the basic SAS hashigana hash table, hash iterator, dataset, sample, composite key, proc sql, length statement, cpu time, group by, sas programmer, variable, proc step, sas log, temporary array, proc means source 29
44 Blistering ETL Performance Using the Intelligent, Dynamic, and Parallel Capabilities of SAS David Logan ETL from billion-record+ databases is a non-trivial task. By using the unique capabilities of SAS to analyze the database in advance and then dynamically generating parallel SAS jobs based on this interrogation, SAS can effectively performance-tune itself each run for maximum benefit. Get in, get out, get the results. The net effect is to get the fastest possible results with the minimum window of ETL load on the source system. Scalable, efficient, and easy to develop. An added benefit is the data visualization possible post-analysis and pre-ETL to aid data quality checks. Improving your ETL time (in the case study, by 92%), using existing resources, postponing expensive hardware upgrades, dynamically adjusting for ever increasing data volumes and, improving information productivity are powerful arguments for considering the adoption of this approach, where feasible, in your own environment cpu time, data cleaning source 8
45 BMI Made Simple: What Is Your "Maximum Weight Limit? George C. J. Fernandez BMI is a simple index of weight-for-height that is commonly used in screening overweight and obesity in adult populations. It is defined as the weight in kilograms divided by the square of the height in meters (kg/m 2) and it the most widely used and universally accepted index. Because BMI measurement is based on metric scale, it is not easy to compute and therefore, special charts, table, special devices such as rotating wheels, and internet tools are used. Therefore, using advanced graphical and statistical procedures available in SAS software and, I am proposing a much simpler way of calculating a new index, Maximum Weight Limit, which closely corresponds to weight recommendations listed on BMI charts. But, you don't need to calculate or know your BMI, nor do you need a chart or online calculator to figure out your Maximum Weight Limit. For men and women, there is a baseline height and weight. For men, the baseline is 5-feet, 9-inches tall and a Maximum Weight Limit of 175 pounds proc hpsplit, confidence interval source 12
46 Boot Camp for Programmers: Stuff You Need to Know That's Not in the Manual and Best Practices to Help Us Achieve Reproducibility 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 reproducibi lity or our results, and in doing so, improve the quality of our work dataset, raw data source 6
47 BootstrapMania!: Re-sampling the SAS Way David L. Cassell The most common way that people do simulations and re-sampling plans in SAS is, in fact, the slow and awkward way. People tend to think in terms of a huge macro loop wrapped around a piece of SAS code, with additional chunks of code to get the outputs of interest and then to weld together the pieces from each iteration. But SAS is designed to work with by-processing, so there is a faster, cleaner, simpler way. The basics of this approach have appeared in previous papers, but this paper focuses on new innovations in bootstrapping, and code for bootstrap methodologies which have not been shown before sample, bootstrap, proc step, random sampling, proc surveyselect, standard deviation, confidence interval, macro variable, normal distribution, point= option, macro loop, sas output, seed, proc sql, dataset, macro definition source 11
48 Bridging the Gap between the Google Analytics API and SAS William G. Roehl Third parties which collect your data generally offer an acceptable reporting piece which provides the general public with a good sense of the how, when, where, and why. For those of us that want to dig a little deeper, several offer a fairly easy way to access this data and feed it into different programs to do our own analysis. This paper will illustrate a drop-in method, utilizing a few simple macros and cURL that may be utilized to import website analytics data from Google Analytics directly into SAS data sets for further analysis. The intended audience for this paper is SAS developers with medium to advanced knowledge of SAS and its XML Mapper software package. Code was developed with SAS 9.2 and cURL 7.19.6-SSL running under Windows XP Professional proc step, macro variable, proc http source 13
49 Building a Decision Tree from Decision Stumps Murphy Choy,
Peter L. Flom
proc hpsplit, missing value source 7
50 Building Latent Growth Models Using PROC CALIS: A Structural Equation Modeling Approach Teck Kiang Tan,
Trivina Kang,
David Hogan
This paper illustrates the structural equation modeling approach of building latent growth models (LGMs) using PROC CALIS. In the past decade, LGM has become one of the commonly used statistical models for analyzing longitudinal data analysis. Although recent years have seen the increase use of LGM to carry out research work in longitudinal analysis, there is limited work that has spelled out a systematic procedure of using PROC CALIS in modeling LGM. This paper serves to fill the gap for data analysts and researchers by showing the practical aspects and theoretical concerns of applying this modeling technique . This paper also includes a new conceptual idea of comb ining simplex approach and classical LGM to include autoregressive terms and moving average ter ms in order to improve the way we can conduct longitudinal analysis. The syntaxes of PROC CALIS are illustrated throughout the paper proc step, proc calis, covariance, correlation, factor loading, repeated measures, time series analysis, moving average, latent variable, longitudinal data, degrees of freedom, proc mixed, binary variable source 19
51 Business Intelligence 2.0: Are we there yet? Gregory S. Barnes Nelson Business intelligence (BI) has been with us for years now, and, we would argue, not much has changed. Advances in the consumer c ommunications and the entertainment world have dwarfed commercial software applications. Consumers have unprecedented access to information and tools with which to consume information. Social media, mobile access, augmented reality and 3D views of pictur es and video have blurred the lines between our private and work personas and have fundamentally changed the way the consumer utilizes information. Conversely, BI has seemed to lack in any real innovation. In this paper, we will outline what the next cha pter of innovation should contain for business intelligence, analytics and data integration. Some hints of these features exist today, while others have lagged behind as the industry has endured a number of mergers and acquisitions. The vendors that have survived the economic and industry turmoil can now turn from treading water to making waves business intelligence, data integration source 10
52 Business Intelligence Competency: Maine Medical Center Ian P. Healy,
Rocket Wong
Maine Medical Center has employed a Business Intelligence Competency Center model for SAS Enterprise BI Server and SAS Strategic Performance Management projects. Maine Medical Center has utilized a cross-functional approach, involving data analysts, nurses, project managers, clinicians within the Center for Performance Improvement (CPI) using SAS Business Analytics. BUSINESS INTELLIGENCE COMPETENCY - MANAGING THE BI EFFORT AT MAINE business intelligence, data cleaning source 8
53 Business Intelligence Solution to Improve Educational Standards and Performance for an Australian State Education Authority Gurupratap S. Dsor This paper describes the business intelligence (BI) solution developed by TCS using SAS9 products for an Australian state education authority. The state education authority was in need of an improved BI solution that would support the decision -making and reporting needs of its many internal and external constituents. One of the key outcomes that the authority sought was to provide information that wo uld assist teaching and learning to become more effective. The BI solution provided by TCS enabled the authority to make critical education policy decisions to improve the education performance management and standard in the state business intelligence, data standard, staging area, sas data integration studio source 4
54 Challenge! Reading a Mainframe Hexadecimal-Delimited Flat File in Which Each Line Has a Different Layout Anjan Matlapudi This paper illustrates how to design an appropriate input program to handle a complex file layout using data collected from pharmacy and health insurance information about individuals. Various INFILE and INPUT options are illustrated in the process, and some related functions are considered. The input file is the output of a CO BOL program pulling data from a DB2 database which is then brought to the PC via FTP. Each record contains 6 type s of information, called segments, for a person. The segments and the fields within are divided by unprintable hexadecimal codes, wh ich SAS represents with notations like the hexadecimal numbers 1E (Segment separator) and 1C (Field separator) respectively. A further complication is the use of 1D which is the group separator to separate rep eating segments. There are also groups of repeating fields within a segment. Since the fields do not have a fixed length and they may be mi ssing on some records, there is no fixed record layout for the file list input, infile statement, input statement, dataset, length statement source 7
55 Challenges in Genomic Data Processing I: Multiple Small Files Derek P. Morgan,
Bernard O. Omolo
Advances in the field of Genomics have made more data on the very building blocks of life available than ever before. When coupled with the burgeoning fields of Bioinformatics and Statistical Genomics, there is significant information that has been heretofore hidden in those simple chemical bonds. Unfortunately, bridging the divide between the fields of life sciences and information technology is not always straightforward. Data produced by genetic technology can be messy, and there is often a great deal of it. Despite the increases in computing power and natural language processing, order still must be brought to the chaos before it can be analyzed. This paper describes the development of an automated process to convert four gigabytes worth of tab-delimited data across multiple files into a SAS dataset input statement, dataset, macro variable, macro definition source 6
56 Challenges in Processing Genomic Data II - One BIG File Derek P. Morgan How do you take a random sample of 1000 SNPs from a seventy-nine gigabyte flat file with one record per SNP per subject, and turn that into something that can be analyzed, with one record per subject and 1000 variables, each one with the name of the SNP, in a reasonable amount of time? You take a healthy dose of the DATA STEP and the macro facility, add a pinch of the SURVEYSELECT procedure, auto-generate some SAS code and bake sample, proc step, macro variable, proc sql source 5
57 Choosing the Right Tool from Your SAS and Microsoft Excel Tool Belt Jennifer F. First,
Steven J. First
excel, proc step, dataset, name range list, proc export, xls, sas library, proc print, proc sql, sas enterprise guide, proc import, libname engine, data step, libname statement, output delivery system, sas base, sql pass-through, create table source 18
58 Clinical Trials Simulation: A Publicly Available, Grid-Enabled, GUI-Driven SAS System Peter H. Westfall,
Alex Dmitrienko,
Cynthia DeSouza,
Alin Tomoiaga
A clinical trials system developed for Vertex Pharmaceuticals has become publically available on the Biopharmaceutical Network http://www.biopharmnet.com/innovation/trial_simulation/cts1.php. The system is a SAS/AF based interface in which clinical trials' simulation parameters can be entered; it can operate either on a SAS grid or as a stand-alone process. The statistical details are published in Westfall P.H., Tsai K., Ogenstad S., Tomoiaga A., Moseley S., and Lu Y. (2008). Clinical Trials Simulation: A Statistical Approach. Journal of Biopharmaceutical Statistics 18, 611-630. The system provides a generic template for simulations that are typically required to plan clinical trials. Realistic clinical-trial data sets are created using a unifying model that allows general correlation structures for endpoint*timepoint data and nonnormal distributions (including time-to-event), with computationally efficient algorithms. The model allows for patient dropout and noncompliance clinical trial, correlation, sample, sample size, clinical research, missing value, proc esm, power analysis, proc step source 13
59 Closing the Gap between Credit Access and Risk Management Clark R. Abrahams The financial crisis has raised questions about the way the lending process, indeed the entire loan-value chain, operates. This talk describes a framework (CCAF) that combines judgmental factors with analytical methods to achieve a more complete and accurate credit assessment. CCAF ensures that all relevant considerations and business contexts are brought into play early on in the process so that lenders can quickly evaluate risk and render sound decisions. There are several categories of shortcomings in current practices that are referred to collectively as the underwriting "gap." CCAF effectively narrows the gap, which enables users to qualify more creditworthy consumers (especially the underserved), while anticipating incremental risk exposures in advance of loan performance declines. Had this system been in place, the magnitude of the financial crisis would have been greatly lessened, or it might have been averted altogether credit risk, credit scoring, sample, default rate, financial services, default, model validation, credit score, underwriting model, data cleaning, stress testing source 15
60 Complex Data Combinations on Large Volumes: How to Get the Best Performance Henri Theuwissen Developers are often challenged to build complex combinations of large files with a good performance. In most cases the SQL procedure is the obvious choice. However, the DATA st ep often provides better alternatives with outstanding performance improvements. An extra level of complexity is added when data can not ju st be combined on common key fields, but time slices or weighting parameters have to be taken into account proc sql, hash table, dimension table, by group processing, fact table, set statement, proc step, create table, inner join, macro variable, merge statement source 22
61 Creating a Customer Influence Factor to Decrease the Impact of Churn and to Enhance the Bundle Diffusion in Telecommunications Based on Social Network Analysis Carlos Andre R. Pinheiro,
Markus Helfert
Telecommunications' industry evolves into a high competitive market which demands companies to put in place an effective customer relation approach. Social network analysis can be used to increase the knowledge related to the customers' influence, arising relevant information to turns the customer experience better. SNA can be used to evaluate the customers' links and therefore clarify distinguishes aspects about the virtual communities inside the networks, allowing companies to deploy a more effective action plan to better diffuse their products/services and avoid churn social network analysis, correlation, cv source 7
62 Creating a Report in the SAS Information Delivery Portal Using SAS Information Maps Jenine Milum The purpose of this task is to guide a SAS BI developer through the steps necessary to combine SAS datasets using Information Maps and create a report which becomes available in the Information Delivery Portal. The result is a professional report viewable by the Business User within their browser. The ability to use the tools listed below to create a report available in the Information Delivery Portal frees Business Users from concerning themselves with data construction, security, information updates, and collection requirements. The Business User can focus on Analysis and other tasks without needing to be a SAS Developer. Management Console Information Map Studio Web Report Studio Information Delivery Portal sas administrator, dataset source 29
63 Creating a Successful Support Model for the SAS Enterprise Intelligence Platform Jerry High SAS has a robust set of tools that provide business analysts many capabilities ranging from statistics and data mining to data integration and business intelligence. In the early years, prior to version 9, typical analysts would simply use the SAS programming language and write code to obtain the desired results. Support had two aspects: one from the systems administration team where the SAS software was simply installed and made available to the analysts, the other from the SAS community sharing their insights about business problems and coding techniques. Today under release 9, more specifically with the introduction of the SAS Enterprise Intelligence Platform, the capabilities have increased dramatically. So, too, has the need for a proper support model to ensure that today's sophisticated business analysts and other general consumers of information can leverage the power of SAS to the fullest business intelligence, dataset source 10
64 Creating Dynamic Series Charts Using Base SAS, SAS/GRAPH, and the Annotate Facility Jun Ju,
Susan Nowlin,
John Sestito
The National Institute for Occupational Safety and Health (NIOSH) provides occupational health surveillance information through the systematic collection, analysis, and dissemination of this information via publications and the Internet. NIOSH is currently developing a content management system to automate the production of charts and tables for the NIOSH Worker Health Chartbook web site [http://www.cdc.gov/niosh/docs/2004-146/] using Base SAS, SAS/GRAPH, and MS SQL Server. This web site contains over 10,000 charts, updated annually, with approximately 5,000 charts per series. Series charts are sets of charts with each graph illustrating a group of data from an input data set. They are beneficial to graphically explore data in detail. While SAS has provided By-Group Processing along with graphic procedures to make series charts, it is labor-intensive and time-consuming to produce complex and dynamic series charts using By-Group series plot, line chart, bar chart, proc sql source 9
65 Creating Easily Reusable and Extensible Processes: Code That Thinks for Itself Faisal Dosani,
Lisa Eckler,
Marje Fecht
It's easy to write code that answers only one need. It's more challenging and time-consuming to develop a "hands-off" process that adapts to many needs. In the long run, time and effort is saved by building a modular process with wide applicability. This paper investigates the implementation of a framework to help in building efficient and reusable code. We start by looking at design considerations prior to the start of coding, including identifying design patterns and utilizing Metadata driven logic. Then we consider effective ways to split logical sections of code into easily reusable components. Examples will be presented including components of the planning process design framework key features of flexible code macros that enable creating hands off code with minimal intervention. A basic understanding of SAS and the SAS Macro Language is assumed throughout the paper, however the concepts may be beneficial to a wider audience macro variable, macro facility, macro definition source 16
66 Creating Forest Plots from Pre-computed Data Using PROC SGPLOT and Graph Template Language Zoran Bursac Historically, forest plots graphically display the in formation from the individual studies that went into the meta-analysis, and more recently the results of observational studies (e.g. epidemiology). They show the estimates (e.g. odds ratios, hazard ratios, and log transformed hazard ratios) and the amount of variation (e.g. 95% confidence inte rvals) and in a case of meta-analysis an overall pooled estimate. Forest plots in various form s have been published for more than 20 years, but have gained identity and popularity in the past 15 years. During this time they have been improved but it is still not easy to draw them in most standard statistical packages. In this paper we introduce a custom approach in SAS PROC SGPLOT that creates a forest plot from pre- computed data based on the logistic regression re sults. Further we present a dynamic graph template for a forest plot that can be applied by researchers on their dat a forest plot, confidence interval, odds ratio, proc sgplot, hazard ratio, graph template language, proc step, regression analysis, logistic regression, logistic distribution source 9
67 Creating High-Quality Scatter Plots: An Old Story Told by the New SGSCATTER Procedure Xiangxiang Meng Scatter plot is a useful exploratory tool for multivariate data analysis and is one of the most commonly used statistical graphics. In traditional SAS/GRAPH , it needs the cooperation of t he GPLOT procedure, several SYMBOL statements and GOPTION statem ents to create a high-quality scatter plot. New with SAS 9.2, the SGSCATTER procedure can produce a variety of scatter plots and put them into panels with different layouts within just a few lines of code. This paper will introduce how to create different types of scatter pl ot with PROC SGSCATTER and how to use ODS GRAPHICS and ODS styles to enhance the graph scatter plot, proc sgscatter, proc step, proc sgplot, output delivery system, confidence interval, proc gplot source 9
68 Creating Highly Customized, Binary Microsoft Excel Workbooks Using XML Alan K. Churchill,
Donald J. Henderson
This paper will illustrate a new method for generating binary EXCEL workbooks using SAS data. It will illustrate how you can go beyond ODS, PROC EXPORT, Access engines, etc. to make highly-customized EXCEL workbooks using SAS data excel, xls, proc export, sample, proc step source 10
69 Creating Presentation-Quality ODS Graphics Output Dan Heath ODS Graphics is a flexible system that enables you to generate statistical graphics automatically from a number of SAS products, as well as create your own custom graphics using the SG procedures and the Graph Template Language. When creating your graphics for a presentation or a report, there are a number of tips and techniques you can use to improve the effectiveness of your graphics and convey your information clearly. Areas discussed in this paper include effective graphics principles, style control, resolution control, and presentation medium considerations bar chart, series plot, graph template language, histogram source 13
70 Custom Designs Using JMP Design of Experiments and SAS PROC OPTEX Mei-Fen Yeh,
Anthony Cece,
Mark A. Presser
A proper experimental design is important to ensure that data collected in a study is relevant to answer research questions. However, a predefined, textbook classical design rarely provides an exact match to real-world research problems. There are usually unique restrictions and constraints involved in the whole experimentation process. Fortunately, with the advancement of computing power and SAS software development, users can generate custom designs based on optimal algorithms. In this paper, we present a flexible approach using JMP Design of Experiments (DOE) designer in conjunction with the SAS OPTEX procedure to create optimal experiments that are tailored to our specific needs. We illustrate our approach in the context of formulation optimization. The discussion is focused on how to generate different combinations of formulations in a systematic way, and how to assign treatments to experimental units in a way that minimizes experimental error interaction effect, main effect, proc step, proc freq, response variable source 9
71 Customize Your SAS Enterprise Guide Graphs for a More Professional Look Martha S. Hays Go beyond the basics and create customized graphs for your business reports and presentations. Producing better graphs is only a couple of clicks away. This paper explores some tips and techniques that use the detailed capabilities in SAS Enterprise Guide to customize your graphs. With the ability to adjust the axes, labels, colors, and other details, the resulting graphs depict your organization's choices and business standards for a more effective report. Once created, a task template can be saved to simplify using these personalized options in other graph tasks bar chart, line chart, sas enterprise guide, by group processing source 12
72 Customizing ODS Statistical Graphs Step-by-Step Dongsheng Yang Different from the traditional SAS/GRAPH in SAS 9.2, ODS statistical graphics from procedures provide an easy and quick way to explore and visualize data. However, if you want to generate high-quality plots for reports and publications, Graph Template Language (GTL) is a powerful tool to customize and build standalone ODS statistical graphs. This paper describes how to output SAS codes and data objects of an ODS statistical graph generated from a statistical procedure, and then use GTL to customize graph templates and style templates. Some examples on customizing ODS graphics step-by-step are provided roc curve, graph template language, proc step, proc template, proc sgplot, sas log, logistic distribution source 8
73 Dancing the Sample-Size Limbo with Mixed Models: How Low Can You Go? Bethany A. Bell,
Grant B. Morgan,
Jason A. Schoeneberger,
Brandon L. Loudermilk,
Jeffrey D. Kromrey,
John M. Ferron
Whereas general sample size guidelines have been suggested when estimating multilevel models, they are only generalizable to a relatively limited number of data conditions and model structures, both of which are not very feasible for the applied researcher. In an effort to expand our understanding of two-level multilevel models under less than ideal conditions, Monte Carlo methods, through SAS/IML, were used to examine model convergence rates, parameter point estimates (statistical bias), parameter interval estimates (confidence interval accuracy and precision), and both Type I error control and statistical power of tests associated with the fixed effects, from linear two-level models estimated with PROC MIXED. These outcomes were analyzed as a function of: (a) level-1 sample size, (b) level-2 sample size, intercept variance, (d) slope variance, (e) collinearity, and (f) model complexity. Keywords: MONTE CARLO, MULTILEVEL MODELS, SAMPLE SIZE, SAS/IML, SAS/STAT, PROC MIXED sample size, sample, fixed effects, confidence interval, power analysis, type i error, proc mixed, main effect, significance level, monte carlo, type i error control, correlation, normal distribution, proc calis, covariance, binary variable, predictor variable, proc step source 11
74 Data and Text Mining in SAS Warranty Analysis 4.2 Ned Maran,
Wei Huang
SAS Warranty Analysis 4.2 includes two analytics, Multivariate Statistical Drivers and Text Analysis, and the functionality Find Similar Comments in the Details Table analysis that use data mining and text mining techniques to analyze warranty data. Multivariate Statistical Drivers uses decision trees to determine which set of reporting variables are statistically significant for explaining variability in warranty claim rates. Text Analysis runs text mining on a text variable, clusters observations, and perfor ms a decision tree analysis to determine which set of reporting variables are best at differentiating each cluster from the overall population. Find Similar Comments finds the requested number of comments that are most similar to a selected comment and out puts a distance metric that provides a relative measure of similarity. These features use data mining and text mining procedures available in SAS Enterprise Miner 6.1 and SAS Text Miner 4.1 proc hpsplit, character variable, sample, data mining, sample size, proc freq source 13
75 Data in Your Inbox? Use It! Douglas B. Liming Using the SAS/ACCESS Interface to ODBC, you can pull valuable information from your Microsoft Outlook Inbox. A wealth of information can be mined from your e-mail, so why not use it? Based on e-mail, you can answer questions such as: What projects are generating traffic for you? Are certain people and groups increasingly asking for more information? How quickly are responses being handled? What are some frequently asked questions and are there any you had not realized? Find out how to first use SAS/ACCESS to pull data from your Inbox, and then use some simple SAS coding to pull the information together to see what gems you find union all, dataset, proc sql, proc step, create table, odbc connection source 7
76 Data Masking with Classical Ciphers Murphy Choy Data masking and protection is an essential part of data processing. With easy access to data, encryption of sensitive information is now a critical part of the data process especially with respect to the new data regulations in place for many countries. While there are no explicit data encryption functions in SAS , many classical encryption ciphers can be coded in SAS and applied on the data. In this paper, we will present 3 classical ciphers macro, Caesar's cipher, Alberti cipher and BIFID cipher macro loop, macro definition, %if-%then-%else source 9
77 dATa qWaliti 4 Analytics David Barkaway,
Gerhard Svolba
Data quality is one of the largest challenges facing business reporting and analytical projects today. Poor data quality can undermine the success of what would otherwise be well-developed applications by stripping the business value from the information. This paper will show how an analytical data mart for predictive modeling is created using modern software architecture and a market leading data quality toolset. The process of data gathering, data aggregation, data enrichment and joining data from various entities to deliver a final one-row-per-subject data mart will be demonstrated, accompanied by the relevant techniques of data quality control in order to achieve a trusted basis for statistical analysis and data mining . This paper is applicable to data integration, data or business analysts, and investigates the tools and technologies associated with data quality and how these tools can be applied correctly to create a foundation for accurate and trusted analytical solutions data cleaning, data integration, sample, outlier, missing value, change data capture, data validation rules, data wrangling, business intelligence, normal distribution, metadata management, raw data, staging area, data science source 12
78 Data Simulation for Piloting Clinical Trials Display Programs Brandon L. Welch,
Rita Slater
In a fast-paced clinical trials computing environment, programmers often need to create tables, listings, and figures within a limited time span. In these cases, available working data sets are paramount to insure quality deliveries. The SAS system offers many tools for simulating data which allow users to pilot their display programs prior to receiving real working data sets. This article explores the use of SAS functions and macro processing to generate artificial data using gamma and binomial random variates. The SAS macro presented in this article uses these functions to simulate patient-level and adverse event (AE) data sets. The results of these simulations are then used to populate abbreviated tables and listings. By having artificial data similar in structure to what display specifications provide, statistical programmers can verify the accuracy of their code prior to receiving real data adverse events, system organ class, macro call, nominal variable, demographics table, statistical programmer, macro variable, monte carlo source 9
79 Dealing with Lab Data: Stacking the Deck in Your Favor Jennifer K. Fulton In the world of clinical research, laboratory data yields some of the largest and most unwieldy data sets SAS programmers encounter in a project. Lab data usually is collected both on data collection forms (case report forms), and in an electronic format, such as a spreadsheet or text file straight from the lab. Extensive data manipulation is almost always required in order to get the data into a format that is useful for analysis, and to combine the other collected data with the data from labs correctly. These facts about lab data also mean that the odds of making a critical programming error are greatly increased. This paper will provide a referenc e for the manipulation of typical lab data for the purpose of data analysis such as tables, listings, and graphs, as well as some time -saving tips sas programmer, laboratory data, sample, data validation rules source 9
80 Dear Miss SASAnswers: A Guide to Sorting Your Data Linda T. Jolley,
Jane Stroupe
In this session, the fictitious advice columnist Miss SASAnswers tackles SAS sorting questions that were sent to her from instructors around the globe. Some of those questions include: "Is there some way to tell PROC SORT not to re- sort a previously sorted raw data file?", "What's with this NOEQUALS option that I've seen on someone else's program? Why did they use it? Should I?", and "What's the difference between PROC SORT and PROC SQL ORDER BY?" Many of Miss SASAnswers' replies contain new SAS 9.2 enhancements to PROC SORT that everyone will find exciting proc sort, proc step, proc sql, by group processing, order by, sorted data, options statement, where statement, dataset, proc contents source 19
81 Delivering Decision Support Information to Departmental Units Using the SAS BI Platform Ryan Cherland The University of Kansas (KU), like any large and decentralized organization, found that information was not always available in a timely manner to make effective decisions. To help solve this dilemma, KU's Office of Institutional Research and Planning (OIRP) developed a planning and management information system using the SAS BI Server platform. This paper will discuss how OIRP has leveraged the BI toolset to deliver critical decision-support information during times of uncertainty and change excel, management reporting, mis, sample, ods pdf source 12
82 Detecting Claim Fraud and Improving Product Quality: Case Studies in Reducing Warranty Costs David Froning Manufacturers are utilizing analytics to reduce service claim fraud and increase product qu ality, yielding warranty cost reductions over 20%. This presentation highlights case studies of manufacturers using SAS Suspect Claim Detection and SAS Warranty Analysis to stop claim fraud, identify emerging issues sooner, and get to root -cause faster. In this session, you'll gain a greater understanding of these solutions and take away warranty best practices that can be implemented immediately service provider, outlier, data validation rules, claims fraud, customer satisfaction, likelihood function, case management source 8
83 Determining Optimal Cash Allocation at ICICI Bank Branches with SAS Enterprise Guide and SAS/OR Software Sandipan Ray Excess cash at a bank branch is a potential income loss. However, inadequate cash can cause a "cash-out" situation. Cash allocation plans are finalized at the beginning of the month, and changes are costly and might not be feasible. This paper describes an optimal cash allocation plan that minimizes expected end-of- the-day (EOD) cash holding at branches, subject to constraint on expected withdrawal rate and buffer cash level. SAS Enterprise Guide is used to develop regression models to predict cash withdrawal and deposit. Expected EOD cash holding at a branch is estimated from the forecasting solution for a given cash allocation rule. Using the SAS/OR module, an optimal cash allocation rule is developed. In the current process, deposited cash at the branch is circulated after it is processed at a central processing unit sas enterprise guide, odds ratio, time series analysis, proc step source 13
84 Developing ODS Templates for Non-Standard Graphs in SAS 9.2 Philip R. Holland This paper will use the specific examples of split axis line plots and charts to explain how to approach the development of ODS Templates for standard and non-standard graphs in SAS 9.2 line chart, bar chart source 21
85 Discovering the Road Less Travelled to SAS Information: A Guide for Your Journey Renee Harper,
Lainie Hoverstad
SAS users are as diverse as the offerings from SAS. The key to using SAS is to find the content and delivery mechanism that fits the way you work and provides what you need when you need it. We can help you explore options on the Internet, show you tricks for searching and aggregating content, and help you influence content and content delivery. With this new bag of tricks, you will get more out of your investment in SAS. This paper explains how to use notification tools such as Really Simple Syndication (RSS) feeds and aggregation sites like Netvibes, My Yahoo, and iGoogle. We will briefly explore collaboration tools such as discussion forums, orkut groups, and sasCommunity.org. The goal of this paper and accompanying presentation is to arm you with the tools necessary to locate information when you need it, regardless of where it resides. We intend to open the window into online resources, but also hope that you bring your own suggestions for the question and answer session sample, sas programming source 17
86 Distributed Enterprise Scheduling, Workload Balancing, and Parallelized Workloads for Productive Performance at Bank of Italy Research Unit with SAS Grid Manager on an HPC Cluster Giuseppe Bruno In an attempt to provide more efficient and more cost-effective access to a wide range of econometric and statistical packages, to the different company databases, and to a comprehensive range of Web-enabled services, the Economic Research Unit of the Bank of Italy has decided to replace its Symmetric Multiprocessors (SMP) RISC6000/AIX-based system with a Red Hat Linux High Performance Computing cluster. The new system involving increased data volumes, more complex and longer runtime processes, required an efficient and flexible tool enabling the Research department of the Bank to perform SAS job scheduling and workload balancing and to parallelize workloads in a distributed environment. Hence the Research dept of the Bank is deploying SAS Grid Manager to deliver highly productive capabilities that help achieve optimal usage of computing resources and leverage the organization infrastructure in order to increase performance and reduce costs sas grid, grid computing, red hat source 8
87 Documenting SAS Macros on a Server Sumner Williams Once a SAS macro is placed on a server for all users, the source code disappears and the comments which would help to determine how to use the macro also disappear. I propose writing two macros for each macro and calling a third macro. The first macro is the macro that a programmer would write no matter what. The second macro contains the documentation for the first macro. Finally, the third macro is a call to a macro which will deliver the source code to the programmer. This method of programming is already employed in open source projects as can be seen by calling the man pages for linux programs. More than likely, the company owns the source code and it does not matter that their employees can see the source code. It does matter that their employees do not know how to use the macro. This paper is intended for the macro programmer and does contain some more advanced concepts goto, macro definition source 3
88 Driving Distances and Times Using SAS and Google Maps Michael S. Zdeb SAS 9.2 contains new functions (ZIPCITYDISTANCE, GEODIST) that allow a user to compute geodesic distance (the shortest distance between two points on the surface of a sphere). Both functions use the Vincenty distance formula. Prior to SAS 9.2, a DATA STEP was used to compute such distances, commonly with the Haversine formula. Vincenty and Haversine distance estimates are straight line distances and there are occasions where that type of estimate is what you need. There are other occasions where what you want is not the straight line distance, but a driving distance. Given only one combination of locations, using Google Maps to get the driving distance and time is no problem. However, if you have a large number of location pairs, a FILENAME statement and the URL access method within SAS can be used to access Google Maps multiple times and extract both the driving distance and time each time the site is accessed macro variable, filename statement, data step source 8
89 Effective Visualization Techniques for Data Discovery and Analysis Charles Pirrello One of the best ways to understand data is through data visualization. The art of presenting data visually has matured from static graphs and dashboard widgets to interactive, animated graphs. Adding advanced analytics to support these graphs provides a competitive edge to companies by helping them better explore and understand their data, predict potential outcomes and decide with confidence. This session will discuss the power of visualization for analyzing data and spotting trends you can act on. Effective visual techniques will be demonstrated showing how users can better explore and understand their data, discover trends and patterns, and communicate their findings to a non-technical, non-analytical audience monte carlo, potential outcomes, sas visual analytics source 9
90 Efficient Statistical Programming? Reducing SAS Run Time with WHERE Setup Keiko I. Powers When statisticians handle time-consuming statistical analysis runs, setting up SAS code for efficient processing is critical for the overall project success. In preparing a SAS program, it is obviously important to ensure that the selection and setup for the statistical PROCs are correct. When the overall run-time efficiency is concerned, equally important is how the SAS DATA steps are set up for the subsequent statistical analysis. Creating temporary partitioned data sets for various analysis steps can often lead to an unnecessarily long run time. If a temporary partitioned data set is used for only one PROC, it is often the case that the parenthesis-based WHERE coding scheme -- e.g., PROC REG DATA=A(WHERE = (FLAG = 1)); etc., -- works more efficiently and reduces the overall run time substantially. Systematic comparisons of the SAS execution time between the partitioned temporary data setup and the parenthesis-based WHERE setup were performed based on several simulation runs proc step, cpu time, data science, where statement, data step, data wrangling, sample size, sample source 4
91 Eliminating Redundant Custom Formats (or How to Really Take Advantage of PROC SQL, PROC CATALOG, and the DATA Step) Philip A. Wright Custom formats are invaluable to the SAS programmer. Their functionality provides for much more than simply a mechanism for explicitly labeling values in a data set. There can be, however, a major limitation-the DATA STEP can accommodate only 4,096 formats at a time. It is unlikely that a SAS programmer would generate this many formats in code, but this is not the only method that generates formats. PROC IMPORT and third-party data conversion programs may well generate a distinct custom format for every variable in a data set, and data sets with more than 4,096 variables are not uncommon. Oftentimes however, these formats can be quite redundant-the same co ding scheme was used for many similar variables. Eliminating redundant custom formats may well get you below the 4,096 limit. PROC SQL, PROC CATALOG, and the DATA STEP are the tools that can be used to eliminate the redundant formats proc step, user-defined format, proc sql, proc datasets, proc format, data step, create table, order by, work library, proc catalog, format statement, proc contents, proc compare, proc sort source 18
92 Enhancements for Managing SAS OLAP Server in SAS 9.2 Matthias Ender,
Tatyana Petrova
SAS 9.2 has enhancements to SAS OLAP Server that provide OLAP users and administrators more flexibility and control over their OLAP environment. With these enhancements, OLAP users can do the following: Distribute the workload across servers using load balancing Control sessions and cubes using PROC OLAPOPERATE and SAS OLAP Server Monitor * Secure cubes better This paper is targeted to advanced SAS users and BI administrators. It highlights when and how these enhancements can be used to provide the most benefits to the users of SAS OLAP Server proc step, sas management console, dataset source 19
93 Establishing Consistent Programming for Pharmaceutical Safety Summarizations Using a DOW Loop Bradford J. Danner,
Steven R. Kirby
Three types of data collected during an early stage clinical trial study to assess safety are laboratory tests, electrocardiogram parameters, and vital signs. Simple summary statistics of the results and change from baseline are usually presented in an ICH summary report, and it is also useful to include a presentation of out of range shifts relative to baseline. When several varieties of standard programs are available to facilitate summaries, a consistent approach across all datasets and types of summaries in a study could increase efficiency and minimize the possibility of multiple errors. This paper will illustrate an approach that may be applied to various types of data regardless of vertical or horizontal structure. To minimize DATA STEP processing and superfluous merging or processing, a DOW loop is employed. Advantages and disadvantages of using this process are discussed, and preliminary results to date are presented conditional do loop, change from baseline, proc transpose, proc means, vital signs, sample, clinical trial, independent qc, proc freq source 8
94 Everything in Its Place: Efficient Geostatistical Analysis with SAS/STAT Spatial Procedures Alexander Kolovos Got coordinates in your data? Feeling lost in space? Spatial data arise in a wealth of scientific fields; their stochastic structure poses unique analytical challenges that are different from most modeling and prediction methodologies. SAS/STAT 9.22 introduces exciting updates to the SAS suite of spatial procedures to augment, simplify, and streamline spatial analysis in one and two dimensions. All spatial procedures offer a wider variety of correlation models than before. Automated semivariogram modeling in the VARIOGRAM procedure reduces the time and effort required to select a suitable correlation structure. Item stores enable you to pass the semivariance information seamlessly to the KRIGE2D procedure for prediction or to the SIM2D procedure for simulation. Option-rich ODS Graphics plots give you the full picture for diagnosing your spatial data and visualizing your prediction and simulation results proc step, correlation, response variable, proc plm source 18
95 Evolution of Formatting "On the Fly" Allen J. Blackburn,
Mikhail Gruzdev
PROC FORMAT procedure is a powerfully productive tool. It allows us to assign labels to values without having to spend time combining data sets, changing values and molding the data to take on the look a user wants. Our SAS program essentially puts a mask on the data. However, sometimes those masks need to change. By formatting 'on the fly', our program saves on the maintenance of manually changing hard-coded PROC FORMAT statements, as well as the computing time of formatting more than necessary when formatting from a data set. Using a PROC FORMAT statement inside of a SAS program has its advantages, but in many cases, depending on how you use it, the statement could be a 'growing' problem. Updating a small number of PROC FORMAT statements is simple, but complexity 'expands' as the number of elements grows larger, with hundreds or even thousands of elements proc format, proc step, format statement, proc print, proc sql source 8
96 Evolve from a Carpenter's Apprentice to a Master Woodworker: Creating a Plan for Your Reports and Avoiding Common Pitfalls in REPORT Procedure Coding Allison McMahill Booth Do you sometimes get into a routine of using the same techniques to create PROC REPORT code only to end up with reports that no longer suit your needs? You're sure that there's a better way to code in PROC REPORT, but you don't know where to start. If you're frustrated with the amount of time that you spend creating reports that are less than ideal, consider taking the time to create a coding plan before you begin to code. Although PROC REPORT coding is flexible and can be used with various SAS applications, there are pitfalls. Just like an inexperienced carpenter's apprentice, you might code in familiar ways that you know will work, rather than in ways that work optimally with PROC REPORT. Making a coding plan and being aware of the pitfalls will enable you to code PROC REPORT easily, thereby taking you from an apprentice-level carpenter to a master-level woodworker proc report, proc step, sample, sas log, length statement, if-then-else, character variable, sas output, proc format, class variable, label statement, automatic variable, output delivery system, format statement source 18
97 Executive Dashboard: A Driver for Institutional Change and a Means to Broaden Understanding Said Reda The financial meltdown created an uncertain and competitive environment, making it important for our institution to provide our executives insight into critical key metrics. The decision to create executive dashboards at Pace University set in motion events that caused the collapse of the information silos. This presentation provides insight into the reporting infrastructure, its implementation, lessons learned, consequences, questions raised, and how to navigate the road ahead of us to get to the finish line proc sql, data integrity source 11
98 Exploring DICTIONARY Tables and SASHELP Views Kirk Paul Lafler SAS users can quickly and conveniently obtain useful information about their SAS session with a number of read - only SAS data views called DICTIO NARY tables or SASHELP views. At any time during a SAS session , information about currently defined system options, libnames, table names, column names and attributes, formats, indexes, and more can be accessed and captured . This paper explores the purpose of DICTIONARY tables and views, how they are accessed, and what information is available to SAS users. Attendees learn how these important tables and views can be accessed and applied using real-world scenarios dictionary tables, proc sql, proc step, options statement, select source 7
99 Exploring Powerful Features in PROC SQL Kirk Paul Lafler Structured Query Language (PROC SQL) is a database language found in the Base SAS software. It enables access to data stored in SAS data sets or tables using a powerful assortment of statements, clauses, options, functions, and other language features. Th is paper presents core concepts of this powerful language as well as its many applications and is intended for SAS users who desire an overview of the capabilities of this exciting procedure. Attendees will explore the construction of simple SQL queries, o rdering and grouping data, the application of case logic for data reclassification, the creation and use of views, and the construction of simple inner and outer joins proc sql, proc step, where statement, dictionary tables, select, inner join, macro variable, sas library, sas log, macro facility, view, create table, group by, macro call, order by, right join, data merging source 17
100 Facilitating Genetic Analysis: SAS, the NHLBI, and CARe Taylor R. Young Two common tasks for a SAS programmer are creating summary statistics and distributing data. Often, th ese are relatively benign tasks requiring only a handful of SAS statements but on the occasions when a large volume of data must be processed, writing too many of these statements by hand becomes inefficient and ultimately error prone. The purpose of this paper is to describe several techniques for summarizing and distributing a large number of SAS data sets and variables. The methods are discussed within the context of the National Heart Lung Blood and Sleep Institute's (NHLBI) Candidate Gene Association Resource (CARe) project which assembled genotype and phenotype data from more than 40,000 individuals across 9 longitudinal, epidemiological cohorts ( Musunuru et al. 2010). To date, 862 SAS data sets encompassin g 53,428 distinct variables have been made available to a community of several hundred CARe investigators macro variable, proc sql, proc step, do loop, proc means, macro loop, proc freq, variable list, dataset, sas programmer, macro definition source 7
101 Faster Results by Multi-threading DATA Steps Ian J. Ghent Many SAS users run programs on systems with multiple processors. Starting with SAS9, certain intensive SAS procedures take can advantage of these multiple processors to reduce run-time, and make more effective use of system resources. Many users have long running data steps, which could also benefit from parallel execution. This paper discusses how, and when to multi-thread an intensive DATA STEP, along with all the considerations need to do so. Topics covered include partitioning, I/O parallelism and SPDE/SPDS, run-time tracking, inter-row dependencies, thread execution, and re-joining. An example parallel DATA STEP macro package will also be included data step, in=, retain, where statement, cpu time, out= source 7
102 Financial Analysis Using SAS PROCs Somaye Gharibvand,
Lida Gharibvand
Financial services industry is interested in analyzing vast financial data including price trends from stock exchanges around the world. SAS analytical and graphical tools are extremely useful to enable statistical analysis of various financial data including stock price information. Time Series statistical method is a valuable approach for analysis of financial data. Time Series modeling involves trends, seasonality, cyclical behavior, and forecasting future trends using historical data collected at regular time intervals. Many advanced Time Series analysis procedures are available in SAS/ETS module. In this paper, three PROCs are shown: PROC TIMESERIES, PROC FORECASTING, and PROC UCM. The advanced features of SAS procedures were used to analyze Texas Instruments stock with TXN symbol. It will be demonstrated that PROC UCM (Unobserved Components Model) is better suited to analyze the stock price movements time series analysis, proc step, proc ucm, proc timeseries, time series data, proc forecast, confidence interval, proc gplot, correlation source 7
103 Finding Your Subjects in a Haystack: The Many Ways of Implementing Table Look-Ups Olga Galin,
Alla Sapozhnikova
This presentation concentrates on two SAS programming methods that enable the user to print various data files by ID when the list of IDs selected for reporting is stored as a separate data set. In order to avoid the use of multiple MERGE statements and WHERE clauses for each ID selection, we have develo ped a SAS macro that allows this task to be completed in a simple and elegant manner. Implementation of these applications made possible full automation of the process lookup, macro variable, dataset source 4
104 Flex Your SAS Muscle Joe M. Flynn This paper explains how to integrate the power of SAS software with the rich and interactive environment provided by Adobe Flex. SAS 9.2 enables you to easily deploy SAS Stored Processes as open-standard Web services, which can then be called by Adobe Flex applications. This integration enables you to use the proven analytics and power provided by SAS as a viable back-end data source for your Adobe Flex applications. This discussion, intended for applications developers and SAS programmers, first guides you through the much- improved process of deploying a SAS stored process as a W eb service in SAS 9.2. The paper then explains how to call this Web service from Flex, how to interpret the re sults returned by SAS in Flex, and the different methods in which you can display those results. The paper also includes an example that shows the c ode that you need in order to use SAS as a back-end data source to your Flex applications web service, bar chart, line chart, group by, sas enterprise guide, %if-%then-%else source 19
105 Flexible HTML Reporting Using Advanced Macro Programming and TableEditor Tagset Smita S. Sumant SAS ODS techniques provide the ability to create HT ML outputs and help minimize manual work. However, if you still miss dynamic and interactive EXCEL fun ctionalities, we have a solution! Now, you can filt er, sort and conditional format HTML output just like Microsoft EXCEL. This paper demonstrates how advanced macro programming techniques and user-defined tagset Tabl eEditor were used to create interactive and efficie nt HTML reports at RCI, the global leader in timeshare exchange and part of the Wyndham Worldwide family of companies. Advanced macro programming is applied to organize HTML pages and to create a dynamic menu page with hyperlinks. User-defined tagset Tabl eEditor is utilized along with SAS ODS techniques t o create EXCEL like data grids and to perform conditi onal formatting. The primary goal of this paper is to elaborate these programming techniques in such a wa y that the readers can immediately implement these methods with minimal effort proc format, proc step, macro definition, excel, sample source 10
106 From Genomes to Galaxies: 3D Graphics in JMP Scripting Language Kelci J. Miclaus,
Stan Martin,
Craige Hales,
Jong-Seok Lee,
David Barbour,
Russell D. Wolfinger
JMP Scripting Language (JSL) offers an interface to OpenGL for three -dimensional graphics. We present several new examples illustrating the aesthetics and interactivity of JSL 3D graphics: a DNA helix, human and bacterial chromosome maps, the Stanford Bunny test model, 3D pie charts, and a bright star and constellation viewer. We highlight the key features of each script, including ways to utilize mouse actions (both movement and click events) and associative arrays. All scripts will be made available online at the JMP Community File Exchange, found at http://www.jmp.com/community/ source 14
107 From Unfriendly Text File to SAS Data Set: Reading Character Strings Anastasiya M. Osborne What does it take to automatically clean unwieldy text files in SAS9? It takes business necessity and intermediate-to- advanced combinations of SAS9 options, statements, character and date functions, call routines, macros, and OS commands. This paper describes how to automate an otherwise tedious and error-prone process of extracting data from text files with inconsistent structure and format. The data is then used in a real-life project txt, dataset source 12
108 Functioning at an Advanced Level: PROC FCMP and PROC PROTO Peter W. Eberhardt In version 9.2, SAS added the ability to create user-written functions and call routines using the SAS DATA STEP language, and make these functions and call routines available to the DATA STEP programmer. In an earlier paper, I demonstrated the basics of creating and using your own functions. This paper goes beyond those basic steps and shows some more advanced uses of the PROC FCMP and its cousin, PROC PROTO. In this paper we will review creating DATA STEP language functions with PROC FCMP. After showing the creation and use of these functions, the paper will shift to PROC PROTO and show how to incorporate C language functions into SAS. This paper is for advanced SAS programmers. Basic knowledge of the C programming language will be useful to help understand some of the examples proc step, proc fcmp, sas log, sas function, put statement, return, sas programmer source 23
109 Fundamental Diagnostics for Two-Level Mixed Models: The SAS Macro MIXED_DX Bethany A. Bell,
Jason A. Schoeneberger,
Grant B. Morgan,
Jeffrey D. Kromrey,
John M. Ferron
Multilevel modeling has become a common analytic technique across a variety of disciplines including medicine and the social and behavioral sciences. However, because many researchers who use multilevel modeling in their research do not report if the data were screened for potential violations of distributional assumptions and outliers, it is unclear if these diagnostic procedures are being conducted. Thus, in an effort to make the process of checking the assumptions for multilevel models easier for the applied researcher, this paper provides a SAS macro for conducting two-level linear model diagnostics, including examinations of residual normality, linearity, homogeneity of variance, and influential outliers. By utilizing data from PROC MIXED ODS tables, the macro produces box-and-whisker plots, summary tables of statistical output, histograms, and plots of residuals by predicted values. Macro outputs are produced for both level-1 and level-2 data proc step, proc mixed, box plot, histogram, mahalanobis distance, outlier, proc means, influential observation, estimate, covariance, proc glm, proc univariate, proc genmod, regression analysis, homoscedasticity, macro definition, response variable source 12
110 Generating Complex Reports with DDE and VBA Chienchung Chen As a SAS programmer, you might have experience of spending hours modifying the thickness/colors of a bar chart, fitting an image into the corner of the page, or putting multiple charts/tables side by side with ODS PDF. Using ODS PDF, you can generate reports directly from the SAS dataset/database and mass-produce reports with the assistance of SAS Macro. Besides ODS LAYOUT, a useful statement, can be used along with SAS/GRAPH and ODS PDF to generate reports with basic number of reporting components, for example, 1-2 table, 1-2 charts, or combination of 1-2 tables with 1-2 graphics effectively. However, it is a time consuming process to modify all the properties (alignments, positions, sizes, colors, etc) on the report while the report is getting complicated with the increasing number of tables/graphics/pictures excel, ods pdf, macro definition, sas programmer, sample source 7
111 Get Certified as an Advanced SAS Programmer in Six Months or Less! Gongwei Chen The SAS Certified Advanced Programmer credential is very prestigious worldwide. Getting this certificate requires passing two certification exams: SAS Base Programming Exam and SAS Advanced Programming Exam. The author of this paper is a SAS Certified Advanced Programmer. He prepared for and passed both exams in four months, scoring 89% on both exams. This paper shares his experiences and strategies in preparing for these exams. With the strategies revealed in this paper, the author believes that the majority of SAS programmers who are beyond the beginning level are capable of passing both exams and becoming certified as SAS Certified Advanced Programmer within six months or less sas programmer, sas base, advanced sas, macro facility source 6
112 Get the Scoop on the Loop: How Best to Write a Loop in the DATA Step Arthur X. Li During the execution of the DATA STEP processing, the DATA STEP works like a loop, repetitively reading the data and creating observations one at a time. We call this type of loop the implicit loop. Sometimes we need to execute certain SAS statements repeatedly. In this situation, we need to construct an explicit loop by using the DO, DO WHILE, or DO UNTIL statements. There is a wide range of applications for explicit loops, such as generating random samples, reading multiple external data files, and so forth. However, in some scenarios, creating an explicit loop can be very tricky, even for seasoned programmers. Constructing a successful loop is dependent upon grasping SAS programming fundamentals, such as understanding that the SAS data set is created one observation at a time in the program data vector (PDV). In this paper, you will learn how to create loops with various applications and what happens in the PDV when creating the explicit loop do loop, conditional do loop, sample, output, infile statement, execution phase, dataset, in=, automatic variable, out=, implicit loop, _n_, set statement, stop, compilation phase, ranuni source 19
113 Get to Your Points: Using SAS to Build Google Maps Ted Conway Ever want to present your data on an interactive Google map? If so, SAS can make your life easier! This paper explains how to use the Google Maps API to overlay SAS User Group information--converted to a suitable XML format using SAS, of course--on a Google map of the U.S dataset, semi-structured data source 12
114 Getting By with a Little Help from My Regular Expressions Scott Davis Much has been written about the power and flexibility of regular expressions. Regular expressions represent an entirely new drawer in the programmer's toolbox that provide yet another way of attacking a problem and developing a solution. Imagine a rather common scenario where, during a testing phase, output from the current run is compared to output from the previous run. If updates to the program do not pertain to a particular table, then the output from both runs should be the same. What about the logs though? Excluding things like dates, what happens when changes in the program result in vastly differing logs? Compare utilities cannot adequately match up these logs with the additional information. Enter some regular expressions along with metadata to help solve the comparison problem. The goal of this paper is to explore a particular application of regular expressions (the comparison of vastly differing logs). This paper assumes a basic understanding of regular expressions error message, temporary array source 5
115 Getting Connected to Your Data with SAS/CONNECT Greg J. McLean,
Vecdet Mehmet-Ali
With the introduction of Microsoft SSPI authentication in SAS version 8, using SAS/CONNECT to establish a server session on a remote Windows server and accessing data on the processing server or on the network has evolved. This paper explores different ways available to sign on to a remote Windows server with SAS/CONNECT and describes the implications of accessing data. Methods of channeling data through the client SAS session will also be discussed batch job, filename statement, cpu time source 9
116 Getting Correct Results from PROC REG Nathaniel Derby PROC REG, SAS's implementation of linear regression, is often used to fit a line without checking the underlying assumptions of the model or understanding the output. As a result, we can sometimes fit a line that is not appropriate for the data and get erroneous results. This paper gives a brief introduction to fitting a line withPROC REG, including assessing model assumptions and output to tell us if our results are valid. We then illustrate how one kind of data (time series data) can sometimes give us misleading results even when these model diagnostics appear to indicate that the results are correct. A simple method is proposed to avoid this. Examples and SAS code are provided. The SAS/GRAPH package is used in this paper but not required to use these methods, although SAS/STAT is required to usePROC REG. KEYWORDS: SAS,PROC REG, assumptions, residuals, time series. All data sets and SAS code used in this paper are downloadable fromhttp://nderby.org/docs/SGF270-2010.zip proc step, proc reg, anova, estimate, predictor variable, response variable, normal distribution, regression analysis source 14
117 Getting the Right Report (Again): Your Compatibility Guide for ODS.pdf 9.2 Scott Huntley,
Bari Lawhorn
ODS PDF in SAS 9.2 looks and acts different from earlier versions. Why? What changed? How can I maintain the same look that I like? This paper written in collaboration with SAS Technical Support and R&D will take commonly asked questions submitted to SAS Technical Support about ODS PDF and give you the answers. Once you understand how things work and why things changed, you'll have the tools you need to create that perfect report in ods pdf, proc step, proc template, options statement, proc report, output delivery system, title statement source 17
118 Getting Your Cube from Here to There: Migration and Deployment of OLAP Cubes in SAS 9.2 Deployment Jana Van Wyk In SAS 9.2 there are several ways to move your OLAP cube metadata from one SAS environment to another. This paper will explain your choices and help you develop a strategy for cube migration and promotion by evaluating the benefits of each technology. This paper will include information, examples, and evaluation of these methods: The SAS 9.2 Migration Utility. The Export Cubes and Import Cubes batch tools available for SAS 9.1.3 and the second maintenance release of SAS 9.2, respectively. The Export SAS Package and Import SAS Package wizards that support including the cube in a SAS package. Exporting PROC OLAP long form to run on the target environment. Understanding your choices will help you plan and succeed in migrating and promoting your cube metadata and data from one metadata environment to another proc step source 16
119 Getting Your Metadata Using PROC METADATA Edwin J. van Stein A lot of useful information from metadata is available to your programs through PROC METADATA. It can be hard to figure out how to extract the necessary data though. The purpose of this paper is to provide easy examples for some basic things you can get from metadata using PROC METADATA and XML maps. The examples that will be given were created on SAS 9.1.3 on UNIX proc step, options statement source 7
120 Google Maps and SAS/GRAPH A. Darrell Massengill Google Maps have become one of the most widely recognized means of handling maps and location data. This paper introduces a tool and shows you how to create your own Google Maps from within SAS and SAS/GRAPH. In addition, we will briefly discuss Google Maps and the legal and technical limitations and implications of using these maps macro variable, proc step, dataset source 18
121 Graph Elements You Should Know (Even If You Don't Use SAS/GRAPH Software) Arthur L. Carpenter We no longer live or work in a line printer - green bar paper environment. Indeed many of today's programmers do not even know what a line printer is or what green bar paper looks like. Our work environment expects reports which utilize various fonts, with control over point size and color, and the inclusion of graphic elements. In general we are expected to produce output that not only conveys the necessary information, but also looks attractive. In the line printer days little could be done with the style and appearance of reports, and consequently little was expected. Now a great deal of control is possible, and we are expected to take advantage of the tools available to us. We can no longer sit back and present a plain vanilla report. The Output Deliver System gives us a great deal of the kind of control that we must have in order to produce the kinds of reports and tables that are expected of us title statement, footnote statement, proc step, box plot, regression analysis source 15
122 Group File Processing with SAS Macros and the DATA Step Kevin McGowan,
Matt Reich
Sometimes there is a need to process a group or groups of files with one program. In some cases the number of files that need processing is not known in advance, only the location of the files and the format of the directories that contain the files are known. By using the SAS macro language along with data steps and SAS functions such as dopen, dnum, dread and dclose, it is possible to process multiple files easily without a lot of complex programming. These techniques are becoming more useful with the switch of data arriving in electronic format rather than on paper. By processing a group of files with one program or DATA STEP the chance of errors and processing time can be significantly reduced. This paper will provide examples to show different techniques for processing groups of files sas function, macro facility, macro definition source 10
123 How to Be an Organized SAS Programmer Jean Balent Do you ever forget where that program was that did that great PROC TABULATE or forget what files you sent to a client? This paper shows you how to be a more organized programmer, so you can find things easily. At annual review time, do you forget what projects you've worked on and cannot remember some of your key accomplishments? This paper offers tips on how to refresh your memory and increase your productivity. Your boss will be amazed at how you are able to complete your projects faster and remember which projects you worked on throughout the year excel, proc step, proc sql source 6
124 How to Establish an Analytical Center of Excellence to Maximize the Value from Your Data and Analytics Investment Anne Milley,
Aiman M. Zeid
In order for organizations to make the most of their data assets and to survive and continue to grow in the current economic conditions, the deployment and use of analytics are becoming more critical than ever before. Many organizations began enterprise initiatives to focus on applying analytics to set future directions, survive the slow economy, and identify opportunities to set them apart from their competitors. However, for these initiatives to succeed, organizations need more than just technology. They need an enterprise strategy to coordinate and align many aspects of their environments. Many have successfully established an Analytical Center of Excellence (CoE) to enable them to achieve the maximum value from their investment. This paper will provide a comprehensive overview of the need, structure, and benefits of establishing an analytical CoE. The paper will examine the impact of the executive support and vision of analytics data cleaning, data governance source 11
125 How to Publish Your ODS Reports to a Predefined Channel Emily Y. Gao This presentation will show how to publish your ODS reports to a predefined channel, which is a repository that users can subscribe to. Any information published to a channel is available to all of that channel's subscribers. Each subscriber specifies how the new information is delivered. The advantage of publishing to a channel is that the publisher does not need to create or maintain a list of relevant recipients. Instead, users are responsible for subscribing to the correct channels for their work needs. Furthermore, you can share your ODS reports with non- subscribers, if the persistent storage of a channel is based on a WebDAV server. With any WebDAV server management tool, you can grant different access permissions to different groups to ensure information security. Some SAS applications such as the SAS Information Delivery Portal can connect to a WebDAV server and list its contents %if-%then-%else, macro definition, macro variable source 8
126 How to Transform a Technical Exercise into a Real Opportunity Taking Advantage of New Features That SAS Developed: The True Challenge of a Migration Grégory Becquembois,
Pascal Maurice
GMF (Garantie Mutuelle des Fonctionnaires) has expanded the use of its business intelligence system for all employees of its branch network through a commercial reporting portal (including SAS Information Delivery Portal and SAS Web Report Studio). The new SAS BI architecture uses the data generated under z/OS to deal with SAS under AIX and present the data through SAS Web applications. The portability of the SAS system has saved expensive mainframe resources as well as increased the number of users. This helps to maximize the ROI of GMF's SAS BI Platform. GMF has been a SAS customer for 30 years for metrology and 10 years for business. Until now, the architecture of GMF's SAS implementation was based on the use of the zOS platform to serve its numerous users. We migrated this configuration to AIX servers, so we are now ready to address the transition to SAS 9.2 sas enterprise guide, dataset, quality of service, data cleaning, sas batch, flat file, proc freq, proc step source 13
127 How to Use ARRAYs and DO Loops: Do I DO OVER or Do I DO i? Jennifer L. Waller Do you tend to copy DATA STEP code over and just change the variable? Do you want to learn how to take those hundreds of line of code that essentially do the same operation and reduce them to some thing that is more efficient? Then come and learn about ARRAYs and DO loops. 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, ho w 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. Additionally, you will learn how to restructure your data set using ARRAYs and DO loops rather than do loop, do over, end, array source 11
128 Ideas and Examples in Generalized Linear Mixed Models David A. Dickey SAS PROC GLIMMIX fits generalized linear mixed models for nonnormal data with random effects, thus combining features of both PROC GENMOD and PROC MIXED. I will review the ideas behind PROC GLIMMIX and offer examples of Poisson and binary data. PROC NLMIXED also has the capacity to fit these kinds of models. After a brief introduction to that procedure, I will show an example of a zero-inflated Poisson model, which is a model that is Poisson for counts 1,2,3,…, but has more 0s than is consistent with the Poisson poisson distribution, proc step, proc mixed, binomial distribution, likelihood function, proc glimmix, fixed effects, sample, proc calis, estimate, restricted maximum likelihood, logistic distribution, normal distribution, covariance, beta distribution, calendar year, numeric functions, maximum likelihood estimation, regression analysis, proc genmod, main effect source 12
129 Improving Credit Risk Scorecards with Memory-Based Reasoning to Reject Inference with SAS Enterprise Miner Software Billie Anderson,
James A. Cox,
David R. Duling,
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 uses real-world data to present an example of using memory- based reasoning as a reject inference technique. SAS Enterprise Miner software is used to perform the analysis. The paper discusses the technical concepts in reject inference and the methodology behind using memory-based reasoning as a reject inference technique. Several misclassification measures are reported to determine how well memory-based reasoning performs as a reject inference technique credit risk, data mining source 13
130 Improving Quality of Care for Chronic Disease in the Primary Care Setting: A Quality Improvement Program Using SAS and Electronic Medical Record Data Andrew S. Baker In Virginia the Federally Qualified Health Center Network has long been engaged in an active primary care quality improvement effort. After a widely implemented electronic medical record system had been in use long enough for the data to mature, we began exploring ways to use this rich resource to help improve our quality of care. After finding that the internal EMR reporting was not suitable for this purpose we turned to SAS to fill this need. We are using base SAS and SAS Access for ODBC to retrieve this data and produce clinical performance measures that help the physicians to monitor their compliance with established clinical guidelines clinical data, laboratory data source 4
131 Improving the Defense Lines: The Future of Fraud Detection in the Insurance Industry (with Fraud Risk Models, Text Mining, and Social Networks) Terisa Roberts Given the current global economic turmoil and contracting economies, financial crime is on the rise. The use of analytical techniques to protect financial institutions against fraudulent activity has seen varying degrees of success in the past. Recent advances include the use of rule-based fraud detection flags, exception reporting, third-party data searching, profiling, and fraud scorecards based on quantitative data. More recently, advanced analytical techniques such as text mining and social networks have also been used to effectively support the fraud investigation process. Artificial intelligence algorithms can be used to detect human involvement where it is not expected, even where suspicious activity has not yet been detected suspicious activity, outlier, insurer, social network analysis, data mining, data cleaning, regression analysis source 7
132 Improving Your Statistical Consulting Prowess by Adding R to Your SAS Repertoire Mark Austen,
Jeffrey M. Gossett,
Maria S. Melguizo,
Chan-Hee Jo
SAS is a powerful package with tremendous capabili ties. However, no package contains every model, cal culation, or graphics option. With SAS 9.2, it is easier to tap into the R programming environment with the SAS /IML Workshop 3.2 application. Many cutting-edge models and statistical graphics are being developed in R. We will discuss strategies for using R to complement a SAS analysis. We will discuss examples where we have us ed R to solve problems that we could not have handled easil y with SAS alone logistic regression, logistic distribution, regression analysis, likelihood function, dataset, interval variable, confidence interval, nominal variable, maximum likelihood estimation, proc step, proc report, proc sgpanel, competing risks, odds ratio, proc logistic, excel source 11
133 Instant KPI: From Data to Dashboard in Record Time Elliot Inman,
Michael Drutar
Moving from data to dashboard in a single program, this paper shows how Base SAS and SAS/STAT software can be used with the power of PROC GKPI to go from raw data to meaningful statistical summaries of benchmarked performance. Benchmarking is a common process by which organizations measure performance against group norms, past performance, or expected performance. For example, a school might compare its graduation rate against its school district's rate, a hospital might compare care for an individual patient with patients with similar medical histories, or a retail store might compare itself to other franchises. Using PROC MEANS, PROC UNIVARIATE, and other summaries, you can calculate statistical boundaries on the fly, renorming data using group distributions, and publishing the results to the dashboard proc step, central tendency, macro definition source 11
134 Integrated Windows Authentication Support for SAS 9.2 Enterprise BI Web Applications Heesun Park Integrated Windows Authentication (IWA) support for Web applications provides a Single Sign-On solution in the Windows environment. After examining the Kerberos and Simple and Protected GSS-API Negotiation Mechanism (SPNEGO) protocols, which are the backbones of IWA support for Web applications, this paper explains IWA configuration options for SAS Enterprise BI (EBI) Web applications. There is a significant difference in IWA configuration for SAS 9.1.3 and SAS 9.2. The new logon process for SAS 9.2 Enterprise BI Web applications requires advanced setup for IWA/SPNEGO support in the application servers. This paper presents the major steps involved in configuring support for SPNEGO in the application servers along with information about configuring SAS EBI Web applications with Web authentication in an IWA environment sample, api source 10
135 Integrating JMP with SAS to Create an Automated Workflow Application for Analyzing, Processing, and Reporting 96-Well Plate Format Fluorescence Microplate Reader Data Stanley P. Koprowski Jr. One of the many challenges facing drug discovery and high throughput biology within the pharmaceutical research and development groups is the effective management of repetitive and time consuming tasks. These everyday jobs are often involved in opening files, copying and pasting information from various instrument outputs, such as plate reader instruments. Additionally, integration of various sources of meta data, including, multiple MS EXCEL workbooks and text files must be completed in order to accomplish additional post processing calculations. Successfully completing all of the previous steps in the analysis subsequently allow one to interact with their data through guided analysis, and to create statistics and plots, and final study reports data step, dataset, xls, sas output, data cleaning, excel, regression analysis, anova source 18
136 Integrating Tables and Graphs with ODS LAYOUT Steven H. Feder ODS layout of PDF output can arrange multiple tables and graphs on the same page, and even overlay tables onto graphs and vice versa. This can replace GREPLAY coding of multiple graphs with reduction of the most tedious aspects. It also provides easier and more flexible coding of certain elements of graph annotation. Matching style elements such as colors, lines, and symbols of graphs with text helps integrate the appearance for easier user interpretation proc report, proc step source 10
137 Integrating the Power of SAS with the Ease of Search across the Enterprise Craig Rubendall,
Chandra Prakash,
Sudheer Prem
Enterprise search engines provide easy access to enterprise resources through search. Search engines unify various information sources into useful information based on relevance that empowers a company's employees, customers, and partners to take quick actions to meet evolving business needs. Surfacing SAS content through enterprise search engines enables you to integrate the power of SAS with the ease of search across the enterprise. We discuss the various approaches of surfacing SAS contents through the search facilities like Google Search Appliance, Microsoft Search Server (used by SharePoint), Teragram Search Engine, and the search toolbar facility in browsers output delivery system, excel source 7
138 Interactive Dashboards: Powered by Flash and the SAS Programmer Gordon Hirsch,
Michael Thomas
SAS BI Dashboard 4.3 introduces a new feature: a stored process can act as a data source for a dashboard indicator. This paper explores how SAS programmers can use this new feature to provide highly interactive dashboards based on targeted analytics that only SAS can provide. Two examples are explored. First, a stored process is used to trigger an alert based on the shape of example time series data, instead of just a simple threshold. This approach uses SAS to go far beyond basic exception reporting in to analytics-based exception processing that can achieve excellent signal-to-noise ratios and be a credible tool for busy decision makers. Secondly, parameterized stored processes are used as the data sources for a parameterized dashboard. The parameterized dashboard takes advantage of Flash to give the end user a highly interactive experience, while the stored processes deliver real analytical insight and therefore real value proc sql, sas enterprise guide, bar chart, proc step source 12
139 Introducing PROC PLM and Postfitting Analyses in Very General Linear Models Randy Tobias,
Weijie Cai
SAS/STAT software provides many powerful methods to fit general linear models with complicated effects. Some SAS/STAT procedures also enable you to estimate, test, compare, or plot functions of the estimated parameters. Such postprocessing can be as straightforward as predicting responses for given observations, or as complex as plotting multiplicity-adjusted comparisons of LS-means. In the past, extensive postprocessing facilities have been limited to a few procedures, such as the GLM and MIXED procedures. This paper discusses how the PLM procedure, new in SAS/STAT 9.22, works in conjunction with a new STORE statement in many familiar SAS/STAT procedures to provide a full complement of postprocessing features for a wide spectrum of linear models. Y ou can save the model fit information in any one of a dozen procedures and use it later in PROC PLM to perform new tests and analyses on the fit model proc step, proc plm, sample, f-test, logistic distribution, proc genmod, proc glm, least squares mean, proc logistic, regression analysis, response variable source 18
140 Introduction to SAS Risk Management for Banking Austin Trippensee This paper introduces a new solution from SAS, SAS Risk Management for Banking. This solution has been designed as a comprehensive and integrated suite of quantitative risk management applications that cover market risk, credit risk, asset and liability management, and firmwide risks in one solution. The solution leverages the underlying SAS 9.2 platform and the SAS Business Analytics Framework to provide users with a flexible and modular approach to risk management. Users can start with one of the predefined workflows and then customize or extend the functionality to meet its ever-changing risk and business needs. The introduction of SAS Risk Management for Banking will take the industry's standards to a higher paradigm for analytics, data integration, and risk reporting sas risk, credit risk, market risk, stress testing, sample, correlation, economic capital, enterprise risk, interest rate, liquidity risk, sas risk engine, monte carlo, covariance source 8
141 Investigating the Impact of Medicare Part D on Diabetes Medications Using SAS Enterprise Miner and Survival Analysis Xiao Wang The purpose of this paper is to examine the influence of Medicare, Part D on diabetes medications since its introduction in 2006, with the prescribed medicines data from the Medical Expenditure Panel Survey collected by the Agency for Healthcare Research and Quality. In this paper, Summary Statistics, Kernel Density Estimation and Survival Analysis in Base SAS and SAS/STAT were used. The association analysis and the text mining analysis in Enterprise Miner were also utilized. Before that, SAS SQL, some SAS DATA STEP procedures or functions such as the TRANSPOSE procedure were used to preprocess the data. Summary Statistics show that Medicare, part D increases the average Medicare payment for diabetes medications from $20 in 2005 to $130 in 2006. The kernel density estimation demonstrates that in 2005, the male beneficiaries pay more for the drugs, metformin and glyburide, while the female beneficiaries spend more on insulin and supplies survival analysis, proc step, proc sql, create table, probability distribution, data mining, health insurance, likelihood function source 13
142 It's All about Variation: Improving Your Business Process with Statistical Thinking Robert N. Rodriguez This paper explains how statistical thinking and statistical process monitoring, which have been practiced in manufacturing for the past thirty years, are proving valuable for process improvement in business environments that range from health care to financial services. Basic examples drawn from real scenarios introduce the statistical concepts and show how to get started with SAS/QC software. The concepts also apply to complex systems that involve large volumes of multivariate data with multiple sources of variation. The examples demonstrate the use of graphical displays, created with ODS Statistical Graphics, for visualizing and analyzing the variation in a process and for explaining results to clients and management phase i, phase ii, proc step source 18
143 Ive Got the Styles You Need Bob J. Hull The TEMPLATE procedure is used to modi fy the layout of the output to create a neat, consistent, useable output file. The problem is that the TEMPLATE pr ocedure has a great deal of language elements and the user is just trying to fix the output and get back to work. While there are great papers on learning and using the TEMPLATE procedure, having someone give you their completed template that so lves your problems can be a wonderful thing. I'm going to do just that. I will give you Styles created from PROC TEMPLATE that meet CTD requirements as well as a few other styles that are either useful or fun. This paper will focus on the implementation and selection of styles proc template, proc step, pharmaceutical industry source 4
144 Kick Start with ODS Erik W. Tilanus,
Ellen Lokollo
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 corr, proc template, output delivery system, proc print, ods html, proc sgplot, file statement, correlation, sas output, by group processing source 10
145 KML Macro: Integrating SAS and Google API and Its Application in Mapping Manitoba's Health Data on Google Earth and Google Map Mahmoud Azimaee Google API allows developers to overlay their own customized maps on Google Earth and Google Map. It means that it is possible to colorize a map based on an estimated or known measure. This requires putting the geographical coordinates along with statistical data together in a specific XML file format called KML. This paper introduces KML macro (written by the author) that uses SAS to quickly and easily create such a file in one step by a SAS user who does not need GIS knowledge or additional software. Also, it will be shown how to create an appropriate coordinates file for this macro in SAS format. This paper also provides a coordinate SAS data file for the province of Manitoba broken down by Regional Health Authority districts. An application of this macro in mapping health research data, results of a research project done and delivered by Manitoba Centre for Health Policy (MCHP) will be presented on Google map and Google Earth standard deviation, dataset, txt, macro definition source 15
146 Kyobo Life: Building Scoring Models to Bring an Analytic process to support End-to-End Risk Management. Young-Gon Kim source 32
147 Lessons Learned from a BI Installation Faron Kincheloe After implementing and maintaining a data warehouse for over 6 years, Baylor University installed SAS Enterprise BI Server and migrated all of its warehouse content to the Business Intelligence ( BI) platform. This paper will discuss the process that was used for the migration and lessons learned along the way. Among the topics covered will be project management, security, user acceptance, training and backups data warehouse, business intelligence, internal audit source 7
148 Let SAS Do the Work: Correlation Crossroads Theresa Gilligan,
Cheryl Coon,
Lauren Nelson,
Lori D. McLeod,
Yung-Jui Yang
Patient-reported outcome (PRO) studies often require correlation analyses using multiple variable types. Producing tables that contain Pearson, polychoric, and polyserial correlations for ordinal and categorical variables is challenging in Base SAS. This paper introduces a SAS macro called %PROCORR that routes variables to the appropriate correlation computation. The macro also identifies the appropriate output statistics for each type of correlation and creates a report-ready table. The analyses and output discussed were created with Base SAS Version 9.2 software and apply to analysts with macro experience correlation, ordinal variable, interval variable, sample, pearson correlation, macro call, macro variable, macro function, sas base, sample size, proc step, macro loop, macro definition, work library, %if-%then-%else source 18
149 Listening to the Twitter Conversation Russell Albright,
Ravi Devarajan,
Richard Foley
Twitter, with its short texts and large number of users, zero cost of entry, and open API, has become a social media phenomenon providing an inexpensive way to connect with customers, increase brand awareness, improve product development, and gather competitive intelligence. The key, to take advantage of this information, is to understand the Twitter conversation: who are your influencers; what are they saying when they talk about you; who should you follow based on what they talk about. This paper discusses the use of text mining, visualization, and the HTTP Procedure to provide a complete understanding of the Twitter conversation proc step, proc http, proc freq source 8
150 Look Before You Leap A Technique to Simulate a Look-Ahead Function Leonard E. Landry In base SAS programming there is a ve ry useful function called LAG whic h allows a SAS program to reference previous values of a SAS program variable. Wouldn't it be wonderful if a similar function were available to look ahead at the value of a dataset fiel d in the next observation. There is no such function available but with some simple programming logic a "look ahead" functionality can be achieved. This paper will describe a technique that can be used to achieve this set statement, _eof_, data step source 5
151 Look What's New in SAS/ACCESS: New Engines and SQL Optimization Howard Plemmons Jr. The "What's New" paper for SAS/ACCESS highlights new product development and new development in existing SAS/ACCESS products and components. This paper highlights new engine development efforts, which include new SAS/ACCESS products-SAS/ACCESS Interface to Aster nCluster, SAS/ACCESS Interface to Greenplum, and SAS/ACCESS Interface to Sybase IQ. Significant development efforts in existing SAS/ACCESS products and components are also highlighted, including SAS/ACCESS Interface to DB2 on z/OS and the PC Files Server component of SAS/ACCESS Interface to PC File Formats on Windows proc sql, dataset, proc step, db2 access, libname statement, sas library, sas function, proc append, create table, load, implicit sql pass-through, sas log, create view, drop table, sql pass-through, proc export, excel source 16
152 Lowering the Cost and Risk of SAS Solution Integration with SAP: SAS Solution Adapters Raghavender Mangaraju,
Nancy Bremmer
The ability to transform your SAP Enterprise Resource Planning (ERP) business data into SAS Business Intelligence and Analytics can be your company's best hope for lowering the cost of an implementation. Your IT organization needs to build a data warehouse; populate it with complete, consistent, accurate, and current data from multiple SAP tables and modules; and make that data available to SAS analytical and BI applications. Perhaps you're still hand-coding individual data integration and warehousing processes. This is a costly, error-prone practice that devours IT time and resources as developers reinvent the wheel every time they want to extract, transform, or load data into SAS. The SAS Solution Adapters enable the extraction of data from SAP systems by providing flexible quick-start ETL templates that contain predefined extraction, change data management, and standardization of SAP data so that it can be seamlessly provided to SAS Solutions data warehouse, data cleaning source 9
153 Macros Made Easy (and More Efficient) with SAS Enterprise Guide 4.2 Prompts Kenneth Sucher SAS Enterprise Guide 4.2 is the newest version of the front-end Windows client that provides a point-and-click interface to access and analyze your data in SAS. Longtime users of SAS, especially those who already take advantage of macro processing, might shy away from SAS Enterprise Guide, seeing it as a tool for novice users or useful only for creating a stored process. This paper focuses on macro processing use (called "prompts" in version 4.2) inside the SAS Enterprise Guide environment. I intend to demonstrate some advanced techniques that are not only very practical, but only possible in the SAS Enterprise Guide environment. Topics covered include: creating and using prompts in tasks and queries, multiple value and range prompts, running tasks conditionally, and adding run- time prompts to a user's own code sas enterprise guide, macro variable, missing value, proc step, user-defined format, proc sql, macro call, sas enterprise guide project, macro definition, numeric variable, proc format, char., macro function, &variable, where statement source 24
154 Make Your SAS Code Environmentally Aware Clarke Thacher SAS global macro variables and operating system environment variables contain a wealth of information that can be used to add extra power to your SAS programs. This information can be used to add additional diagnostic information to your logs and add customization to reports. We will demonstrate a simple program to access all current operating system variables. We will describe some of the most common variables and suggest how they might be used. As an added bonus, we will show how to define SAS LIBNAMEs without writing a single line of SAS code macro variable, error message source 7
155 Managing Clinical Data Standards: An Introduction to SAS Clinical Data Integration Michael Kilhullen As the adoption of industry data standards grows, organizations must consider how to effectively implement and manage data standards across a large-often global-user base. SAS Clinical Data Integration is built upon a centralized metadata repository that is ideal for centrally deploying and managing data standards. Built on SAS data integration technology, it provides a visual and metadata-driven environment that facilitates the conversion of data to standard formats while collecting more detailed information about the decisions you make during this process. SAS Clinical Data Integration provides specialized interfaces that further leverage the metadata to help you more effectively work with and manage clinical standards data standard, data cleaning, clinical data source 10
156 Managing Data Quality in Many Sectors: Healthcare, Tax, School, Environment Paola Leproni Since 1977, CSI-Piemonte has promoted innovation in local public administration through the use of the most modern information technology and Internet tools. T hanks to its contributions, the Piedmont Region ope rates on the Italian and international scene as an integrated ad ministrative system equipped with the necessary tec hnological infrastructure. With nine offices operating in the region and 54 consortium members, CSI is one of the largest Italian ICT operators in the public sector. This presence o n the territory simplifies the communications with organizations, citizens and enterprises and enables it to offer si mple, efficient services contributing to re-launch the regional economy. In 2003, CSI-Piemonte decided to implement a Busine ss Intelligence Competency Centre in SAS 9 business intelligence, normalization, reference data, data cleaning source 10
157 Mashups Can Be Gravy: Techniques for Bringing the Web to SAS Jack E. Fuller A mashup is an agglomeration of disparate content. While popular terminology tends to associate mashu ps with web-based data, physician John Snow demonstrated an early example of mashing content in 1854 when he identified the source of a London cholera outbreak by mapping cholera patients with their water source s. The guilty culprit turned out to be an infected water pump han dle in Soho. Web based mashups have transitioned f rom metasearch engines like Dogpile and Webcrawler to Google maps detailing winery tours and public res trooms to Yahoo! Pipes which allows users to define thei r own mashups SAS has long facilitated moving information from S AS to the Web. This paper will explore mashup tech niques for enabling the movement of information in the other d irection: from the Web to SAS web service, filename statement, txt source 11
158 Measuring Nursing Home Quality - The Five-Star Rating System Christianna S. Williams,
Louise S. Hadden,
Edward Mortimore,
Frank Nagy,
Michael Plotzke,
Alan White
Since 1998, the U.S. Centers for Medicare and Medicaid Services (CMS) has maintained a website, Nursing Home Compare, which provides detailed quality information about every certified nursing home in the country. In December 2008, CMS greatly enhanced the usability of the website by adding an easy-to-understand 5-star rating. Each nursing home receives one to five stars based on performance in each of three key quality dom ains (health inspections, reported staffing levels, and quality measures derived from mandated assessments of resident health and well-being) plus an overall quality rating. Calculati on of ratings requires integration of information from both facility and resident- level data sources. SAS was used extens ively in analysis to support the developm ent of the rating system, and it is currently used to process data to refresh the ratings each month, based on newly collected data in each domain dataset, macro variable source 12
159 Migration from SAS 9.1.3 to SAS 9.2: Practicalities of the Automated Tools Diane Hatcher As a follow-up to last year's paper, "Migration from SAS 9.1.3 to SAS 9.2 - An Overview", this paper looks specifically at the automated tools to support your migration of the platform for SAS Business Analytics from SAS 9.1.3 and SAS 9.2. We will take a closer look at the SAS Migration Utility and how it's used with the SAS Deployment Wizard. By understanding the roles, capabilities, and limitations of these tools, you can plan for a smooth migration initiative that will get your SAS 9.2 environment up and running in the shortest amount of time data mining, credit migration source 10
160 Modeling Systems and Resources with SAS Simulation Studio Edward P. Hughes,
Phil Meanor
Discrete event simulation is used to model and investigate systems with complicated mathematical and logical relationships that make analytical solutions impossible-o ften featuring significant random elements and events. Simulation, one of the most widely used methods in operations research, captures these random elements to enable you to study system performance under varying conditions and configurations. It is employed in a wide variety of fields including manufacturing, customer service, and health care. SAS Simulation Studio is a graphical discrete event simulation application, available as part of SAS/OR software and also as an add-on module for JMP software (as SAS Simulation Studio for JMP). Resources form a critical element of almost all simulation models. These might be unmovable resources such as large manufacturing machinery, classrooms, or treatment rooms in a hospital-or they might be movable resources such as physicians and nurses, portable equipment, or vehicles source 9
161 Modeling the Severity of Random Events with the SAS/ETS SEVERITY Procedure Mahesh V. Joshi The new SEVERITY procedure fits probability distributions for the severity (magnitude) of random events. Important examples include events with negative impact (such as the distribution of losses claimed under insurance policies, the magnitude of damages caused by natural disasters, and the severity of outbreaks of a disease) and events with positive impact (such as order sizes for products characterized by intermittent demand). The SEVERITY procedure can use any of eight different parametric families of probability distributions. If these eight built-in distributions are not sufficient for your problem, then you can extend the SEVERITY procedure to support any parametric family by specifying its CDF and PDF functions with SAS programming statements and the FCMP procedure. The SEVERITY procedure can model the effects of exogenous variables on the severity of an event. It can also model censored or truncated data, which is an important feature, especially for insurance problems estimate, proc step, likelihood function, probability distribution, insurer, proc fcmp, feature selection, regression analysis source 20
162 More than Models: The Data Mining Team Stephanie R. Thompson Gathering data from various sources, preparing it for modeling, imputing, partitioning, testing various models, choosing the best, presenting it to y our boss, then failure? Data mining is about more than just variables and models. Developing an understanding of each variable may take more than just running some summary statistics and deciding if it is ordinal or nominal. The need for comprehension is even more critical when the data you use are from different areas of the organization. Putting together a group of subject matter experts in the early phases of a data mining project can make a big difference in the outcome of your project. They can help you eliminate extraneous or duplicative variables and put other s in context to help you better understand and interpret results. This paper will discuss how subject matter experts can aid in data mining using examples from several actual projects. Learn how to leverage the knowledge to derive a better data mining, character variable source 6
163 More Ways to Use SAS to Manage, Monitor, and Control SAS and the SAS BI Server: Tools for the SAS User, Server Administrator, or Manager LeRoy Bessler This paper adds two tools to last year's kit. The CPUmon tool sends emails to the SAS server user, with CC to the administrator or any other designee, whenever the user's SAS process exceeds a CPU time threshold and sends a further email to the user whenever a set CPU increment is exceeded. The LogTimer SAS user macro puts in the SAS log the elapsed time and CPU time consumed between invocation with parameter Start and End. Without it, SAS provides only step-level numbers and a DATETIME for start of a Display Manager or SAS Enterprise Guide session. Code resubmission does not change that DATETIME. SAS 9.2 system option FULLSTIMER adds a step-end DATETIME in the log. The LogTimer macro does not require the option and works in all current SAS versions. The 2009 predecessor to this paper, whose content is included here, met other needs. The 2009 tools answered questions for the administrator or manager of the server cpu time, sas enterprise guide, sas log, elapsed time, if-then-else, macro loop, dataset, sas management console, macro definition, batch job, %if-%then-%else, proc step, lookup source 19
164 New Dogs and Old Tricks Part II: Using the SELECT statement and FLAGS to Streamline your Code Stanley E. Fogleman Complex logic can make a program difficult to comprehend, analyze and maintain. Using the BASE language SELECT statement can provide a "Skeleton" for a well structured program. In addition, using FLAGS (a variable with only two possible values TRUE or FALSE) can make it easier to understand why a certain branch was taken. FLAGS can compartmentalize complex decisions to one area of the program and make later modification easier to locate and implement select, if-then-else, proc sql source 4
165 Next-Generation DATA _NULL_ Report Writing Using ODS OO Features: A Powerful Tool to Create Custom Tables Alice Li,
Jacob Jen-Hao Cheng
The ODS report writing interface feature is in preproduction for SAS 9.1.3 and later, presenting an object-oriented (OO) language fully integrating all capabilities of ODS and taking advantage of the rich programming features offered by DATA STEP. This paper provides an example of how this new technique can be used to create a complex table. Even users new to report writing will find this technique easy to use while offering a high degree of flexibility and control execution phase, macro variable source 12
166 Nonlinear Optimization in SAS/OR: Migrating from PROC NLP to PROC OPTMODEL Tao Huang,
Edward P. Hughes
PROC OPTMODEL, the flagship optimization procedure in SAS/OR software, is also intended to supersede PROC NLP in the long run for nonlinear optimization. The rich and flexible PROC OPTMODEL syntax enables natural and compact algebraic formulations of nonlinear models. In addition to supporting the major legacy algorithms present in PROC NLP , PROC OPTMODEL has access to powerful new algorithms that can solve large-scale problems and handle nonlinearity more robustly. These new algorithms exploit sparse structures and implement the state-of-the-art techniques in numerical optimization. In addition to benefiting from ease of modeling and access to improved algorithms, PROC OPTMODEL users can use its programming capabilities to develop customized solution methods. PROC OPTMODEL has many features that make it an excellent replacement for PROC NLP not only for operations research practitioners but also for statisticians, econometricians, and data miners proc step, odds ratio source 21
167 Not Hazardous to Your Health: Proportional Hazards Modeling for Survey Data with the SURVEYPHREG Procedure Pushpal K. Mukhopadhyay The Cox proportional hazards model is widely used in practice to estimate the effects of covariates on survival function. The SAS/STAT PHREG procedure is a long-standing workhorse for performing regression analysis for event-time data based on the proportional hazards model. However, special techniques are required when the subjects are selected through complex surveys with stratification, clustering, unequal selection probabilities, or any combination of these. This paper introduces the SURVEYPHREG procedure, a new SAS/STAT procedure for finite population inference for the Cox proportional hazards model for complex surveys. PROC SURVEYPHREG maximizes a weighted partial likelihood to estimate the model parameters, where the weights are the inverse of the selection probabilities likelihood function, maximum likelihood estimation, regression analysis, proc step, proc phreg, sample source 13
168 ODS ExcelXP: Tag Attr Is It! Using and Understanding the TAGATTR= Style Attribute with the ExcelXP Tagset Eric A. Gebhart The ODS ExcelXP tagset has many options to change its behavior. Many are set with the options in the ODS statement. There are others that must be set through the style. Most of these are set in the TAGATTR= style attribute, an unused, leftover attribute from SAS Release 7.01. This paper will show how to use the TAGATTR= style attribute to control the ExcelXP tagset in order to change the type, format, formula rotation, hiding, merging, and wrapping of cells, rows, and columns. This paper will also go behind the scenes to show how the tagset handles these settings and manages the problems presented by the XML that the tagset must create excel, proc print, proc step, output delivery system source 22
169 ODS HTML Evolution, HTML that scrolls, panels, floats, Reads, and Integrates. Eric A. Gebhart The ODS HTML destination has been around a long time and has gone through a number of changes. There are numerous flavors of HTML that can be generated using from TAGSETS available, but it can be frustrating when you want the features of two or more different TAGSETS. There are HTML TAGSETS with scrolling, paneling, and floating tables of contents, There are Web site-enabled TAGSETS that allow the insertion of JavaScript. There are even a few options that can control Section 508 compliance. This paper will show an HTML tagset that combines these many features into one tagset and then illustrates how to use it ods html, output delivery system, macro variable, proc standard, sas output, proc step source 19
170 Once You "Know" SAS... How to Keep Learning SAS Brenda Beaty The world of SAS is an ever-expanding, ever-changing one. With each new release come new features and new capabilities. To keep up programming skills, SAS users need opportunities both to learn SAS and to keep learning SAS. This paper outlines various methods to acquire and update SAS knowledge, including users groups, Web resources, listservs and other opportunities regression analysis, sas enterprise guide source 4
171 Optimizing Revenues in the Hospitality and Retail Industries: Comparing and Contrasting Different Industry Problems and How SAS Analytics Is Used to Solve Them Alex Dietz,
Kelly A. McGuire
With the acquisition of IDeaS by SAS in 2008, SAS now offers advanced revenue optimization solutions for both the retail (SAS Revenue Optimization Suite) and hospitality industries. This paper will explore the similarities and differences in the business problems and the solutions. Specifically, we will explore how different ownership and management structures impact the solutions, how different industries approach the problem of market segmentation to maximize profitability, and how SAS uses analytics to solve these very complex estimation and optimization problems. Finally, we will explore how pricing in these industries is changing, and how SAS is using the knowledge gained in solving these different problems to keep up with those changes revenue management, rate plan, time variable source 12
172 Performance Impact of Virtualization on SAS Foundation Ken Gahagan Virtualization is a hot topic in the industry. Potential benefits of virtualization include increased utilization of hardware, reduced power and cooling costs, reduced management costs, increased manageability of the computing environment, and reduced capital expenditures. This paper compares and contrasts the relative performance impact of architectural decisions and empowers the reader to make informed decisions with respect to running SAS in a virtualized environment proc step, txt source 9
173 Personalized Web Reports in Style: Tweaking SAS ODS, Tagsets, and CSS to Get the Output Right Ingo Liebhardt This paper aims to present a solution for a scenario wherein a vast amount of less experienced users (e.g., heads of sections) are to be provided with Web reports that are personalized in the sense that each user automatically obtains data for those business units lying within his or her responsibility. The layout of these reports, on the other hand, should be common to all users and fully aligned to the styling of the remainder of the organization's intranet. We obtain this type of report by using SAS Stored Processes, by overwriting parts of the predefined SAS tag sets, and by extensively adding identifiers and classes to the HTML output. The optical appearance is thereafter defined by means of cascaded style sheets macro variable, dataset, proc step, proc sql source 8
174 Physician Practice Pattern Variation: Using Data Mining and Predictive Modeling to Identify and Control Costly Treatment Patterns David C. Ogden The Challenge: A major provider of health insurance wanted to identify which physicians (in their network) were providing excessively costly services and treatments for a given health condition (upper respiratory infections) and develop a business process to influence practice patterns in such a way as to control costs. The Solution: Using an innovative fusion of analysis-of-variance and predictive modeling, "expected costs" were calculated for each physician, based on member health, condition(s) being treated, and physician demographics. This allowed for an automated process to compare actual costs to expected costs, and to "red flag" physicians. The Outcome: $10 million in annual cost-control opportunity identified for a single condition (upper respiratory infections). Some Details: The big breakthrough in this area was to devise an approach to model the expected costs associated with treating a given condition (upper respiratory infections) sample, outlier, regression analysis, insurance claims source 12
175 Pleasing the Client: Creating Custom Reports with SAS ODS LAYOUT and the REPORT Procedure Barbara B. Okerson Through the Output Delivery System (ODS), SAS software provides a means for creating attractive, concise, and functional reports. Because ODS is an object-oriented (OO) technology, it provides the ability to move beyond template descriptions to creation of complete output layouts. PROC REPORT works with ODS to provide a completely customizable framework for presenting tabular data within the SAS system. The examples in this paper combine text, graphics, and tabular data to create health care management outcomes reports for the PDF destination. The examples in this paper were developed with version 9.1.3 of SAS executing on a Windows XP platform. The SAS features represented in this paper are not platform-specific and can be adapted by both beginning and advanced SAS users proc report, proc step, output delivery system, clinical endpoint source 9
176 Practicalities of Using ESTIMATE and CONTRAST Statements David J. Pasta One of the tasks that many analysts find daunting is the construction of ESTIMATE and CONTRAST statements. Admittedly, these can get very complicated, but if you start with simple examples and work your way to more complex situations it can help demystify the process. This paper provides practical guidance on how to code ESTIMATE and CONTRAST statements, especially when the group sizes are unequal. It includes an example of how to mimic the effect of the OBSMARGINS option on LSMEANS by using ESTIMATE statements. It also illustrates the use of the SYMPUT function to obtain the necessary ESTIMATE coefficients from the data "automatically." Concrete examples are used to help you learn many of the principles you need to successfully create ESTIMATE and CONTRAST statements. Some familiarity with linear models is essential, but you do not need experience with any specific SAS procedure. The emphasis is on the practical, not the theoretical: no Greek letters! macro variable, proc genmod, least squares mean, proc calis, estimate, proc step, p-value, regression analysis, proc glm, proc mixed, nominal variable, response variable, standard deviation source 20
177 Predictions of Infection and Their Accuracy Patricia B. Cerrito,
John C. Cerrito
Given the recent occurrence of swine flu, many predictions have been made concerning future occurrence. In particular, a strong Fall 2009 outbreak was predicted, motivating the development of a swine flu vaccine to be distributed prior to this predicted onslaught. This is reminiscent of a swine flu scare that occurred in 1976, again predicted as a pandemic. Approximately 25% of the population was vaccinated when there were approximately 200 cases of swine flu in a relatively restricted geographic area. As it turned out, there were some serious side effects from the vaccine, especially Guillain-Barre syndrome that ultimately halted the distribution of the vaccine. No prediction can be accurate if the basic model assumptions and probability of risk are not accurate. In particular, the initial rate of growth of the infection determines the predicted spread of the epidemic. We will demonstrate how data and SAS can be used to make accurate predictions concerning infections and pandemics likelihood function, sample, adverse events source 13
178 Preventive Reporting Is Better with a Multi-label Format Sunil Kumar Gupta,
Deepak G. Asrani
proc step, proc format source 7
179 Principles of Proper Inferences from Complex Survey Data Taylor Lewis This paper discusses commonly-encountered features of complex survey datasets that should be accounted for by employing the SURVEY family of SAS procedures. Concepts of clustering, stratification, unequal weighting, finite population corrections, and replication variances approximation methods new to SAS 9.2 will be presented. Potential pitfalls will be highlighted as will a few methods to trick SAS into performing techniques not yet available, such as DOMAIN analysis under replication variance approximations sample, proc calis, proc step, proc surveymeans, degrees of freedom, finite population correction, binary variable, sample size, sas programmer source 9
180 Proactive Management (Or Proactive Decisions) Johan Nordin This paper discusses the evolution of Volvofinans Bank's daily operational business with analysis and proactive decisions. Volvofinans worked to define its vision and make strategic decisions that helped the bank create a roadmap for achieving its operational goal. A key to achieving this goal is consolidating business intelligence with all of its business data, which helps the organization to make better business decisions. Volvofinans is using a Common Information Model to control its risk, budget and planning, customer relationship management, and anti-money laundering solutions business intelligence, aml source 2
181 PROC COMPARE - Worth Another Look! Christianna S. Williams PROC COMPARE is one of those workhor se procedures in the Base SAS clos et that deserves to be dusted off, tuned up and pressed into service again! With well-c hosen PROC COMPARE options and statements, you can compare pairs of SAS datasets at mult iple levels without the need for DA TA step MERGEs or SQL JOINs. Specifically, you can identify differenc es and similarities across SAS data sets with respect to: data set attributes; variable existence and attributes; existence of matching observations; and variable values (at user-specified levels of precision). This handy PROC can even be used to compar e values of one variable to another within a dataset. Additionally, several different reporting options are avail able and can be customized to project needs proc compare, proc step, missing value, character variable, dataset, numeric variable, sas base source 23
182 PROC DATASETS: The Swiss Army Knife of SAS Procedures Michael A. Raithel The DATASETS procedure provides the most diverse selection of capabilities and features of any of the SAS procedures. It is the prime tool that programmers can use to manage SAS data sets, indexes, catalogs, etc. Many SAS programmers are only familiar with a few of PROC DATASETS's many capabilities. Most often, they only use the data set updating, deleting, and renaming capabilities. However, there are many more features and uses that should be in a SAS programmer's toolkit. This paper highlights many of the major capabilities of PROC DATASETS. It discusses how it can be used as a tool to update variable information in a SAS data set; provide information on data set and catalog contents; delete data sets, catalogs, and indexes; repair damaged SAS data sets; rename files; create and manage audit trails; add, delete, and modify passwords; add and delete integrity constraints; and more dataset, proc step, constraint, audit trail, run, key, libname statement, foreign key, sas library, sas programmer, modify statement, proc datasets, sas log, proc contents, proc sql, attrib statement, data integrity, proc append source 25
183 PROC GEOCODE: Now with Street-Level Geocoding 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 software included PROC GEOCODE to simplify this process for you. By popular demand, the third maintenance release of SAS 9.2 will add street-level geocoding. Street-level geocoding converts street addresses to locations. This paper will review the current capability of this procedure and cover the new street-level geocoding capability proc step, dataset, sample, autocall macro source
zip
16
184 Providing a Central IT Platform for the Irish Statistical System: Implementing SAS Business Intelligence in the Central Statistics Office, Ireland Edward Lambe In 2008 the Central Statistics Office, Ireland (CSO) moved to centralise statistical processing within the office to the SAS Enterprise Business Intelligence (SAS BI) platform. This paper outlines the IT and organizational decisions made within the CSO to deliver the solution to the office. The paper discusses the key technical decisions made when providing the solution, focusing on data storage and management, provision for multi-location offices, choice of operating system, user and data security, and IT staffing. The paper also discusses the methods used by the SAS BI implementation team in promoting the benefits of the SAS BI platform at an organizational level. Here we look at the use of workshops and feature presentations, prototyping, end-user training and migration planning data governance, sas enterprise guide, excel, sas base source 16
185 Purrfectly Fabulous Feline Functions Louise S. Hadden Explore the fabulous feline functions and calls available in SAS 9.1 and later. Using CAT functions and CAT CALLs gives you an easier way to streamline your SAS code and facilitate concatenation of character strings. So, leave verbose coding, myriad functions, and the vertical bar concatenation operators behind! SAS 9.2 enhancements will also be demonstrated sas log, character functions, cpu time, proc contents, proc step, length statement source 15
186 Quality Outcomes and SAS: Structuring, Managing, and Working in Programming Groups Based in SAS Joe Perry Compliance with programming standards is part and parcel of managing or working a programming group; whether a C++ or SAS based group. Managers and programmers find themselves in a constant struggle to find the proper balance between too much and too little structure, between enough direction and oversight but not too little, nor too much. To obtain quality products or services, programming groups have a wide array of structures in place like: policies, work practices, reporting relationships, personnel and quality practices designed to produce these quality work products. These system structures, when properly designed, and with proper oversight and control result in win-win situations and everyone wins: programmers, management and their customers sas programming, quality control source 7
187 Rapid Predictive Modeling for Customer Intelligence Wayne Thompson,
David R. Duling
Business analysts often need to develop campaigns based on predictive models to select which customers to target. The models often need to be developed in a short amount of time without always relying on a statistician. For these cases, SAS has developed the SAS Rapid Predictive Modeler for use by customers of SAS Enterprise Miner. SAS Rapid Predictive Modeler runs as a customized task in either SAS Enterprise Guide or the SAS Add-In for Microsoft Office. It automatically treats the data to handle outliers, missing values, rare target events, skewed data, collinearity, variable selection, and model selection. The results are presented in business terms as a simple-to- understand scorecard. The final model can be registered to the SAS Model Manager and deployed to either a SAS server or through a SAS Scoring Accelerator to a relational database. The presentation covers both the implementation and results from an example analysis data mining, sas enterprise guide, data cleaning, validation set, response variable, regression analysis, score code, training set, missing value, feature selection, sample, sas model manager, proc hpsplit, sas base, gain chart source 12
188 Recursive SAS Macro: A Fun Application John Zheng This paper describes a simple recursive SAS macro solution to 4×4(16 pieces) Eternity II, an edge-matching puzzle constrained by the requirement to match adjacent edges. By this fun macro solution, the concept of recursion and useful applications of recursive algorithm using SAS Macro is presented macro variable, macro definition, macro loop, %if-%then-%else source 10
189 Rediscovering SAS/IML Software: Modern Data Analysis for the Practicing Statistician Rick Wicklin For over 25 years, the SAS/IML programming language has been used by researchers and SAS programmers who write custom algorithms and analyses. Recently, SAS/IML Studio arrived with flashy statistical graphics, new language features, and the ability to call the open-source statistical language, R. If you are a longtime SAS/IML programmer, it is time to take a new look at the SAS/IML language. Recent language- features and functions make it easier than ever to program modern data-analytic techniques. If you have not used SAS/IML software before, it is time to discover how its high-level matrix-vector programming language can increase your productivity. This paper presents short programs that implement modern data analyses in SAS/IML software. These analyses include exploring outliers with regression diagnostics, robust estimation of multivariate statistics, bootstrap permutation tests, and calling functions in R that compute certain exact statistics bootstrap, proc princomp, histogram, trimming, proc step, proc iml, standard deviation, cook's distance, exact test, permutation test, covariance, sample, outlier, regression analysis, multivariate analysis source 18
190 Research in Agriculture Rogerio C. Traballi,
Ieda K. Makiya
This paper will describe research without SAS in Agriculture and then everyone could feel its better when using SAS data science, sample source 1
191 Reverse-Engineer a Reference Curve: Capturing Tabular Data from Graphical Output Brian P. Fairfield-Carter kaplan-meier plot, structured data, sample, data step, clinical research, pharmaceutical industry, proc gplot source 6
192 ROC Hard? No, ROC Made Easy! Kriss Harris ROC, Specificity, Sensitivity, Receiver Operating Curves, Graph Template Language, GTL, SGE, SGRENDER, confusion matrix, create table, proc sql, macro call, macro parameter, roc curve, proc step source 12
193 SAS 9.2 Business Analytics Framework and IBM PowerVM Virtualization Deployment Scenarios Darrell Barton,
Frank Battaglia,
Alfredo Mendoza
Over the past several years, virtualization has been a hot topic of much discussion by IT personnel as a way to reduce cost, improve utilization and responsiveness, and increase flexibility. Although server consolidation still remains the primary reason for using virtualization, application isolation and continuity are also discussed as other uses. This paper presents three use cases for deploying SAS Business Analytics Framework on IBM virtual environments when running on a POWER6 server. The information provided can serve as a guide for IT personnel in choosing the best virtual environment for their customer needs logistic regression, regression analysis, logistic distribution, correlation, likelihood function, proc genmod, proc glm, maximum likelihood estimation source 12
194 SAS Application Messaging: How to Integrate Disparate Processes in Your Service-Oriented Architecture Stephen A. Vincent SAS messaging interfaces can help you meet the challenges of integrating the processes in your service-oriented architecture (SOA). Messaging is a key component of SOA, and SAS application messaging allows you to leverage the power of SAS across the enterprise and beyond. SAS messaging works with various third-party message- oriented middleware (MOM) offerings, allowing loosely coupled processes to be integrated across many organizational boundaries. This paper demonstrates how to use SAS messaging interfaces and provides examples of sending and receiving messages, message queue polling, and publishing to a queue. Increase your return on investment by integrating more processes in your SOA with SAS messaging filename statement, infile statement, correlation, sysrc, macro variable, unique key source 13
195 SAS Arrays, Both Implicit and Explicit Carter Sevick In SAS, arrays can be defined with implicit or explicit subscripting. Current documentation only covers the explicit version and the implicit version is only supported for backward compatibility. This can cause problems for those tasked with the maintenance of legacy code. One can also find examples of recent conference proceedings in which implicit array coding is used. This paper will cover the syntax and basic usage of the implicit array. Additionally, several common array tasks will be presented in both forms. Familiarity with basic DATA STEP programming and array processing will be assumed do over, cpu time, proc step, array source 9
196 SAS Banking Intelligence Solutions Best Practices at CMBC Credit Card Center Yao C. Chengzhong The credit card market is booming in China. Most Chinese Commercial Banks are issuing CARDS as fast as they can. At CMBC we are facing the tradeoff between market growth and the associated market risk. Because of the large volume and potential risk, there is a need a robust and flexible architecture to manage the historical data model future scenarios. CMBC has designed a three layer architecture to address these business opportunities. This paper will first outline our business environment then touch on the three layer design to demonstrate its flexibility . CMBC is the first national joint-stock commercial bank primarily held by non-public-owned enterprises in China. As at June 30, 2008, CMBC had total assets of RMB 1,062.2 billion, net profit of RMB 6.046 billion, total deposits of RMB 760.404 billion, total loans of RMB 612.051 billion credit card, sas enterprise guide source 6
197 SAS Beyond Measure Jim Baker Your "work life" is a journey with diverging and converging pathways that require decisions about your career direction each step of the way. My journey includes the enlightenment discovered through others, through expanded learning, and through personal pathways of various degrees of difficulties. Multiple leadership characteristics and attributes require development and acknowledgement in order to become a successful manager and leader. In a quantitative world, it is easy to ignore the "softer" attributes required that are nearly impossible to define by metrics. This paper shares some of my experience transitioning from a series of technical programming positions through various levels of middle management to executive management. Primarily my career path followed a course in SAS programming focused groups and departments in the pharmaceutical and biotechnology industries sas programmer, sas programming source 7
198 SAS Business Intelligence A Technology for Register-based Censuses Rami El-Berry,
Christine Hallwirth
Any member of the United Nations has to carry out an entire national census between the years 2005 and 2014. While the demographic characteristics of the population in the still very widespread traditional census are determined by directly contacting citizens, the new kind of register-based census represents a radical shift in the way censuses are conducted, involving an entirely new set of tasks and problems. The basic principle of the new census process consists of the automated and anonymous matching of national registers to implement the comprehensive reporting necessary for each census. The current article describes an approach to the realization of the new census with the aid of SAS BI technology, which is based on the OLAP principle and thus covers various topics such as data integration, data quality, statistical matching, and, of course, classical data-driven reporting in this very innovative and dynamic environment sas enterprise guide, record linkage source 5
199 SAS Code Validation: L.E.T.O. Method Aaron J. Augustine Coders write abundant amounts of SAS code for ad hoc analysis. This code is not usually intended for use in a full scale production system, but it is still critical that it be validated. Specifically, the code should meet the necessary business requirements, be syntactically correct and have the output reviewed. What makes this challenging is coders must often do this without the benefi t of external testing/peer review and usually in a short time frame. This paper presents a method and checklist for reviewing your work that will ensure each of these points are covered. It is easy to remember and implement. The content presented here is n ot specific to any particular SAS platform or version. It is intended for beginning and intermediate SAS coders missing value, record count, sample, data cleaning, merge statement, proc step source 12
200 SAS Data and Macros on iPhone Sy J. Truong Apple iPhone has revolutionized mobile computing, taking smart phones to the next level by obtaining about 70 percent of the application downloaded with 3 billion total downloads of 140,000 applications. All major websites such as Google, eBay and Amazon have their services available as an "iPhone app" rather than having the user go to a web browser. The iPhone applications add a new dimension to the user experience by leveraging on traditional client computing features of a web browser, but new features are added such as the ability to know where the user is, voice communication, multi touch screen interface, accelerometer along with a multitude of custom applications that raise the bar beyond web 2.0. SAS has been an analytical business intelligence powerhouse for many years; yet it is a relative late comer to this mobile computing revolution. This paper demonstrates how a SAS dataset can be viewed on an iPhone macro definition, macro parameter, business intelligence, dataset, sas analyst source 11
201 SAS Data Integration Studio Tips and Tricks Christopher R. Olinger,
David Kratz
Anyone who has used SAS Data Integration Studio to process and transform data has invariably said to themselves "is there another way to do the things that I want to do?" SAS Data Integration Studio is great at certain tasks such as standard transformations, visual representations of code, and impact analysis. However, it can be tricky to perform some industry standard tasks such as writing jobs that can be promoted and configured through external options files, loading metadata from non-supported external sources (such as EXCEL), and managing macros. This tutorial will explore some of the work-arounds that we have come to rely on while using the application. We will also explore the latest version of SAS Data Integration Studio to see if any of our pet peeves have been fixed macro variable, sas data integration studio, proc sql, data merging, excel source 32
202 SAS Data Integration Studio: Tips and Techniques for Implementing ELT Jeff Stander Are you looking to improve performance of your data integration processes? One best practice is to stage data inside the database and direct SAS to do its data integration work inside the database. Extract, load, and transform (ELT) is an increasingly popular way to minimize data movement and gain efficiencies using your existing database management system. This paper explains how to enable ELT processing using the newest features of SAS Data Integration Studio 4.21 and SAS/ACCESS proc sql, data merging, dataset, data integration, view, database function, proc step, sql pass-through source 16
203 SAS Enterprise Guide 4.2: Getting to Code You Andy Ravenna Both experienced and new users to SAS have a need for SAS Enterprise Guide to write and run their code. Experienced users are accustomed to entering all their code into the Program Editor window and simply clicking Submit. New users do not have this same set of expectations. However, both users will profit from the many features of SAS Enterprise Guide, such as modifying code that has been written by a task. This paper introduces SAS Enterprise Guide 4.2 to experienced and new users of SAS who need to code. It focuses on the key points of a session involving coding: creating a project; accessing your data; writing, modifying, and storing your code. It also answers several common questions for SAS coders, such as "How do I write a LIBNAME statement in SAS Enterprise Guide?" and "How can I get to the code from a task and make changes to it?" Attendees receive enough information that they can return to the office with the confidence to start coding with SAS Enterprise Guide sas enterprise guide, proc step, proc print, libname statement, proc report, proc transpose, excel source 33
204 SAS Enterprise Guide: It's for Programmers Too! Marje Fecht,
Rupinder Dhillon
Have you been programming in SAS for a while and just aren't sure how Enterprise Guide can help you? It isn't just a pretty face! This presentation will demonstrate 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 navigating the views and menus using SAS Enterprise Guide to access your existing programs and enhance your processing leveraging the more complex built-in capabilities ava ilable in SAS Enterprise Guide to further enhance the information you deliver using Report Builder (new to Vers ion 4.2 of SAS Enterprise Guide) * adding Project Prompts and dynamic pr ompts, to generalize the usability of your programs and processes. We will also share best practices for working in a server environment. Version 4.2 of SAS Enterprise Guide will be used sas enterprise guide, bar chart, sas programmer, excel, dataset, sas log, proc print, macro variable, work library, proc step, temporary dataset source 19
205 SAS Enterprise Guide: The Self-Service Environment for Reporting and Analytics Henri Theuwissen With the ever-increasing demand for timely business intelli gence, business analysts require simple tools for reporting and analytics, which liberates IT. SAS Enterprise Guide provides a point-and-click interface to the full power of SAS. It provides a broad set of 'out- of-the-box' tasks for reporting and analysis. It eliminates progr amming time, so users can concentrate on their core job. Advanced users can include their existing SAS programs in the process flow generated by SAS Enterprise Guide in order to generate a customized job sas enterprise guide, dataset, file statement, excel source 24
206 SAS for Green Energy Solutions in Smart Electric Grid Systems Farhad Islam This research paper proposes a data-analytic approach for making optimum utilization of solar energy generated by solar photovoltaic panels to reduce peak demand on advanced electric grid systems. The proposed best practices of using renewable energy would require less investment in additional carbon-fired (e.g., coal) power plants resulting in less carbon emission, and contributing to a cleaner environment for our future generations proc reg, regression analysis, response variable, estimate, proc step, correlation source 10
207 SAS Gets Flexy: Themes You Cant Resist Amy Dull,
Sherry Parisi
Have you heard the news? SAS made a strategic decision to create its next generation of Web applications using the Adobe Flex platform. Flex is an open source platform designed for building rich Internet applications. There is also a Flex theme framework for coordinating colors, images, and text styling. Flex themes are integral to enhancing the overall SAS user experience. This paper explores how we developed a SAS corporate theme to create a stronger visual identity for the SAS product line. Two additional base themes allow customers to customize the SAS product line to meet branding needs, ensuring a unified look across the SAS suite sample, dataset source 17
208 SAS Maps as Tools to Display and Clarify Healthcare Outcomes Barbara B. Okerson Changes in healthcare and other industries often have a spatial component. Maps can be used to convey this type of information to the user more quickly than tabular reports and other non-graphical formats. SAS, SAS/GRAPH and ODS graphics provide SAS programmers with the tools to not only create professional and colorful maps, but also the ability to display spatial data in a meaningful manner that aids in understanding of changes that have transpired. This paper illustrates the creation of a number of different maps for displaying change over time with examples from the healthcare arena. Examples include choropleth, bubble, and distance maps and introduce the new GEOCODE procedures. Results included in this paper were created with version 9.1.3 of SAS on a Windows XP platform and use Base SAS, SAS/STAT and SAS/GRAPH. SAS Version 9.1 or later is required for ODS graphics extensions. SAS Version 9.2 is required for the DATAIMPORT and GEOCODE procedures proc step, proc rank source 8
209 SAS One-liners Stephen Hunt proc step, proc sql, imputation, clinical trial, macro variable, sysdate9, study day source 6
210 SAS Presents In-Database Base Procedures in Practice Scott Mebust,
Robert S. Ray
As part of the SAS In-Database Initiative, SAS has enhanced a series of Base SAS procedures (including FREQ, RANK, and SUMMARY/MEANS) to directly leverage descriptive statistical functions supported by our DBMS partners. These enhancements allow the procedures to drive work into the DBMS using SQL generation in order to greatly reduce or eliminate data transfer into SAS, while leveraging the scalability of parallel databases. This paper explains how you engage these capabilities in a SAS program, explains how you identify when and what kind of in- database queries are passed to the DBMS, and provides some best practices on effectively using them. The discussion will include how these in-database-enabled procedures work on multiple DBMS platforms such as Teradata, Oracle, and DB2 proc sql, in-database processing, proc rank, sas log, proc sort, proc step, class variable, proc freq, by group processing, group by, select, options statement, sas base, format statement, order by, where statement, variable list, standard deviation, missing value, libname statement, proc means, proc tabulate, sample, implicit sql pass-through, parallel processing, work library, ansi sql source 25
211 SAS Programmer's Paradise: New Goodies in SAS Enterprise Guide 4.3 Audimar Bangi,
Chris Hemedinger,
Stephen Slocum
Are you looking for a SAS development environment that actually helps you to write and manage SAS programs? It's here! This paper describes the many new productivity enhancements for programmers in SAS Enterprise Guide 4.3. There is a new program editor with syntax completion for hundreds of SAS procedures and statements, support for parentheses matching, built-in function help and disambiguation, program "tidy" functions, and more. There is also a SAS code analyzer that can read your program and turn it into a process flow, or modify it to optimize the program steps to run in parallel on a grid computing environment. The SAS Enterprise Guide project file now supports relative paths, making it easier to manage your projects, programs, and data in standard source management systems sas enterprise guide, sas programmer, sas log, macro definition, macro function, macro variable source 11
212 SAS Scalable Performance Data Server: Star Schema Support Daniel M. Sargent The release of SAS Scalable Performance Data Server 4.4 included SQL planner and execution optimizations for star schemas. This paper will cover important areas relevant to the SAS Scalable Performance Data Server star schema support: 1. basic concepts behind the star schema dimension table, fact table, star schema, key, where statement, foreign key, normalization, dataset, credit card source 12
213 SAS State of Mind: A Guide to Learning SAS for the Stata User Sarah J. Beck This paper is meant to assist those already familia r with Stata with a goal of learning SAS. Due to the wealth of macros already available and support for SAS there are many advantages to learning SAS over other analysis tools. Because SAS and Stata are very similar, if one is already familiar with Stata and can adjust their mindset around the conceptual differences, learning SAS can be done wi th relative ease. This paper contains the following: A comparison between the way SAS and Stata store a nd modify data. Important differences in basic SAS and Stata synta x. Coded examples of simple tasks in both SAS and Sta ta. A brief introduction to the SAS windows interface. The goal is to help the Stata user rely on their ex isting knowledge to more quickly and easily learn SAS. This document is intended to cove r only basic principles. Because SAS and Stata do share so many similarities, this p aper strives to highlight their differences missing value, sas output, retain, sas log source 9
214 SAS Style Templates: Always in Fashion Cynthia L. Zender The syntax for style templates changed in SAS 9.2 and became much easier to use. With the new CLASS statement, there is no need to debate the use of the STYLE statement versus the now defunct REPLACE statement. Yes, the REPLACE statement has gone away, and now we have the CLASS statement. In addition, you can import a CSS file into a SAS style template. All of these exciting new changes add up to stylish and fashionable output using ODS style templates. This paper provides an introduction into the use of style templates in SAS 9.2. Methods of determining the correct style elements will be shown along with several concrete examples of making style template changes. The use of the IMPORT statement will also be demonstrated. In addition to these topics, a job aid will be provided that outlines the most commonly used style elements and their attributes proc step, output delivery system, proc freq, proc report, title statement, ods pdf, proc template, ods html, options statement source 22
215 SAS System Options: The True Heroes of Macro Debugging Kevin Russell,
Russ Tyndall
It is not uncommon for the first draft of any macro applicat ion to contain errors. However, without debugging options, it is almost impossible to locate and correct all the errors in an application. Therefore, the first step in writing a macro application is to turn on the debugging options. This paper is intended for programmers at all levels who write macro code, and it concentrates primarily on three SAS system options that you can use to debug macros: MLOGIC, SYMBOLGEN, and MPRINT (our superheroes). In addition, this paper includes some less common options (the superhero sidekicks) that also display valuable informat ion in the SAS log. These options can help you determine the source of many errors that can occur when you program with the macro language macro variable, %if-%then-%else, options statement, macro loop, sas log, do loop, autocall macro, macro put, cpu time, macro facility, macro function, put statement, character functions, sample, data step, if-then-else, macro definition, macro quoting function source 12
216 SAS System Viewer Is Replaced by the SAS Universal Viewer Steven A. Wright The SAS Viewer has been a useful, free, but increasingly limited tool. It is free. It has bugs and limitations. Starting with SAS9, this tool often will be unable to access the default data tables. The Universal Viewer is a fresh take on a tool to fit this niche. Everyone will find that a number of the things this tools does are just right. It does not lock datasets. When filtering data, it will not return the converse when using missing values in the logic clause. To make your first impression to be the best it can be, you will want to be aware of a surprise or two missing value, dataset source 11
217 SAS Table Server and EG Project in Content Server: A Big Step Forward Gaurav K. Agrawal In order to design a well secured SAS BI Intelligence platform, an Architect has to think about SAS Metadata and even Host layer security also. SAS is very powerful and flexible to implement any kind of security model for SAS Metadata environment. However in order to implement the Host layer security architects are dependent more on the Host (UNIX/Windows) security model. A secured SAS environment needs a good amount of effort to be invested in order to secure UNIX/Windows host layer also. SAS 9.2 BI Intelligence Platform has taken a big step forward towards reducing the designing and maintenance effort required to secure host layer. SAS 9.2 has come up with new tool called SAS Table Server, which ease SAS Datasets host layer security in addition to lot of other features. SAS 9.2 also launched the concept to store SAS Enterprise Guide project in SAS Metadata server in order to secure the EG code/project also rather saving in host layer or LAN location during development sas enterprise guide project, sas enterprise guide source 6
218 SAS Web Report Studio Frederick E. Pratter For many users, the most common Web content will consist of SAS reports. These are dynamic views of a SAS information map. Once an information map has been constructed, it can be displayed as a table or chart (or both) in a multi-page report. Web reports are created using SAS Web Report Studio, a middle tier application that runs in a servlet container, that is, as a Web program. You do not need to have anything installed on your desktop except for Firefox or Internet Explorer. This paper will demonstrate how to create a complex Web report from SAS data or from an OLAP cube using the SAS Web Report Studio product in SAS BI Server 9.2 proc step, proc report source 18
219 Scaling the SAS 9.2 EBI Web Tier with Multiple Managed Servers and Server Clusters Scott C. Sweetland Exploring several concepts for scaling the SAS 9.2 EBI Web tier, this paper will present an overview of SAS 9.2 Web architecture and deployed components, and discuss a recent successful customer deployment. We will look at strategies and details for distributing SAS 9.2 Web Infrastructure Platform components and EBI Web applications across multiple managed servers and server clusters. Deployment examples will be given from field engagements, with an analysis of benefits and potential pitfalls sas management console, job scheduling source 11
220 SDTM Attribute Checking Tool Ellen Xiao Converting clinical data into CDISC SDTM format is a high priority of many pharmaceutical/biotech companies. Most of these companies are ready to invest in obtaining a SDTM conversion t ool that can do the job specifically designed for their company or to hire a CRO to convert the data for them. CDISC STDM conversion may sound like an easy job given the various available t ools. What is important not to overlook is the va lidation of the resulting CDISC SDTM data. It can be quite challenging and time consuming validate SDTM submissions manually. Three targets or perspectives of validation can be categorized as structur e, content and attributes. Here, I'd like to focus specifically on a SDTM Attribute Checking Tool used to check between SDTM data and the define.xml macro parameter, macro variable, excel, data cleaning, cdisc source 6
221 Searching for a Diamond in the Rough: Finding and Integrating SAS Programming Talent Lynn M. DiFinizio,
John Hotaling
Although the current economy has seen a lot of companies cutting back on hiring programmers, there is still a high demand for talented SAS programmers. It can be a challenge to find highly qualified candidates and then determine which would be the best fit for your team. This paper will detail some of the things a manager looking to hire SAS (programmers should be keeping in mind sample, pharmaceutical industry source 5
222 Segmenting Textual Data on Automobile Insurance Claims David Dobson Text-based data contains a wealth of information. They can provide insight into information that may not be possible with structured quantitative data. In this paper, actual textual data is analyzed using SAS Text Miner. Customers posted auto insurance claim related questions online, hoping to gain expert advice. These questions were analyzed and classified based on the nature of the claims. This text mining exercise has numerous business improvement possibilities, such as enabling online consultants to answer a customer's question more efficiently, based on the consultant's expertise auto insurance, insurance claims, proc freq, cluster analysis, data mining source 9
223 Select Matched-Pair Control Sampling Using PROC SURVEYSELECT Yu Feng In marketing research, assessing the performance of a voucher/coupon program is one of the major studies. One key step for this analysis is to create a matched - pair control group, which contains the equal size observations as the categorized voucher/coupon group and the corresponding attributes of the voucher/coupon group. Stratified sampli ng using PROC SURVEYSELECT is a simple and efficient way to complete the task. This paper introduces and compare s two approache s of SAS programming using PROC SURVEYSELECT to select a matched - pair control group sample, proc surveyselect, proc step, sample size, macro variable, proc freq source 4
224 SGPANEL: Telling the Story Better Charles D. Kincaid SAS has a new set of graphics procedures called Statistical Graphics. They are built upon the Graphics Template Language (GTL) in order to make the powerful GTL easily available to the user. SGPANEL is one of the procedures that can be used to produce powerful graphics that used to require a lot of work. This upgrade is similar to the ease- of-use upgrade in output manipulation when ODS was first published. This paper will introduce the reader to PROC SGPANEL and the new capabilities it provides beyond the standard plot. By using these new capabilities, any user can tell the story better proc step, missing value, proc sgpanel source 10
225 Short Course for the Korn Shell "find" Command and Piping the Information into SAS John Charles Gober The SAS metatables contained within the SASHELP lib rary contain a wealth of information about SAS libraries, datasets, and variables along with other useful information, which can be, used directly in your SAS programs. Sometimes, ho wever, the only way to obtain syst em-related information on non-SAS files or their attributes is to use one of the utilitie s in your environment. In the Linux environment, the "find" command fulfills this need. This paper demonstrates the flexibility of the Korn shell ' find' command to capture system level information on files and file structures in general. Examples of importing this informat ion into SAS using the PIPE engine will also be presented macro variable, macro quoting function, filename statement, macro call source 6
226 Simple Rules to Remember When Working with Indexes Kirk Paul Lafler SAS users are always interested in learning techniques related to improving data access. One way of improving information retrieval from a SAS data set or table is to create and use an index. An index consists of one or more columns that are used to uniquely identify each row within a table. Functioning as a SAS object containing the values in one or more columns in a table, an index may be defined as numeric, character, or a combination of both. This presentation will emphasize the rules that users should know when creating and using indexes to make information retrieval more efficient proc sql, where statement, index, proc step, sas library, dataset source 5
227 Smart and Synchronized: Analytic-Driven Web Personalization Using SAS Customer Intelligence Solutions Olaf Kratzsch,
Toshi Tsuboi
For most businesses, the Web has become an important channel for managing relationships with customers since it has become the preferred, and in some cases, the sole method by which many customers interact with companies. As a result, delivering compelling communication and content during a Web session is critical in order to acquire and retain valuable customers and to develop additional sales opportunities. Companies such as Amazon.com and Netflix have achieved success by promoting products based on customer behavior. Other companies use the Web to deliver timely content based on significant changes in customers' lives and their relationships with the company. Regardless of the method, combining the rich data acquired during a customer's Web activity with powerful analytics is a key factor in improving the customer experience and generating additional sales opportunities customer experience, credit card source 9
228 SMTP Email Access Method: Hints, Tips, and Tricks Chuck Hunley How do I specify multiple SMTP servers? What about authentication? Isn't this message important? How do I play a trick on a friend? Can I send a text message to a cell phone? This paper explores various hints, tips, and tricks using the FILENAME EMAIL SMTP (Simple Mail Transport Protocol) e-mail interface that answers all of these questions and more. Learn how to send an e-mail on behalf of your boss and send a message in HTML format sas log, file statement source 8
229 So Many Variables, Too Many Labels: Moving Labels from One Variable to Another John F. Ladds So you have one hundred plus variables to copy and recode and you want their original variable labels to transfer with them. Good luck with that! SAS will let you do all kinds of things with the labels but it will not let you transfer them to a new variable as easily as you might think but with CALL EXECUTE and a few lines of code you can save yourself some time and a whole lot of typing call execute, data step, cpu time, label statement, character functions, macro variable, proc step, proc contents, macro definition source 11
230 So You Need a Data Warehouse But Don't Have the Budget to Build One: What Now? Steve Morton Building a data warehouse successfully requires discipline and an architected approach. Designs need to work towards a clear objective - even if that evolves over time - so that the technology can be fully utilized to deliver value to the business users. However, getting the budget to fully plan a comprehensive data warehouse can be a challenge in today's economy; the era of large-scale data warehouse deployments has gone the way of the dinosaur! This is the story of how we built a data warehouse behind the scenes while delivering business intelligence data marts over a two year period using only the BI project budgets. Overall it has been a successful process, but there are lessons we have learned, and things I would do differently if I were doing the same again. I aim to share with the audience a few of those lessons, as well as what worked for us, in the hope that others can benefit data warehouse, data mart, management reporting, business intelligence, data standard, sas 9 source 11
231 So You're Still Not Using PROC REPORT. Why Not? Ray Pass,
Daphne E. Ewing
Everyone who can spell SAS knows how to use PROC PRINT. Its primary use may be as a development tool to help in debugging a long multi -step program, or as a simple report generator when all that is really needed is a quick look at the data, or even a basic low -level finished report. However, if a report generation/information delivery tool with powerful forma tting, summarizing and analysis features is called for, then PROC REPORT is the solution. PROC REPORT can provide the standard PROC PRINT functionality, but in addition, can easily perform many of the tasks that you would otherwise have to use the SORT, M EANS, FREQ and TABULATE procedures to accomplish. PROC REPORT is part of the Base SAS product, can run in both an interactive screen -painting mode or a batch mode, and should be the basic tool of choice when there is a need to produce powerful and product ive reports from SAS data sets proc report, proc step, class variable, character variable, proc print, proc means, proc tabulate source 14
232 Some Examples of Simple Perl Regular Expressions in SAS9 Selvaratnam Sridharma Perl regular expressions allow you to locate patterns in a string. Many of the string processing tasks in SAS can be done using Perl regular expressions. These tasks can also be performed using traditional string functions in SAS. But, Perl regular expressions can sometimes provide a much more compact solution to a much more complicated string manipulation task. Here we will give some examples to show the usefulness of the Perl regular expressions in SAS programs character functions, prxchange source 5
233 Space Management for Text Variables William C. Murphy Spaces in text strings are vitally important. Without spaces between words, text would be completely unreadable and impossible to align. However, too many spaces between the words would leave the text just as difficult to read. The statements and functions of the SAS system sometimes insert or remove spaces in a surprising way. Fortunately, SAS also provides us with functions such as TRIM and STRIP to remove unwanted spaces. Furthermore with the proper choice of functions and options, excess spaces need not be generated. On the other hand, retaining spaces in variables can be just as much of a problem. For instance, in creating macro variables with the %LET statement, careful consideration must be given to retain spaces before or after the character string. Careful attention must also be paid to text variable created with the concatenation functions macro variable, put statement, character variable, call symput, character functions, macro quoting function source 5
234 Standard Least Squares Method for Identifying Problem Tools in a Manufacturing Environment Ed Hutchins We describe an analytical method to identify problem tools in a manufacturing environment. Using JMP software , we visualized a yield problem, collected a relevant data set, and created a Standard Least Squares model to identify the tools contributing most to the problem. Once identified, further analysis in JMP software gave insight into the underlying root cause that allowed us to fix the problem and prevent future occurrences. On numerous occasions, we have found this method to be an effective and efficient method to identify problem tools sample, odbc connection source 9
235 Statistical Modeling of the Mechanical Behavior of Spring, Mass and Damper Assembly Using SAS Anpalaki J. Ragavan Dampers in mechanical systems provide safety and comfort against dynamical and impact forces transmitted by external profiles. Since dampers are made of diverse elements, have a large range of performance variables. Therefore, analytical solution for predicting damper behavior is difficult. In the absence of analytical models, one of the popular and reliable methods is statistical modeling. In this study, a modeling approach for a continuously variable damper was successfully used with variable discrete time model through Euler's approximation. Effect of changing spring constants, forces, damper constants and initial displacement in a spring- mass-damper assembly for their effects upon damper characteristics were closely investigated via simulations using PROC MODEL. Initial values were specified in a VAR statement. The mass, time step, spring constants, and damper constants were declared and initialized by a CONTROL statement proc model, proc step, proc iml, proc freq source 11
236 Staying Highly Available Using SAS Grid Manager: The Performance Manager Application at Commerzbank AG Cheryl Doninger,
Jochen Kirsten
All key performance metrics from the bank's main systems are aggregated by Commerzbank's sales management solution for retail banking, dubbed "Performance Manager." This has resulted in high-speed reporting for sales management that gives Commerzbank a competitive advantage. While the application has proved to provide excellent scalability based on SAS Scalable Performance Data Server in the past, new business requirements drove a doubling of the data volumes to be processed and loaded into the application. Facing this requirement, sustaining the scalability of the application while at the same time not extending the load times was the challenge. The solution was to migrate the application to a new architecture, which included the SAS Grid Manager solution. This presentation outlines some of the challenges and achievements of the project. The main software components used and discussed here are the SAS Grid Manager 9.2 and the SAS Scalable Performance Data Server 4.5 sas grid, proc sql, proc step, business intelligence, parallel processing, cpu time, batch job, resource allocation, key performance indicator, sas enterprise guide, data mining, retail banking, macro variable source 15
237 Stupid Human Tricks with PROC EXPAND David L. Cassell PROC EXPAND is one of the lesser-known procedures in SAS/ETS. Its power and its purpose make it very useful for a host of basic, non-statistical, data management tasks. We will cover some tasks which may otherwise require lots of coding and/or macro programming… unless PROC EXPAND resides in your bag of tricks. We show how to: create lags and leads of variables; create moving maxima and minima of a given length; aggregate chunks of K records; and build moving-window averages with trimming to handle edge cases proc step, moving average, missing value source 6
238 Successful Product Creation by Using Analytics to Discover What Consumers Value Ted Lang,
William Neafsey
Accurately identifying and understanding potential customers for future products greatly improves the likelihood of market success. This is particularly important for automotive manufacturers that have long lead times and require vast resources to deliver products to market. Historically, the auto industry developed product i deas through basic market analysis, often limited t o demographic research and too frequently the interpretation of t he product creator. While this worked satisfactoril y when market choices were few, it is no longer a sustainable bus iness method with increased competition. Successful product creation now necessitates focus around the consumer s' frame of mind. Deriving actionable meaning from an array of consumer-based opinions through analytics provides simple representations of complex data that offers decision- makers a straightforward view of market spaces. Thi s is the substance of target marketing proc princomp, sample, proc step, dimensionality reduction source 11
239 Supercharged Analytics Rick Miller output delivery system, credit scoring source 33
240 Supporting SAS Software in a Research Organization Michael A. Raithel Westat utilizes SAS software as a core capability for providing clients in government and private industry with analysis and characterization of survey data. Staff programmers, analysts, and statisticians use SAS to manage, store and analyze client data, as well as to produce tabulations, reports, graphs and summary statistics. Because SAS is so widely used at Westat, the organization has built a comprehensive infrastructure to support its deployment and use. This paper provides an overview of Westat's SAS support infrastructure, which supplies resources that are aimed at educating staff, strengthening their SAS skills, providing SAS techn ical support, and keeping the staff on the cutting edge of SAS programming techniques sas programming, macro definition source 10
241 Survival Analysis: Overview of Parametric, Nonparametric, and Semiparametric Approaches and New Developments Joseph C. Gardiner Time to event data arise in several fields including biostatistics, demography, economics, engineering and sociology. The terms duration analysis, event-history analysis, failure-time analysis, reliability analysis, and transition analysis refer essentially to the same group of techniques although the emphases in certain modeling aspects could differ across disciplines. SAS procedures LIFETEST, LIFEREG, PHREG, RELIABILITY, and QLIM have different capabilities for analyzing duration data. Methods include Kaplan-Meier estimation, accelerated life-testing models, and the ubiquitous Cox model. Recent developments in SAS extend their reach to include analyses of multiple failure times, recurrent events, frailty models, Markov models and use of Bayesian methods. We present an overview of these methods with examples illustrating their application in the appropriate context sample, likelihood function, proc calis, survival analysis, proc step, confidence interval, hazard ratio, posterior probability, correlation, credible interval, markov chain, right censoring, bayesian statistics, proc means, disease-free survival, frailty model, maximum likelihood estimation, survival function, time-dependent covariate, proc phreg source 23
242 Systems Management of the SAS 9.2 BI Environment Using Enterprise Management Facilities Gary Ciampa The evolution of the SAS 9.2 architecture provides a powerful, distributed, and flexible environment for real-time, responsive analytic and reporting capabilities. This paper describes how information technology (IT) and SAS administrators can use vendor and open source enterprise systems management products to ascertain the state or status of the SAS 9.2 Enterprise Business Intelligence environment, as well as generate alerts for user-specified conditions. The management products reviewed include IBM Tivoli Enterprise Console, HP Software OpenView, open source products Xymon and Hyperic, and the SAS 9.2 Audit and Performance Measurement package business intelligence, sas 9, sas administrator, access control, proc freq, proc step source 18
243 Tabular Reporting Data Standard Frederick A. Cieri This paper demonstrates a reporting data standard to map a tabular output table to a single standardized data set. This process can significantly standardize program code, increase readability, help reduce validation work, help facilitate future revisions, and provide a data standard to build a reporting application. Due to different table output formats, report programs usually contain many different temporary data sets structures to convert the raw extracted data into a form usable to macros an d procedures to create tabular output ta bles. This complicates future revisions and validation as different coding styles and temporary data set formats make reading program code from various programmers difficult. In most cases, the raw data comes fr om an administered database with formatting standards, but the DATA STEP transformations to produce report output differ from programmer to programmer proc report, data standard, raw data, proc step, proc sort, proc transpose, data validation rules, data cleaning, macro variable source 9
244 Tales from the Help Desk 4: Still More Solutions for Common SAS Mistakes Bruce F. Gilsen proc sql, proc step, macro variable, length statement, retain, select, proc print, sas log, character variable, missing value, macro loop, %if-%then-%else, date variable source 8
245 Taming the Herd: Wrangling Unruly Text Files in SAS Taylor R. Young It may come to pass that a SAS programmer is asked to make simple modifications to a set of plain text fil es thereby producing a new set of plain text files. At first, this may seem like an innocuous task, perhaps only requiring summarization of the data or swapping in a new set of IDs with a quick import and export cycle. Closer inspection of the files, however, may reveal unsightly hazards like a large number of files, long file names, long column headers, no column headers, or non-conforming missing values that make reproducing the structure of the original files difficult. This paper will guide you throug h several techniques to ensure that your files make it to the other side without losing one byte of information proc step, proc sql, missing value, macro variable, character variable, do loop, numeric variable, automatic variable, txt, proc import, dataset, label statement, length statement, proc export, macro definition source 9
246 The Applied Use of Population Stability Index in SAS Enterprise Miner Rex Pruitt In this paper I will describe how to develop the technical components necessary to calculate Population Stability Index (PSI), implement PSI into a SAS Enterprise Miner extension node, and interpret the results of applied PSI analytics as an industry solution "Best Practice". Why is this of any value? A profound reality exists in the universe: "Change is absolute"! PREMIER Bankcard's use of predictive modeling has resulted in the need for PSI utilization due to CHANGE experienced in the following areas: 1. Changes in business operations due to internal & external influences 2. Detection of data integrity and/or metadata issues caused by programmatic changes 3. Compliance with Regulatory review requirements As companies continue to amass large amounts of data and use it to develop statistical models, the PSI measure helps monitor data and scorecard integrity. This is especially important since statistical models are being used to make strategic decisions worth millions of dollars sample, data mining, data integrity, macro variable source 15
247 The Art of Managing SAS 9.2 Middle Tier Saravana R. Chandran SAS 9.2 supports three Web application servers: Red Hat JBoss, Oracle WebLogic, and IBM WebSphere. Every application server deployment and configuration can vary, but the life cycle of the SAS 9.2 middle tier application in the Web application server environment is the same. The intent of this paper is to provide various best practices for the SAS 9.2 middle tier in the context of its life cycle in a Web application server environment. The paper provides information about deployment, configuration, tuning, administering, monitoring, troubleshooting, and migrating from one environment to another all in the context of the SAS 9.2 middle tier application. It will also discuss the various best practices to improve the operating efficiencies of the SAS 9.2 middle tier application in the Web application server environments sas management console, connection pool, red hat source 13
248 The Best of Both Worlds: Designing Experiments in the JMP and SAS Environment Jose G. Ramirez Complexity, and supply chains that may expand across the globe, requires us to design experiments that must take into account: 1) the multi-step nature of manufacturing processes, 2) the large number of factors involved, 3) the different sizes of experimental units, 4) the restrictions in randomization that occur, and 5) the constraints in the number of experiments that can be run. Designing experiments for these situations can challenge many design of experiments software packages. However, the JMP-SAS integration now allows us to take advantage not only of the flexibility and power of the Custom Designer, but also of new capabilities of SAS 9.2 PROC FACTEX to design experiments for multi-step processes main effect, proc step, randomization source 12
249 The Best of Both Worlds: Integrating a Java Web Application with SAS Using the SAS/SHARE Driver for JDBC Adam Rauch Life would be simple if all data were stored and accessed via SAS software. In reality, most organizations store data in multiple repositories and access this data using a variety of analytical tools that don't communicate with each other. Technology solutions that bridge between analytical systems and data repositories are critical to sharing information throughout the organization. The SAS/SHARE driver for JDBC is a powerful example of bridging technology that increases the value of SAS data to an organization. We demonstrate that an integration solution using the SAS/SHARE driver is both useful and suitable for high- throughput production use. We extended an existing Java-based life sciences web application to integrate secure, dynamic access to SAS data sets. We document the implementation process, detailing best practices, pitfalls, and workarounds discovered along the way proc sql, sql server, data governance, connection string, dataset, connection pool, production run, life sciences source 9
250 The French Connection: Implementing a RAID Controller Algorithm in Base SAS Paul M. Dorfman,
Koen Vyverman
RAID configuration of storage arrays is fairly ubiquitous nowadays, and many IT professionals have a conceptual awareness of how RAID provides redundancy and thus protects against data loss when one or more disks in an array should fail. However, few people know exactly how this redundancy works on the level of bits and bytes... In this paper we reveal the inner workings of RAID arrays, and discover that the theoretical underpinnings lean heavily upon the work of a 19th century flamboyant French algebraist. Eschewing mathematical formalism, we explain concepts and highlight them with simple examples. As a practical application, we show how a RAID controller algorithm can be implemented in Base SAS sas base, character variable, do loop, macro variable source 18
251 The Graph Template Language and the Statistical Graphics Procedures: An Example-Driven Introduction Warren F. Kuhfeld This paper provides a gentle, parallel, and example-driven introduction to the graph template language (GTL) and the statistical graphics (SG) procedures. With the GTL and the SG procedures, you can easily create professional-looking statistical graphics and modify the graphs that the SAS System automatically produces. Most graphs in this paper are produced in two ways: one graph is produced with the GTL, PROC TEMPLATE, and PROC SGRENDER; the other graph is produced more directly with PROC SGPLOT or one of the other SG procedures. Each example provides you with prototype programs for getting started with the GTL and the SG procedures. Although you do not need to know the GTL to make many useful graphs, understanding the GTL enables you to create custom graphs that cannot be produced by the SG procedures proc step, histogram, box plot, scatter plot, proc sgplot, predictor variable source 20
252 The Great Escape (ESCAPECHAR) Louise S. Hadden SAS provides programmers with many ways to enhance ODS output in addition to the use of both SAS-supplied and user-written ODS styles. Inline formatting of titles, footnotes, text fields, and table cells, and formatting of data using user-written formats and within the DATA STEP can be accomplished by using ODS ESCAPECHAR. A quick overview of syntax for some of the many possibilities for enhancing ODS output with ODS ESCAPECHAR currently available in SAS 8.2 and SAS 9.1.3 will be presented, including underlines, pre- and post-images, special functions, line feeds, and super- and subscripts. Some new features available in SAS 9.2 will be discussed proc format, proc step source 18
253 The Healthcare Performance Dashboard: Linking Strategy to Metrics Gregory S. Barnes Nelson There is little doubt that the change in our global business environment will continue to outpace complacency and "tried and true" approaches for managing costs and increasing revenues. At the epicenter of this change we have a tsunami of data generated at the point of daily activities - data about patients, costs, operations and outcomes - but are we connecting that data to our strategy? Are we putting data to work for us or are we merely responding to that data? Ultimately there are a panoply of techniques, methods and frameworks that can be put to work to help us manage more effectively. And while, we don't take a position with respect to one tool being better than another, we do think that those that put data to work for us and keep our goals in front relative to our actual performance will help us deliver strategy more effectively source 10
254 The Lowdown on the Download: Whats Really in My SAS Software Depot and How Did It Get There? Brian Andrews,
Donna Bennett,
Gary Burchett
As a SAS administrator, you are often asked to make something happen "yesterday". Electronic software delivery makes it easier to get new software from SAS when you need it, without waiting for a snail-mail delivery of media. Review the process of retrieving SAS software into a shared SAS software depot for all of your deployments, and for creating custom depots and media when you choose. Navigate the settings that help you make the process speedy and secure, and learn why keeping the depot around can streamline future deliveries order by, note source 22
255 The MEANS/SUMMARY Procedure: Doing More Arthur L. Carpenter The MEANS/SUMMARY procedure is a workhorse for most data analysts. It is used to create tables of summary statistics as well as complex summary data sets. The user has a great many options which can be used to customize what the procedure is to produce. Unfortunately most analysts rely on only a few of the simpler basic ways of setting up the PROC STEP, never realizing that a number of less commonly used options and statements exist that can greatly simplify the procedure code, the analysis steps, and the resulting output. This tutorial introduces a number of important and useful options and statements that can provide the analyst with much needed tools. Some of these tools are new, others have application beyond MEANS/SUMMARY, all have a practical utility. With this practical knowledge, you can greatly enhance the usability of the procedure and then you too will be doing more with proc step, output, proc means, class variable source 14
256 The MEANS/SUMMARY Procedure: Getting Started Arthur L. Carpenter The MEANS/SUMMARY procedure is a workhorse for most data analysts. It is used to create tables of summary statistiPcs as well as complex summary data sets. The user has a great many options which can be used to customize what the procedure is to produce. Unfortunately most analysts rely on only a few of the simpler basic ways of setting up the PROC STEP, never realizing that a number of less commonly used options and statements exist that can greatly simplify the procedure code, the analysis steps, and the resulting output. This tutorial begins with the basic statements of the MEANS/SUMMARY procedure and follows up with introductions to a number of important and useful options and statements that can provide the analyst with much needed tools. With this practical knowledge, you can greatly enhance the usability of the procedure and then you too will be doing more with proc step, proc means, output, class variable, standard deviation source 10
257 The Most Communication-Effective and Most Usable Information Delivery LeRoy Bessler Graph = quick, easy inference Precise Numbers = correct inference EXCEL = data recipient option for self-directed post-processing Data created with SAS often must be packaged in a spreadsheet for users who want flexibility to manipulate it further with EXCEL. You can tap the power of SAS/GRAPH and ODS to deliver data in a web-enabled graph linked to a SAS-created spreadsheet. The web-enabled graph includes a hyperlink to the spreadsheet, which is hyperlinked back to the graph. This paper focuses on the example of trend plot data. The web-enabled graph provides pop-up text so that the user can read off EXACT values for plot points, rather than estimate them, without being forced to jump to the spreadsheet. Annotating a plot with precise values is not practical when points are dense or the plot is multi-line. This solution works for any graph, not just a plot, and avoids trying to fit a graph and table on the same page ods html, proc step, macro variable, proc gplot, line chart, excel, sas enterprise guide source 10
258 The Next Generation: SAS/STAT 9.22 Maura E. Stokes,
Robert N. Rodriguez
Caught up with SAS/STAT 9.2? Want to add even more statistical tools to your arsenal? Then get ready for the 9.22 release of SAS/STAT software. New functionality for postprocessing equips many linear modeling procedures with comparable capabilities, including the latest techniques for testing complex research hypotheses. The new SURVEYPHREG procedure fits Cox regression models to survey data. The EFFECTPLOT statement uses ODS Graphics to create plots of effects from models produced by the GENMOD, LOGISTIC, and ORTHOREG procedures. Exact Poisson regression is one of several new exact methods for categorical data analysis. Other new features include updated spatial analysis capabilities, classification variable support in the ROBUSTREG procedure, and model averaging in the GLMSELECT procedure. This talk provides an overview of these exciting new enhancements to SAS/STAT regression analysis, likelihood function, maximum likelihood estimation, proc step, estimate, proc genmod, poisson regression, logistic distribution, poisson distribution, proc glmselect, binomial distribution, negative binomial regression, proc glm source 20
259 The Options You Must Understand to Effectively Publish an ITRM Enterprise Guide Report to a SAS Information Delivery Portal Portlet Chris Lynn This paper describes the "shortest path" from having an ITRM Enterprise Guide report ready to publish to end users viewing it in a portlet in the SAS Information Delivery Portal. The paper assumes the products have already been installed and focuses on the implementation of publishing reports into the portal. The paper also covers some of the application choices that can be made, the implications, the various tool inter-relations and the tradeoffs. Publishing one- time reports, scheduled/recurring reports, and stored processes will be covered with a focus on minimizing maintenance sas management console, sas enterprise guide source 9
260 The Past, Present, and Future of Clinical Data Standards Chris Decker One of Albert Einstein's many great quotes during his life included the following: ""The distinction between past, present and future is only a stubbornly persistent illusion". This quote is a perfect microcosm for data standards in the clinical research industry. Over the last decade the clinical research industry has attempted to work toward a common data standard with the goal of accelerating drug development by improving the data collection, transformation, analysis, and submission process. The adoption of industry wide standards has been lethargic and led to a plethora of challenges. This paper will provide a history of clinical data standards, the role of SAS in these standards, and a forward view on how standards might evolve over the next decade data standard, clinical data, clinical research, clinical trial, sas programmer, adverse events, data cleaning source 10
261 The Power of Personalization with JMP Ian D. Cox Whether it's used alone or in conjunction with other SAS technologies, JMP is often promoted as a point -and- click environment whose unique features allow informed users to get value from their data quickly and easily. Sometimes, though, users are intimidated by the sheer power and versatility of JMP, and the question becomes how it can meet specific needs, experience levels and application -oriented patterns of use. Through a series of examples, this presentation shows how the JMP scripting language, JSL, can be used to unleash the power of personalisation, from simply combining report elements in a desired way to building complete applications dataset, bootstrap source 17
262 The Power of the Group Processing Facility in SAS Enterprise Miner Sascha Schubert The group processing facility in SAS Enterprise Miner is useful when your data can be segmented or grouped, and you want to process the grouped data in different ways. It uses BY-group processing to process observations from one or more data sources that are grouped or ordered by values of one or more common variables. For example, model projects that leverage the same input data space and multiple target variables can be easily and efficiently managed and processed by using the group processing facility data mining, data cleaning, model training, proc hpsplit, score code, sample, by group processing, class variable, response variable, validation set, regression analysis source 13
263 The Power of User-Defined SAS Code in SAS Data Integration Studio Anders Holte Extensive use of standard SAS Data Integration Studio Transformations is often made when designing data warehouses, thereby reducing maintenance requirements and the need for user defined code. This paper instead advocates using the SAS Data Integration Studio API against user defined code. Thus using the full power of SAS to build and maintain warehouse processes may yield several advantages, however an effort is required to design modules. EnterCard uses a layer of user developed, object oriented code in a framework for development and run time batches. SAS macros are designed to maximise reusability and be called from Data Integration Studio, heavy clients or SAS Enterprise Guide. The SAS Data Integration Studio layer is "thin" with less metadata, allowing for maintenance of separate modules, with version control of code by third party tools. The framework services are discussed and SAS Data Integration Studio examples shown sas enterprise guide, macro variable, autocall macro, data step, data validation rules, libname statement, proc sql, macro definition, data merging, %if-%then-%else source 12
264 The Quest for the Holy Grail: OLAP Approaches for Calculating Actuarial Measures Alan D. Leach,
Heather Y. Seeno
At Highmark Inc. Online Analytical Processing (OLAP) is us ed to provide access to large amounts of data stored in Highmark's data storage system, the "Enterprise Data Warehouse." A common actuarial metric is the calculation of Per Member Per Month cost, or PMPM. The numerator in this ratio is total claims cost in dollars. The denominator is total members enrolled, including members who have no claim costs and are not represented in the numerator. This metric is a challenge in standard OLAP reporting tools because the numerator and denominator represent different populations at different levels of summation. If a user w ants to look at the data acro ss various levels of claims dimensions, such as CLAIM TYPE, the num erator will change depending on whethe r the user is looking at Inpatient, Outpatient, Professional or Drug claims. However, t he denominator, the total popul ation of members remains constant across these levels source 17
265 The SAS Hash Object: It's Time To .find() Your Way Around Peter W. Eberhardt "This is the way I have always done it and it works fine for me." Have you heard yourself or others say this when someone suggests a new technique to help solve a problem? Most of us have a set of tricks and techniques from which we draw when starting a new project. Over time we might overlook newer techniques because our old toolkit works just fine. Sometimes we actively avoid new techniques because our initial foray leaves us daunted by the steep learning curve to mastery. For me, the PRX functions and the SAS hash object fell into this category. In this workshop, we address possible objections to learning to use the SAS hash object. We start with the fundamentals of the setting up the hash object and work through a variety of practical examples to help you master this powerful technique hash table, dataset, lookup, proc sql, hash iterator, out=, sysrc, sas programmer, sample, data merging, proc step source 17
266 The SAS Middle Tier: Providing Integration Services for the SAS Intelligence Platform Casey Hadden,
Martin D. Tomasi
As part of its mission to provide an integrated set of software applications, solutions, and services, SAS added a new level of integration capabilities with its release of 9.2. The SAS middle tier, which includes the SAS Web Infrastructure Platform and SAS Shared Services, contains a collection of middle -tier services and applications that provide infrastructure and integration features. Services include common authentication, auditing, mail, events and alerts, configuration, collaboration, and monitoring of SAS servers. The SAS middle tier makes use of s tandard technologies such as Java EE (JMS, JDBC), SOAP-based Web services, and IP multicasting. This paper presents an overview of the SAS middle tier and how it enables integration not just with SAS applications, but with enterprise technologies such as security, messaging, mail, and administration web service, http source 9
267 Thoroughly Modern SAS: The SAS Code Analyzer Helps Bring Programs Up to Date Merry G. Rabb How would you like to revive and reuse your older SAS jobs to make use of some newer capabilities? There are some easy ways to modernize your use of SAS without manually rewriting your existing SAS programs. The SAS Code Analyzer is the secret behind some new features for importing SAS code into SAS solutions such as SAS Data Integration Studio and SAS Enterprise Guide. You can also use the SAS Code Analyzer to create a version of a program to run in a distributed computing environment such as with SAS Grid Manager. This presentation will provide an overview of the SAS Code Analyzer and will include some practical examples of using it to create programs for distributed parallel processing proc step, proc means, sas enterprise guide, macro variable, macro put source 13
268 Traffic Lighting Your Multi-Sheet Microsoft Excel Workbooks the Easy Way with SAS Vincent DelGobbo "Traffic lighting" is the process of applying visual formatting to data. This paper explains how to use Base SAS9 software to create multi-sheet Microsoft EXCEL workbooks (for EXCEL versions 2002 and later), and then traffic light the values that lie outside a range. You will learn step-by-step techniques for quickly and easily creating attractive, multi-sheet EXCEL workbooks that contain your SAS output using the ExcelXP ODS tagset. The techniques 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! Creating and delivering your workbooks on-demand and in real time using 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, proc report, output delivery system, sas output, proc template, proc step, sas base, sysdate9, proc print, dataset, by group processing, format statement, ods xml, sample, clinical trial source
zip
28
269 Transposing Data Using the IDGROUP Option in PROC SUMMARY John Henry King,
Michael S. Zdeb
When clinical data are stored with multiple observations per subject, a common task is to rearrange the data so there is only one observation per subject. That single observation contains all or part of the information previously spread over multiple observations. Such rearranging of data is commonly done with either PROC TRANSPOSE or with a DATA STEP that often contains one or more arrays. There is a little used alternative to these methods, the IDGROUP option in PROC SUMMARY. The method is little used since the task is not made explicit in the documentation for the procedure and it has not been described in any papers that the authors could find at SUGI, SAS Global Forum, or various regional user group meetings. This paper describes several situations and shows the SAS code needed for using the IDGROUP option in PROC SUMMARY as an alternative to the more common methods for rearranging data proc step, proc means, proc transpose, output, by group processing, proc sql, macro variable, proc contents, class variable, cmax, variable list source 6
270 Two Practical Approaches to Add Special Characters to Axis Labels in SAS/GRAPH Output in RTF Amos Shu There are several methods (such as the BYTE function, Hexadecimal code, and Greek character symbols with/without the ODS ESCAPECHAR= statement) available to produce special characters (such as superscripts three, Greek letters, and symbols) in SAS. However, none of them can be used directly in the AXIS statement to add special characters in axis labels in SAS 8.2. This paper discusses how to increase the flexibility of your program by using 1) TITLE/FOOTNOTE statements to add special characters in the vertical axis label and 2) the ANNOTATE FACILITY to add special characters in the horizontal axis label footnote statement, title statement, proc sgplot source 4
271 Understanding SAS/ACCESS Softwares Role with Querying and Reporting in a Business Intelligence Environment Varsha K. Desai Sometimes, SAS software users encounter errors when they use business intelligence (BI) clients to query database tables. For example, a user who queries an Oracle table using SAS Enterprise Guide or the SAS Add-In for Microsoft Office might receive an error that indicates that the data file cannot be opened when she tries to access a table. Errors such as this can mystify users or stop the progress of an entire project. To correct such problems, users need to understand how SAS/ACCESS software is used to access database management system (DBMS) libraries. This paper is suitable for all levels of BI client users and explains the role that SAS/ACCESS software plays in such a process. It guides you through a case in which an error occurs when SAS Enterprise Guide is the BI client. Understanding how SAS/ACCESS software works in this case study will enable you to resolve issues related to similar errors that you might encounter sas enterprise guide, oracle, libname engine, proc sql source 10
272 Understanding the define.xml File and Converting It to a Relational Database Lex Jansen When submitting clinical study data in electronic format to the FDA, not only information from trials has to be submitted, but also information to help understand the data. Part of this information is a data definition file, which is the metadata describing the format and content of the submitted data sets. When submitting data in the CDISC SDTM format it is required to submit the data definition file in the Case Report Tabulation Data Definition Specification (define.xml) format as prepared by the CDISC define.xml team. This paper illustrates how the define.xml can be transformed into relational SAS data sets by using SAS XML Mapper technology. Once the content of the define.xml is available in SAS data sets it can be presented as a PDF file with the use of SAS ODS (Output Delivery System) dataset, csv, clinical trial, data cleaning, annotated crf, data standard, surrogate key, variable, cdisc source 20
273 Using a Few Key Elements of SAS DATA Step Code and a Couple of Procedures to Optimize the Observation Length of a Data Set Philip A. Wright The SAS DATA STEP supports quite a few statements and functions. Many of these are usually accompanied with acceptable default values. Due to the nature of SAS programming, however, the function defaults are sometimes overly generous. This is particularly true of length specifications for both the numeric and character variables. With the default of 8 bytes for numeric variables (the equivalent of double-float notation in other languages) and the default length of character variables sometimes as long as 200 bytes, the potential for shortening variable lengths is quite high. Some standard SAS functions and procedures enable you to shorten variable lengths quite easily. Shorter variable lengths mean shorter observation lengths, and shorter observation lengths enable faster I/O processing numeric variable, proc sql, proc step, character variable, macro variable, length statement, data step, variable list, macro facility, set statement, sas programmer, proc transpose, left join, macro definition source 9
274 Using 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
275 Using AJAX and SAS Stored Processes to Create Dynamic Search-Suggest Functionality Jeffery A. Fallon Almost everyone is familiar with the search-suggest functionality that is offered by search engines and other Web applications (for example, a user begins typing into a text box on a Web page and a box fills with suggestions that update as the user types). This paper shows SAS developers the steps involved in using SAS Stored Processes to develop this type of functionality for their own Web applications. After a brief introduction to AJAX, the reader is given a guided look at how to call a SAS stored process from JavaScript using the XMLHttpRequest object. The paper then shows two different approaches to coding the stored processes behind the search-suggest functionality, each with different implications for data preparation, performance, and scalability macro variable, sample, proc sql source 18
276 Using Base SAS to Talk to the Outside World: Consuming SOAP and REST Web Services Using SAS 9.1 and the New Features of SAS 9.2 Curtis E. Mack There has long been a trend in the computing industry of breaking isolatable computing components into separate internet accessible services. By consuming these services, many different applications can include the same functionality without having to install and maintain them separately. Many of these services are published as SOAP services, and more recently they have been published using the REST protocol. This paper will show how these services can be consumed from within a Base SAS application. Four different techniques will be show, custom coding via a SOCKETS, the newer PROC SOAP and PROC HTML, and the brand new XML92 LIBNAME engine with the XMLTYP=WSDL option. This paper is written for the experienced SAS programmer who has little to no knowledge of web services. However, it would also be valuable to someone with experience using each independently but not together web service, proc step, proc http, sas base, macro variable, data step, txt, dataset source 19
277 Using Data Set Labels and Format Descriptions to Simplify Application Debugging Robert L. Russell Hansel and Gretel left breadcrumbs as they wandered through the forest to leave themselves a trail back home. This paper will show you simple ways to leave pointers for yourself in SAS data sets and SAS formats that will help you "get back home" when you are trying to trace a problem back through various programs. The advantage of these pointers vs. breadcrumbs is that these pointers won't be eaten by birds proc step, dataset, proc catalog, format statement, proc format, proc sort, proc sql, options statement source 9
278 Using Dynamic and Cascading Prompts in SAS Enterprise Guide Kevin Davidson,
Minh Duong
SAS 9.2 Phase 2 and Enterprise Guide 4.2 offer new and improved ways of parameterizing your programs. Prompted selection lists can be linked to data sets so that the lists change with the contents of the data. Prompts can also be connected to each other so that the value of a 2nd prompt depends on the value of the 1st prompt. Groups of prompts can be arranged so that end-users see prompts only if an earlier prompt is answered in a pre-specified manner. This paper will show examples of the various prompts you can establish in Enterprise Guide sas enterprise guide, macro variable, where statement, phase ii, proc print, proc step source 14
279 Using New JMP Interactive Modules to Teach Concepts in Introductory Statistics Amy G. Froelich,
William M. Duckworth
Simulation has become an important tool in teaching topics related to sampling distributions and inference in the introductory statistics class. Many of these simulati ons have been developed with Java applets and made available on the web. While these applets are easy to use and readil y available to statistics instructors, they may not match classroom, laboratory or homework activities and are general ly different than software used for data analysis. As a result, students can struggle with t he transition between classroom activities and assignments, data analysis and conceptual understanding. In this paper we showcase new JMP Concept Discovery Modules developed using the JMP Scripting Language. These modules are designed to take advantage of JMP's powerful graphical interface features and to provide flexibility to match the simulation experience in JMP to classroom, laboratory or homework activities traditionally used in teaching concepts in introductory statistics sample, confidence interval, standard deviation, sample size, histogram, confidence level, type i error, hypothesis testing, significance level, data science, null hypothesis, alternative hypothesis source 9
280 Using ODS LAYOUT to Create Publication-Quality.pdf Reports of STD Surveillance Data Robert Nelson CDC's Division of STD Prevention turned to ODS LAYOUT and ODS REGIONS to create high-quality reports of STD morbidity data. These reports allow for the combina tion of text and graphics into visually stunning ou tput. The author demonstrates the SAS code used to create this outp ut and discusses some of nuances of this approach ods pdf, macro variable, proc step source 5
281 Using PROC CONTENTS Output to Perform Quality Control Checks on SDTM Data Sets Jennifer M. Srivastava This paper focuses on using SAS PROC CONTENTS output as a tool for performing Quality Control (QC) checks on SDTM datasets. Although the code applies to SDTM data, it could easily be used for other applications as well. The SAS code presented in this paper will be using the Variable Name (NAME), Variable Number or position within the dataset (VARNUM), and Variable Label (LABEL) fields from the PROC CONTENTS output dataset, along with the DATA STEP and PROC COMPARE to perform two different types of QC checks on SDTM datasets proc step, out=, sdtm domain, quality control, cdisc source 6
282 Using PROC SGPLOT for Quick, High-Quality Graphs Susan J. Slaughter,
Lora D. Delwiche
New with SAS 9.2, ODS Graphics introduces a whole new way of generating high-quality graphs using SAS. With just a few lines of code, you can add sophisticated graphs to the output of existing statistical procedures, or create stand-alone graphs. The SGPLOT procedure produces a variety of graphs including bar charts, scatter plots, and line graphs. This paper shows how to produce several types of graphs using PROC SGPLOT, and how to create paneled graphs by converting PROC SGPLOT to PROC SGPANEL. This paper also shows how to send your graphs to different ODS destinations, how to apply ODS styles to your graphs, and how to specify properties of graphs, such as format, name, height, and width. Last, this paper shows how to use the SAS/GRAPH ODS Graphics Editor to make one-time changes to graphs proc sgplot, proc step, bar chart, phase ii, histogram, phase i, series plot, proc sgpanel source 20
283 Using Recycled Predictions for Computing Marginal Effects Zhongmin Li,
Geeta Mahendra
A conventional way to estimate the marginal effect of a risk factor is to omit the risk factor (e.g., gender, treatment) from the multivariate model and then use the omitted risk factor as class/group variable to compare observed and predicted outcomes. This can have an undesirable impact on the model since the predicted outcomes could be incorrect if the omitted variable is a significant risk factor. An alternative approach is to use the recycled prediction method to estimate and compare marginal effects without removing the risk factor from the model. While STATA (StataCorp, 2005) and SUDAAN (Research Triangle Institute, 2004) have provided sub-routines for the recycled prediction method, SAS does not have a dedicated procedure for this purpose. This can be accomplished, however, by using simple SAS programming techniques. In this paper, we use an example to demonstrate a way to perform the recycled predictions within the SAS platform response variable, sample, logistic regression, logistic distribution, class variable, odds ratio, regression analysis, predictor variable, estimate source 10
284 Using SAS Business Intelligence to Deliver Ongoing Professional Practice Evaluation (OPPE) at Maine Medical Center Rocket Wong,
J. Peter Chingos
Maine Medical Center (MMC) is leveraging the power of the SAS Business Intelligence (BI) platform in deliv- ering customized physician evaluation reports 24/7 via MMC's intranet and the internet. The reports are used by our medical staff office, department chiefs and individual physicians to meet The Joint Commission regula- tory requirement for Ongoing Professional Practice Evaluation (OPPE). OPPE reports are used to monitor de- partment and physician performance on key quality and safety goals. These reports are accessed by logging into the SAS Information portal and selecting the OPPE report link. The reports will then be generated with the most current information available. This paper is a review of the Business Intelligence (BI) infrastructure which MMC has developed to deliver secure OPPE reports to the departments of Medicine, Surgery, Cardiac Services and Pathology business intelligence, sas management console source 6
285 Using SAS Enterprise Miner 5.3 to Examine Factors Such as Poverty Levels in Different School Districts Patricia B. Cerrito The U.S. Congress appropriates revenues for elementary and secondary education in the federal government's annual budget in the form of an appropriation. Title I is part of the federal Elementary and Secondary Education Act and provides money meant to improve the academic performance of students whose families are living below the poverty level, students who are learning English as a second language, students who are not meeting state education standards sanctioned by the federal government, and whether a program school district has two percent or fewer poor children, etc. The data set is collected from the Census Bureau, which includes data from 13,753 school districts in 50 states showing the number of children living in poverty in each school district. Text Miner software in SAS 9.1 is used to investigate the information related to the school districts. The association of different states with regards to the poverty level to each state's school districts was found correlation, association rules, confidence level source 8
286 Using SAS Formats: So Much More than "M" = "Male" Peter J. Lund Formats in SAS can be used to change the way that a value is displayed. There are numerous formats supplied by SAS for controlling the way dates, times, numbers, currencies and other types of values appear. You can also use PROC FORMAT to build your own formats and create labels for your data values. This paper will look at a number of features of PROC FORMAT: using value ranges, having open-ended ranges (with the LOW and HIGH range values), capturing left-overs (with OTHER), nesting one format inside another, controlling the sort order of the formatted values (with the NOTSORTED option), and allowing a value to fall into more than one range (with the MULTILABEL option). Formats allow much more than just changing the labels that are displayed for your data. SAS procedures analyze data at the formatted value level, which means that you can do different levels of analysis ju st by changing the format, without having to create new variables proc step, proc format, format statement, put statement, proc tabulate, sysdate9, character variable, proc freq, date variable, missing value, char. source 14
287 Using SAS Output Delivery System (ODS) Markup to Generate Custom PivotTable and PivotChart Reports Chevell T. Parker This paper illustrates how to use ODS markup to create PivotTable and PivotChart reports. You can use these reports to help your organization with business requirements such as analyzing expense trends over time or planning for inventory. Users of all experience levels will learn how to specify options in ODS statements that enable them to perform the following tasks: customize PivotTable layouts customize cell format specify statistics for the analysis modify the display of the analysis generate a PivotTable report and a PivotChart report for each worksheet format tables that you create * customize worksheets excel, output delivery system, raw data source 22
288 Using SAS Software and Visual Basic for Application to Dynamically Manipulate SAS List Files Zemin Zeng,
Mei Li
This paper demonstrates how to apply Visual Basic for Application (VBA) procedur es in the Microsoft Word to dynamically manipul ate SAS output list files. In the paper, the author s hall show how to convert SAS list files into Rich Text Format (RTF) files with appropriate page setup; extract the first page of each SAS list file; assemble all RTF files into a singl e file and send print command to Microsoft Wor d from SAS. All the manipulation tasks shall be accomplished by ex ecuting an integrated SAS macro which dynam ically interacts with VBA subroutines. The code of both the SAS and VBA macros are included in the paper. The testing of the macros was verified in a Windows Operating System PC with SAS version 9.0 and 9.1.3 and Microsoft Office 2003 and 2007 macro definition, macro parameter source 9
289 Using SAS to Perform Individual Matching in Design of Case-Control Studies Greg A. Grandits,
Jacqueline Neuhaus
In the design of case-control studies it is often desired to match each case with one or more controls based on a set of variables and maximum differences between case and control in these variables. Case-control studies can arise within cohort studies where it is desired to compare subjects experiencing an event (cases) to subjects not experiencing the event (controls) for some risk factor not yet measured, but available upon further data extraction (e.g., blood determination from stored specimens, extraction of information from medical records, etc.). Typically, all cases are measured, but because of feasibility and cost only a subset of controls are measured, which are often matched to individual cases. Computerized methods to carry out the matching, although conceptually straightforward, are not readily available. In the Division of Biostatistics at the University of Minnesota we have written a SAS utility program to carry out the matching dataset, extract source 9
290 Using SAS to Report Data in XML Format Qin Wang XML (Extensible Markup Language) has become increasingly important as a required format for data reporting because of its textual nature and Unicode support. However, converting data into XML format is quite challenging for many data analysts. We are familiar with data in rectangular row and column format created via programs such as EXCEL, SQL, or SAS. Converting a big sum of data from the row and column structure to a hierarchical or tree structure which XML accepts can be difficult conceptually and technologically to us. In addition, XML reporting often comes with very strict format requirements for data elements. This paper introduces methods to use SAS software (SAS8.2 or SAS 9.1 on Windows@ platform) to perform the following tasks. 1. Use put command to write an output data file in XML format; 2. Use WHERE statement and VERIFY, SUBSTR, RXPARSE, RXCHANGE functions to scan data elements and make necessary corrections excel, verify source 7
291 Using SAS XML Mapper and SAS Enterprise Guide to Read Data and Metadata from an XML File Larry Hoyle Increasingly, data and metadata are archived together in XML files. This tutorial works through the process of reading an XML file containing a data table, variable labels, notes about variables, and multiple sets of labels for values - some of which are not associated with any variable. First, we will use the XML Mapper with the archetypical XML file to create an XMLMAP file. We will then create an Enterprise Guide project to organize the sequence of operations that follow. The SAS XMLMAP facility of the XML engine uses the XMLMAP file to read the complex, hierarchical, XML file into a set of related tables. Additional SAS code transforms the initial data table from one row per value to a table with multiple variables and one row per observation. Other code labels the dataset, applies variable labels, creates a CNTLIN dataset, creates formats from the CNTLIN dataset, and associates formats with variables sas enterprise guide, dataset, libname engine, macro variable, proc step, proc format, character variable, excel source 34
292 Using the Descriptor Portion of a SAS Data File Dragos D. Capan The descriptor portion is often an overlooked component of a SAS data file. The purpose of the paper is to explain what the descriptor portion is, when it is created, and how it can be accessed. Four examples will illustrate the usefulness of the descriptor. To give context and make the first two examples clear, the paper will briefly remind the reader how SAS processes a DATA STEP. The first two examples will demonstrate how using the information in the descriptor portion can make the SAS code more efficient. The last two examples will show how using the descriptor combined with the power of macro processing can make the programmer's life much easier and the SAS code more elegant macro variable, proc step, numeric variable, proc contents, proc sql, set statement, compilation phase, cpu time, dataset, character variable, data step, proc datasets, proc score, logistic distribution source 6
293 Using the External Filename to Create File Date Variables Peter Cerussi Creating a file date for each input file, when one does not exist in the file, becomes a tedious task as the number of files grows. Different methods can be used, such as reading in all the files at once, using a file counter, the Job File Control Block (JFCB), and implementing macros. The key was to find a solution that reduces both the programmer's time and CPU time. When all methods were compared to reading in each file in its own DATA STEP, the file counter and JFCB both increased CPU time, but decreased the amount of hard coding necessary, while using a macro decreased the amount of hard coding and CPU time. This made the macro the most efficient solution when looking at both the programmer's time and CPU time. This method can be used if the file date is anywhere in the FILENAME macro variable, calendar year, cpu time, proc freq, proc step, proc append, macro loop, %if-%then-%else, infile statement, dataset, data step, macro definition source 11
294 Using the GLIMMIX Procedure to Model Hospital Quality Measured by CMS: Comparing City-Owned Hospitals, Other Safety Net Hospitals, and Hospitals for the Well-Insured Ronald B. Low Health care quality, costs, and methods to control them are debated. Medicare (CMS) measures quality. We studied New York City hospitals, divided into three groups by funding source. PROC GLIMIX enabled us to study proportions of compliance of hospitals nested within funding type, with repeated measures over time. Public hospitals performed better on the CMS measures than the other safety net hospitals and, generally, better than those hospitals that are funded mostly by private insurance fixed effects, proc mixed, proc glimmix, proc step source 11
295 Using the IBM Tivoli Storage Manager Hierarchical Storage Management Facility (HSM) to Manage Large Data Sets at IMS Paul Doucette During the course of a typical month, the LifeLink Statistical Services Programming Group at IMS processes 30-50 projects using datasets averaging 50 gigabytes in size (per dataset). A key tool that enables the cost-effective management of this volume of data is IBM's Tivoli Storage Manager (TSM) for Space Management. The use of TSM will be examined here as will other data management techniques sas programming, flat file, sas programmer, proc step source 7
296 Using the NLMIXED Procedure to Fit Linear and Nonlinear Growth Curve Models Mo Zheng Longitudinal data, or data that are repeated measurements on various subjects across time, are commonplace in everyday life. Multilevel mixed models are often used for analyzing longitudinal data and drawing meaningful inferences about them. This paper discusses two common mixed models, the linear growth model and the logistic growth model, and fits them to a prototypical example that involves repeated measures on forest growth. Parameter estimates and model fitting results from two analyses are compared. The nonlinear logistic growth curve is selected as the suitable model for the current data, even though evidence from model fit statistics seems to suggest otherwise. Computer implementation is via PROC NLMIXED in the SAS 9.2 program. A plot of the data, code descriptions, and output interpretations are also presented. KEY WORDS: mixed models, growth curves, nonlinear mixed models logistic distribution, proc mixed, proc step, logistic regression, proc nlmixed, likelihood function, response variable, estimate source 6
297 Using the ODS Graphics Designer to Create Your Own Templates Philip R. Holland The pre-production release of the ODS Graphics Designer in SAS 9.2 Phase 2 provides a GUI interface for building ODS templates for graphs. This paper shows how to make use of this tool to build a basic ODS Template for almost all types of graphs. Having built a template, the steps required to develop this into a parameter-driven template will be demonstrated proc step, dataset source 17
298 Using the SAS Macro Language to Automate Data Listings for New Drug Applications Hany Aboutaleb Using the SAS Macro language to generate data listing programs eliminates the need to create these programs from scratch. In most cases the programs are simple - consisting primarily of PROC REPORT statements. Using the SAS Macro language to generate these statements automatically can significantly reduce the amount of time required to write these programs. Once the listing programs are generated, it can be edited, and modified. Macro %Gen-list Logic: The %Gen-list macro requires the library reference to your data (i.e., libin: the library name where the SAS dataset resides), and name of the dataset (i.e., dsn). If you would like to produce one data list you should choose dsn=DM or if you would like to produce all the data listings choose _ALL_. The macro default value for the dsn parameter _ALL_ is used to generate the whole library listing. Another option to store your generated programs is outdir (i.e., the output directory to store the generated program) proc step, proc contents source 8
299 Using the SAS Survey Procedures for Subpopulation Analysis with Jackknife Repeated Replication Methods in SAS 9.2 Zhuoqiao Wang,
William R. Waldron
In the analysis of complex sample data, Jackknife Repeated Replication is a method to estimate the variance of a statistic that can result in substantially reduced variance when compared to traditional estimators. Subpopulation analysis is used to compute point and variance estimates for a subset of the sampled population. This is accomplished through a judicious adjustment of the final sample weights. SAS 9.2 supports the Jackknife Repeated Replication method. However, the subpopulation analysis for Jackknife Repeated Replication is not available in SAS 9.2. The DOMAIN statement is available only for the Taylor series method. This paper presents how to conduct a general subpopulation analysis for jackknife replicate weight designs using the Health Information National Trends Survey (HINTS) 2005 data. Mean estimation and logistic regression are demonstrated. The examples are illustrated with SAS 9.2, and the results are compared to standard subpopulation analyses from Stata 10.0 SE and sample, sample weight, degrees of freedom, logistic regression, binary variable, regression analysis, proc calis, logistic distribution, confidence interval, proc step, proc surveylogistic, likelihood function source 9
300 Using the SAS System and SAS Enterprise Miner for Data Mining: A Study of Cancer Survival at the Mayo Clinic Leonard Gordon This paper evaluates and predicts a certain epidemiological (cancer survival) condition using data-mining techniques in SAS. A data set that contains information about the survival of lung-cancer patients from a study at the Mayo Clinic was extracted from the R survival package. Data-mining techniques-namely linear and logistic regression models, regression and classification trees, and nearest-neighbor analysis-are used for the analysis to see which method is best for determining cancer survival. Both a continuous response variable and a dichotomous response variable are selected and used to evaluate cancer survival of the patients. Linear regression, regression trees, and nearest-neighbor analysis are used to analyze the continuous response variable; logistic regression, classification trees, and nearest-neighbor analysis are used for the dichotomous response variable predictor variable, regression analysis, response variable, data cleaning, logistic regression, validation set, proc reg, logistic distribution, data mining, binary variable, training set, correlation, interval variable, outlier source 6
301 Using the SQL Procedure to Summarize and Transpose Data Kevin Chung Do you need to create a SAS data set using SUMMARY and TRANSPOSE procedures? Do you want to replace the SUMMARY and TRANSPOSE procedures with a SQL script which is easy to maintain and extend? If your answer is yes, then the PROC SQL tips provided in this paper would be very helpful to improve your data processing routine. This paper demonstrates how to use one single SQL CREAT E TABLE statement to perform the count, summarize, and transpose data. The purpose of this paper is to provide an alternative way to manipulate data more efficiently than using traditional methods such as DATA STEP, SUMMARY and TRANSPOSE procedures. By using PROC SQL, you can eliminate the use of data steps, PROC SUMMARY and TRANSPOSE steps. Since there is a pattern when you use SQL method, you can convert the query to a macro easily. The int ended audience is the intermediate SAS users with good knowledge of Base SAS proc sql, proc transpose, proc step, data step, group by, create table, proc means, macro definition source 8
302 Utilizing SAS Marketing Optimization as a Forecasting Tool Dwight J. Mouton,
Robbie Reynolds,
Angela Williams
The purpose of this paper is to discuss a methodology for using SAS Marketing Optimization for business forecasting. In 2009 a team was formed to explore using SAS Marketing Optimization to better forecast for one of AEGON Direct Marketing Services' largest programs. The primary goals of the project were to create a single decision point for all campaigns included in the process to facilitate streamlined campaign development and selection, and to design a data driven process to select names for a marketing program. The forecast allows for: More precise financial projections Advance purchase of creative materials at a reduced price Marketers to shift focus from daily rollout programs to new initiatives Better resource planning within the inbound call center This paper contains an overview of the process for determining a solution and meeting the forecasting needs of marketing sample, data validation rules source 8
303 Various Solutions to Missing Values in Repeated Sequences Hui Xu,
Marike Vuga
Data can have a repeated sequential structure with respect to one or more variables and it may be essential to present the sequence order in a data set. For example, when plotting incident cases for a specific disease conditions by age group and calendar y ear of occurrence. The data set may have missing categories within a sequential order. To add the missing categories back into the data structure such that the sequential order is maintained several different approaches are demonstrated. Solutions are pres ented for two different scenarios related to grouped data and individual observation data sets. Three solutions are presented for the former and two solutions for the latter type. The procedures tabulate, transpose, and sql will be applied to add the missi ng categories to the data set to create ordered categories in sequence form missing value, proc step, data step, proc tabulate, calendar year, proc sql source 12
304 Virtualization in a UNIX Environment and SAS Leigh A. Ihnen As organizations seek to efficiently utilize resources and reduce total cost of ownership of their SAS environments, virtualization of the environment is one possible approach. Depending upon the operation system (AIX, Solaris , or HP-UX) and OS release there are a wide range of virtualization options available for the SAS system architect to exploit. The intent of this paper is to provide the SAS system architect with a working knowledge of pros and cons of running SAS in a virtualized environment. The goal is to facilitate efficient communication with IT system architects and administrators. Logical partitions (LPARs), micro-partitions, domains, zones, nPars, and vPars as well as virtualization of input/output (I/O) and resource management in a SAS environment will be discussed in relation to architecting a SAS environment resource allocation, sas grid source 5
305 Visual Displays of Regression toward the Mean Using SAS SGPLOT Ginger Burrell,
David P. MacKinnon,
Felix Thoemmes
Regression toward the mean is a widespread phenomenon in statistics and may adversely affect researchers' substantive interpretation of findings. Therefore, it is worthwhile to evaluate the extent of regression toward the mean as a part of many applications of regression analysis. One way to assist with such an evaluation is with a Galton squeeze diagram (Campbell & Kenny, 1999), which provides a quick visual summary of regression toward the mean. This paper demonstrates a novel application of SAS SGPLOT to create publication-ready Galton squeeze plots regression analysis, correlation, dataset source 8
306 Visualizing Key Performance Indicators Using the GKPI Procedure Brian K. Varney The GKPI procedure is new in SAS 9.2 SAS/GRAPH. This new procedure can be used to create graphical key performance indicator (KPI) charts which include sl iders, bullet graphs, dials, speedometers, and traf fic lights. This paper is intended to serve as an introduction to th e GKPI procedure by discussing the syntax and demon strating examples. In addition, this paper will discuss how results from the GKPI procedure can be integrated i nto existing SAS environments key performance indicator, business intelligence, sas enterprise guide, proc step source 9
307 Whats New in DataFlux dfPower Studio and DataFlux Integration Server Software? Lisa Dodson,
Wilbram Hazejager,
Pat M. Herbert
The latest release of DataFlux software contains many new features that help both in the operational data quality area and in the warehousing and analytics areas. Of particular interest to SAS users will be the improved management of SAS data sources and targets. Other highlights include an improved user interface, performance enhancements, new data exploration features, and seamless, enhanced support for XML data sources, including support for HIPAA, X12, HL7, and others. This paper will discuss the new and improved features that DataFlux has delivered with its latest product set dataset, data cleaning, web service source 8
308 When Best to Use the %LET Statement, the SYMPUT Routine, or the INTO Clause to Create Macro Variables Arthur X. Li Macro variables are the most essential part of the SAS macro facility. One can create macro variables by using the %LET statement, the SYMPUT routine, or the INTO clause in the SELECT statement from the SQL procedure. Sometimes a SAS programmer is often unsure when best to use which method due to a lack in understanding each step of macro language processing. This lack in understanding includes how SAS statements are transferred from the input stack to the macro processor and DATA STEP compiler, what role the macro processor plays during this process, and when best to utilize the interface to interact with the macro facility during the DATA or SQL execution. Once one grasps the intricacies of macro language processing, one will best know how to accurately create a macro variable macro variable, macro put, call symput, symbol table, proc sql, macro trigger, sas log, macro facility, proc step, call symputx, &variable, macro definition, global symbol table, put statement, run, select source 18
309 When the List Grows Too Long: A Strategy to Use Freeform User Input in Your SAS Stored Process Web Applications Jeffery A. Fallon In web based reporting applications, we often allow users to select the values for which they want to see results from a list of values. With this approach there are two problems that immediately surface. The first is that lists become unwieldy beyond around 1000 values. The second is that some users have a large number of values that they want to select. Freeform text input is a viable option, but application developers are often reluctant to yield the control that a list gives them over of their application input. In addition, developers are often fearful of what users might throw at their applications. This paper shows developers how to use SAS text processing functions to powerfully transform even the scariest freeform text into application ready input compress function, tranwrd function source 4
310 Where Does This WHERE Statement Go? Scott Davis The clever folks at SAS have given the user community a variety of ways to accomplish tasks. Being the creative bunch that we are, SAS programmers have yet to tire of discovering and using different paths to get to the same end. In a typical clinical study (read: ALL) there will be adverse events. Many times, programmers find themselves doing validation on an adverse event table that either they created or was created by someone else. We all know the power of the NODUPKEY option in PROC SORT, and countless experts have forewarned about the dangers that come with its use. For those of us who have heeded those warnings and proceeded with care, it turns out that another danger awaits when using a subsetting WHERE clause in your PROC SORT. This paper explores the placement of a WHERE statement in a PROC SORT during input and output and how very different the results can be depending on your data where statement, proc sort, proc step, adverse events, data cleaning source 4
311 Why Arent You Using MEMLIB? Erik H. Dilts In 2002, I presented a poster at SESUG titled "Using a RAM Disk to Speed up your Windows 2000 SAS Session." At that time, you had to purchase a third party RAM disk program, install it, and set it up correctly in order to use the technology. Due to this difficulty, the cost, and 21 CFR part 11 compliance issues, many companies were unwilling or unable to utilize it. Seven years later, SAS version 9 has changed all of that by including a de facto RAM disk program in Base SAS. It can be configured as a system option, setting up the WORK directory in memory, or as a LIBREF option within a SAS session. This paper will explain how to use MEMLIB (short for memory library) to set up a RAM disk. It will also demonstrate that for most SAS programmers, the savings from decreased program run time will quickly offset the $25-$50 cost for additional memory - which may not even be needed. It is written toward any skill level and applicable to SAS version 9 and up, running on Windows XP Pro/Vista proc step, 21 cfr part 11 source 3
312 Win With SAS, JMP, and Interest In-House Groups Charles E. Shipp,
Kirk Paul Lafler
Have you considered an in-house group for SAS, JMP, or special interests? We discuss how to start and maintain an in-house group. Benefits include leadership opportunity, peer-to-peer interaction, tutorials, collaboration of users and also departments, a focal point for proper requests, and getting to know other users and providers. We present differences in corporate cultures and examples of successful school, company, and government user groups. We then summarize with critical success factors. Expect a lively discussion to follow sas programmer, clinical trial source 6
313 Windows and UNIX Computers Now Have Multiple CPUs; Why Not Control Two, Three, or More Parallel Executing SAS Batch Jobs from One Master Job?! William E. Benjamin Jr. This paper will show the processes required to start multiple, parallel batch copies of SAS on the SAME Microsoft Windows or UNIX based computer. It may be easy to click the SAS Short -cut button or type SAS in a command prompt window a few times, but those jobs are independent of each other, and use resources to update the screen images for the operator (you). The process proposed here allows one SAS job to start others as child batch processes, with no screen update requirements, with their own parameters and monitor their completion. This p aper exposes some of the tricks required to get two (or more) batch copies of SAS running on a Windows or Unix computer macro variable, sas log, sas output, macro definition, %if-%then-%else source 10
314 Working with SAS Date and Time Functions Andrew H. Karp Many new users are confused about how to work with variables (columns) representing dates and time in the SAS System. This paper provides an explanation of how to work with date and time variables, and some of the key SAS tools (e.g., functions and formats) available to simplify your work with your date and time data. Among the important concepts addressed in this paper are: 1) how the SAS System stores the values of dates and times; 2) how to create SAS date, time and DATETIME variables, 3) how Formats are used to control the "external representation," or display of date, time and DATETIME variables, and, 4) how to use SAS programming language tools, such as functions and constants, to accomplish your programming goals sysdate9, datetime variable, proc step, dataset, datepart, date variable, proc print, format statement, proc freq, where statement, sas programming, raw data, time variable, data step, proc format, datetime, input statement, numeric variable, sas output, sas base, calendar year, subsetting if, character variable, options statement source 20
315 Yes, PROC SQL Is Great, But I Love DATA Step Programming: What's a SAS User to Do? Mira Shapiro Like many long-standing SAS users and DATA STEP programmers, I avoided learning PROC SQL for many years. After making the decision to take the plunge and add PROC SQL to my toolkit of techniques, I went overboard and began using PROC SQL for everything. This paper describes my approach to choosing between PROC SQL and the DATA STEP for particular tasks. This paper is appropriate for beginning SAS users who have a basic understanding of the DATA STEP and PROC SQL proc sql, proc step, data step source 4
316 Your Friendly Neighborhood Webcrawler: A Guide to Crawling the Web with SAS Jake Bartlett,
Alicia Bieringer,
James A. Cox
The World Wide Web has a plethora of information; from stock quotes to movie reviews, market prices to trending topics, almost anything can be found at the click of a button. Many SAS users are interested in analyzing data found on the Web, but how do you get this data into the SAS environment? Various methods are available, such as designing your own Web crawler in SAS DATA STEP code or utilizing the %TMFILTER macro in SAS Text Miner. In this paper, we will review the general architecture of a Web crawler. We will discuss the methods of getting Web information into SAS, as well as examine experimental code from an experimental internal project called SAS Search Pipeline. We will also offer advice on how to easily customize a Web crawler to suit individual needs and how to import specific data into SAS Enterprise Miner dataset, proc step, proc sql, data mining source 6
317 Zen and the Art of SAS Enterprise BI Server Deployment David C. Steven Sales presentations invariably demonstrate vendor CRM software products effortlessly solving all problems with a simple click of the mouse. So why does it always seem to be a nightmare of delays and cost overruns to deploy these products in the real world? The SAS BI (or SAS EBI) Server is no different. Indeed, the superior level of flexibility and customization built into SAS software may seem to complicate matters. The IT Department may incorrectly-and disastrously-apply databas e engineering concepts when architecting SAS servers, and your local SAS programming Guru really has no background in enterprise systems architecture to be of much help. The way out of SAS BI Server deployment suffering includes a correct understanding of the SAS Intelligence Platform based on experience, a technical appreciation of how it fits into the existing IT infrastructure, familiarity with end-user challenges, and a good measure of tenacity sas enterprise guide, business intelligence source 6
318 Zip and E-mail Files Using SAS to Reduce Errors and MAKE Documentation Easy Ryan E. Whitworth This paper describes an approach for using SAS to create zip files and e-mail them as attachments to recipients from a contact list. The advantage of this approach is that it minimizes the potential for human error from manually zipping and e-mailing files, makes documentation simple, and reduces the labor burden. This approach was accomplished using Base SAS Version 9.1 tools, free WinZip software, and an SMTP server sas base, macro variable source 4
319 ZIP Code 411: Decoding SASHELP.ZIPCODE and Other SAS Maps Online Mysteries Louise S. Hadden,
Michael S. Zdeb
SAS provides a very useful file called SASHELP.ZIPCODE. This file is relatively unknown and under-utilized. This paper explores current and potential uses of the file, as well as how to update the file on a quarterly basis by accessing SAS MAPS ONLINE. The authors also provide a walk-through of several programming projects that they have recently conducted. Data and programming resources provided by SAS and other sources will be highlighted macro variable, sample source 14
320 Zoom, Zoom: Get Your Document to Scale Properly on All Paper Sizes Daniel O'Connor This paper will help you learn how to scale your large reports so they will always fit the paper size. The paper includes tips and tricks of the Output Delivery System (ODS) style that will make things fit without paneling your tables or clipping your graphs. Scaling to fit is a very difficult problem; learn how to tell SAS to "just make it fit." output delivery system, file statement, data visualization, sample source 19

Back to Conf go 2011 go 2009

This site serves as a convenient hosting location and does not work as a publisher. All copyrights belong to their respective owners.

The information on this site is provided for general reference purposes only. Whilst every effort is made to ensure that the site is up to date and accurate, no warrant, nor any responsibility or liability for, the accuracy or completeness of the content or for any loss which may arise from reliance on information contained in this site is provided. Links to other sites are provided for your convenience but no responsibility or liability for the content of those sites or of any external site which links to this site is accepted. References to any specific commercial product, process, service, or corporation are also for information only, and do not constitute endorsement, recommendation or favoring.

SAS is a registered trademark of SAS Institute Inc. SAS, Statistical Analysis System, and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. ® indicates USA registration.