HOME QUICK SEARCH AUTHORS KEYWORDS HELP BUGS

WUSS 2010 Papers - Index

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

# Title
×
Authors
×
Abstract
×
Keywords
×
Extras Pages
1 101 Applications of Multivariate Statistical Procedures: PRINCOMP, CLUSTER, DISCRIM in SAS 9.2 Keh-Dong Shiang This paper briefly introduces multivariate statistical analysis techniques, including procedures PROC PRINCOMP, PROC CLUSTER, and PROC DISCRIM in SAS version 9.2, which enable users to investigate relationships among multiple variables in the data. Two illustrative sports examples will be offered and demonstrated. Please note that this work is intended for the most basic, beginner-intermediate level audience, who has no familiarity or experience with cluster, discriminant, and principal component analyses. proc princomp, discriminant analysis, proc step, cluster analysis, label statement, covariance, correlation, sample, posterior probability, proc cluster, proc discrim, prior probability, proc freq, machine learning, proc tree, unsupervised learning, data science, predictor variable source 22
2 A Discussion of SAS's %CUMINCID Macro for Generating Cumulative Incidence Curves in Cases of Competing Risk in Survival Analysis Andrew Dagis The use of the Cumulative Incidence estimator in cases of competing risk in survival analysis is now being required by more and more medical journals. Efron's re-distribute to the right paradigm illustrates why use of the CI estimator is indicated in the case of competing risks. The SAS- supplied autocall macro %CUMINCID calculates and plots cumulative incidence curves. competing risks, survival analysis, rank test, log-rank test, proc means source 7
3 A New and Simpler Way to Compute Body's "Maximum Weight Limit" George C. J. Fernandez Body Mass Index (BMI) is a simple index of weight-for-height that is commonly used in screening overweight and obesity in both childhood and adult populations. It is defined as the weight in kilograms divided by the square of the height in meters (kg/m2) and it is 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, tables, 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, there is no need to calculate or know your BMI, nor need a chart or online calculator to figure out your Maximum Weight Limit. For men and women, there is a baseline height and weight. proc hpsplit, confidence interval source 12
4 A SAS Macro To Fit Parametric And Semi-Parametric SCCS Models Christina Clarke Self Controlled Case Series (SCCS) is a commonly used statistical method. Prior methodological studies have been done to fit parametric and semi-parametric SCCS models, and have provided code examples for a statistician to modify and use 1. Writing code to fit parametric and semi-parametric SCCS can be very complicated. A macro simplifies this process, and is portable for any study needing to employ this SCCS methodology. This macro will take care of all of the data manipulation as well as print out the two final models. Parameters For The SCCS Macro To run the SCCS macro, the user first must have their data in "long" format (i.e. one record per person, per event). Additionally, there are some variables that are expected for this macro to run, as well as a few parameters that must be user specified for the overall modeling. adverse events, error message source 4
5 A SAS Output Delivery System Menu for All Appetites and Applications Chevell T. Parker This document describes how to unleash the power of various ODS destinations to generate fantastic applications and reports. This power is evident when generating spreadsheets using a variety of ODS destinations. The document describes how and when to harness the power of ODS destinations. It describes methods to generate that perfect presentation-quality output. This includes general formatting, creating styles with the addition of templates that are specifically generated for EXCEL output, and all those little things that lead to great-looking output. excel, proc step, output delivery system, proc template, ods pdf, ods tagsets.excelxp, proc report, sas enterprise guide, ods html, set statement, user-defined format, macro variable, proc print source 25
6 A SAS/IntrNet Based Application to Enhance the Efficiency and Productivity of a Company Bing Hu TimeTrack is a productivity tool designed to optimize resource allocation and measure team's performance. It generates reports to pin-point productivity and resource allocation improvements. The application was initially developed to provide clients with full transparency about the billing hours of a team. It has become a tool to better analyze a team's productivity, plan future team growth and improve resources allocation. The user enters time allocation for his or her daily activities according to pre-defined categories, sub-categories, studies, initiatives and clients. These fields and related drop down lists are fully customizable according to the client's needs. Using TimeTrack metrics, a manager is also in a better position to communicate the value of a team by accurately measuring the cost, performance and accomplishments of her team to other departments and upper management. TimeTrack generates graphical reports & charts that effectively analyze and summarize activities. resource allocation, data science, excel, macro variable source 10
7 An Excel Framework to Convert Clinical Data to CDISC SDTM Leveraging SAS Technology Ale Gicqueau CDISC SDTM data is the standard format requested by the FDA for clinical trial data submission. SAS is often used as an Extract, Transform, Load (ETL) tool to manually convert SAS extracts from a clinical database to SDTM format. While this is a reasonable approach, it can quickly become tedious, error-prone, and time-consuming. In addition, the code is difficult to maintain. As an alternative, Clinovo has developed an EXCEL framework that maps any clinical database to CDISC SDTM. All mapping definitions and rules written in EXCEL are then dynamically converted into a SAS program that can perform the SDTM transformation and validation with minimum programming through a series of SAS macros. Our framework is highly extensible and we can rely on a function library of SAS macros for mapping standard data elements. Additionally, this framework supports natively CDISC controlled terminology. This presentation will be very helpful for SAS programmers interested in converting clinical data to CDISC SDTM. clinical data, excel, clinical database, macro definition, inner join, cdisc source 12
8 An Introduction to Creating Multi-Sheet Microsoft Excel Workbooks the Easy Way with SAS Vincent DelGobbo Transferring SAS data and analytical results between SAS and Microsoft EXCEL can be difficult, especially when SAS is not installed on a Windows platform. T his talk provides basic information on how to use Base SAS9 software to create multi-sheet Microsoft EXCEL workbooks (for EXCEL versions 2002 and later). You will learn techniques for quickly and easily creating attractive, multi-sheet EXCEL workb ooks that contain your SAS output using the ExcelXP ODS tagset. The techniques that are presented in this talk can be used regardless of the platform on which SAS software is installed. You can even use them on a mainframe! excel, xls source 4
9 An Introduction to SAS Character Functions Ronald P. Cody character variable, substr function, compress function, length statement, character functions, input statement, verify source 17
10 An Introduction to SAS Hash Programming Techniques Kirk Paul Lafler SAS users are always interested in learning techniques that will help them improve the performance of table look up, search, and sort operations. Beginning in Version 9.1, SAS software supports a DATA STEP programming technique known as hash to allow a data structure to associate a key with one or more values. This presentation introduces what a hash object is, how it works, and the syntax required. Essential programming techniques will be illustrated that sort data, search memory -resident data using a simple key to find a single value, as well as more complex programming techniques that use a composite key to search for multiple values. hash table, lookup, composite key, sas log, proc sort source 6
11 An Introduction to Statistical Tests for the SAS Programmer Sara Beck Often SAS Programmers find themselves in situations where performing a preliminary statistical analysi s is beneficial. Basic statistical tests can help progra mmers better understand relationships between varia bles and notice when data aren't as expected. There is no shortage of resources for the statistician who uses SAS, bu t resources for the SAS programmer wanting to learn statistics are much more difficult to find. The aim of this pa per is to help SAS programmers with no statistical training become comfortable coding and interpreting statistical te sts in SAS. This paper discusses the following topics: An explanation of the definition of a statistical test and categorical, ordinal and interval types o f variables. A brief discussion of commonly used statistical t ests such as t-test, chi square, simple and multipl e regression and ANOVA. * Examples of how commonly used statistical tests a re implemented in SAS, how to code dummy variables and what SAS options are useful . null hypothesis, proc reg, anova, degrees of freedom, sas programmer, regression analysis, nominal variable, alternative hypothesis, proc step, multiple regression, standard deviation, class variable, response variable, interval variable, proc freq, proc glm, sample, ordinal variable, estimate, sas output, proc anova, proc genmod, binary variable source 10
12 An Overview of Analytic Procedures Used in Observational Hematopoietic Cell Transplant Studies Joycelynne Palmer This presentation will pr ovide an overview of the analytic approach and SAS procedur es commonly used in hematopoietic cell tra nsplant (HCT) studies. The primary objective of most observational HCT studies is to analyze and report complication and outcomes data post treatment, with the goal of improving outcomes long-term. While it is customary to utilize SAS procedures to generate Kaplan-Meier curves for survival endpoints (e.g., PROC LIFETEST) and model risk factors using Cox regression (e.g., PROC PHREG), for endpoints where co mpeting risks are an issue (e.g., time to onset of ac ute graft versus host diseas e) alternate procedures must be employed. The process es and procedures used to analyze and summarize data within this context will be presented. competing risks, confidence interval, proc step source 10
13 Analytical ETL Matthias Kehder A DataPipe or analytical ETL (Extract, Transform an d Load) implementation gives organizations affordab le, sustainable and easy-to-use analytical solutions. A DataPipe integrates data from a variety of source s across an organization and provides a self-service data kiosk from which predictive models, forecasts, OLAP cubes and reports can be created. Analytical ETL e nsures the predictive needs of an organization can be met, predictive model samples can be easily modifie d, 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 so urces, produce a reliable and scalable platform based on s tandardized, business-user approved quantitative variables, and can perform scheduled scoring. sample, business intelligence source 5
14 Analyzing Data from Complex Samples Using PROC SURVEYFREQ in SAS 9.2 Kathryn Martin With recent releases, SAS has become increasingly capable of analyzing survey data. Descriptive statistics, cross- tabulations, and regression models can be computed using procedures that account for complex sampling schemes and survey designs. The SURVEYFREQ procedure, for instance, is a common method for computing population- based prevalence estimates of health indicators using data from large national and statewide surveys. Although this procedure may seem familiar to users of PROC FREQ, there are important differences between the analysis of survey data and simple random samples. This paper will provide an overview of PROC SURVEYFREQ and discuss syntax that produces weighted estimates of prevalence and standard errors. sample, proc surveyfreq, proc step, proc calis, population, missing value, proc freq, where statement, cluster sampling, finite population correction, random sampling source 7
15 Analyzing Social Media Tweets with SAS Sy J. Truong The library of congress is archiving all Twitter messages since the messages posted capture the most unfiltered and immediate opinions representing the ethos of popular culture. The information posted on Twitter expresses the most up to date pulse on a large range of topics and is a powerful research tool. With several billion messages posted since 2006 along with constant new posts; this creates challenges in finding the information matching your particular interest. This paper describes techniques on how SAS macros is used to analyze the messages or tweets that you posted and compares it with all other posts. It describes how PROC CLUSTER is used along with other SAS logic to find the best correlation of ideas and topics that are of similar interest. It then presents this recommended feed to you. The analysis of SAS goes beyond an individual ability to manually search since the criteria are constantly updated with what you post and what you decide to read from the recommended feeds. macro definition, proc step, proc cluster source 9
16 Answering Your Research Questions with Descriptive Statistics Diana D. Suhr Projects include a plan, outcomes, and measuring results. In order to determine the outcomes of a project, questions are asked and data is examined. A guide to determine appropriate statistical tests given a list of questions will be discussed. Descriptive statistics range from normality/percentiles/quartiles (PROC UNIVARIATE), to frequencies (PROC FREQ) and means (PROC MEANS). This presentations will discuss preparing your data for analysis as well as using appropriate statistical tests to answer your research questions without going into details of coding or interpreting the analysis. proc step, proc freq, frequency analysis, sample, data science, response variable, missing value, input statement, proc glm, proc calis, correlation, proc cancorr, proc genmod source 7
17 Answering Your Research Questions with Inferential Statistics Diana D. Suhr Projects include a plan, outcomes, and measuring results. In order to examine the results of a project, questions are asked and data is analyzed and investigated. A guide to determine appropriate statistical tests given a list of questions will be discussed in this presentation. Inferential statistics range from simple t-tests (PROC MEANS), anova (PROC GLM), regression (PROC REG) to multivariate analysis (factor analysis, principal component analysis, multivariate anova, discriminate analysis, structural equation modeling, etc) (PROC FACTOR, PROC GLM, PROC DISCRIM, PROC CALIS). This presentation will discuss using appropriate statistical tests to answer your research questions without going into details of coding or interpreting the analysis. proc step, proc glm, response variable, data science, proc calis, correlation, sample, proc reg, proc freq, proc genmod, missing value, proc corr, input statement, frequency analysis, predictor variable, latent variable, multivariate analysis, anova, proc cancorr, logistic distribution, regression analysis, proc princomp source 10
18 Application of DICTIONARY Tables and SASHELP Views Kirk Paul Lafler DICTIONARY tables and SASHELP views provide useful information about your operating environment, d atabase objects (tables, indexes, views), and SAS session. At any time during a SAS session, information about system options, librefs, table names, column names and attributes, formats, indexes, and more can be accessed. This presentation illustrates the positives and negatives with traditional approaches to capturing metadata, explores the content-filled DICTIONARY tables and SASHELP views, and the application of DICTIONARY tables and SASHELP views for producing system management requirements including v ariable cross -reference listings, database object listings, table (data set) row (observation) counts, column and index analysis listings. dictionary tables, proc sql, proc step, create table, options statement, select source 9
19 Applied Revolutionary Business Intelligence Charles D. Kincaid sas enterprise guide, filename statement, business intelligence source 12
20 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 6
21 Automating the Installation and Operational Qualifications of Your SAS Applications with the SAS System Joe Perry Many industries require that new software installations go through checks that they have both been installed correctly (Installation Qualification or IQ) as well as operate as intended (Operational Qualification or OQ). Modest software development projects can use one or more brute force methods of performing or ensuring the critical software qualifications of the software placed in the hands of the end-user. As anyone who plans, executes or supports software validation activities knows: preparing, executing and documenting the validation processes can be time consuming and costly. Recognizing this, the SAS Institute has pre-packaged IQ and OQ routines that ease the task of installing SAS in controlled environments, saving users considerable time and money. With proper planning during the software development process, other SAS-based applications can also benefit from these automated qualification routines. data cleaning, macro variable source 6
22 Automation of 'makefile' for Use in Clinical Development Nalin Tikoo The 'make' utility is a software engineering tool for managing and maintaining computer programs. It has been used widely in clinical development in t he area of statistical programming to manage the creation and maintenance of SAS programs generating various outputs such as datasets, tables, listings & graphs. This paper introduces how the creation of descriptor file used by the ' make' utility has been automated at BioMarin Pharmaceutical Inc. Details about the descriptor file syntax & the SAS program used to create it are described. sdtm domain, macro variable, raw data, adam dataset, sample, cdisc source 7
23 Base SAS Tips, Tricks and Techniques Kirk Paul Lafler The base -SAS System offers users the power of a comprehensive DATA STEP programming language, an assortment of powerful PROCs, a macro language that extends the capabilities of the SAS System, and user -friendly interfaces including the SAS Display Manager. This presentation highlights numerous SAS tips, tricks and techniques using a collection of proven code examples related to e ffectively using the SAS Display Manager and its many features; process DATA STEP statements to handle subroutines and code libraries; deliver output in a variety of formats; construct reusable code; troubleshoot and debug code; and an assortment of other topics. proc univariate, proc step, options statement, proc sql, dataset, macro facility, macro variable, macro parameter, %macro parameters, sas log, dictionary tables, ods pdf, ods rtf, sas output, if-then-else, ods html, macro definition source 15
24 Blocked Randomization with Randomly Selected Block Sizes: A Flexible SAS Macro Jimmy Thomas Efird Blocked Randomization is a commonly used technique in clinical trial design to reduce bias and achieve balance in the allocation of participants to treatment arms of a study. However, when the investigator is not blinded and the block size is fixed, the allocation process is predictable. This paper provides a SAS macro to perform blocked randomization with randomly selected block sizes. randomization, clinical trial, sample size, sample, treatment arm source 3
25 Building Reports and Documents in SAS Enterprise Guide 4.2: How to Create a Single Document from Multiple Reports and Tasks R. Scott Leslie The new report building functions in Version 4.2 of SAS Enterprise Guide allow greater ability to create and publish final documents from multiple project tasks and reports. This tutorial demonstrates how to leverage the power of SAS while using the handy features of Enterprise Guide to create a process flow for generating reports. Topics covered include: navigating the Enterprise Guide 4.2 menus, creating a report with the Report Builder wizard, combining reports and tasks into a single document using Report layout, and using prompts to generate custom reports from a template. sas enterprise guide, proc print, bar chart, proc step source 12
26 Calculate the Area Above and/or Below a Given Reference Line Using SAS Data Steps Qiwen Huang Data of clinical trial studies usually have multiple records for measurements over various time points for each individual. In some cases area calculation will be applied for interested variables. This paper presents a simple and flexible way to calculate the area above and/or below a given reference line with unequal intervals for each individual using SAS Data steps only. A macro code is also provided. auc, data step source 9
27 Check and Document Data Integrity with PROC DATASETS Patrick Thornton I often receive data that is collected and entered without integrity control. My first task is always to examine variable values and ranges within and across variables, and secondly to check for observations matching on ID variables between 2 or more data sets. This paper introduces PROC DATASETS IC (integrity constraints), AUDIT, and metadata as a means to check, flag and document data integrity. A common approach is to use IF statements in DATA steps to flag problem observations; however, PROC DATASETS offers the same capability with the added benefit of automatically saving in metadata the syntax used to enforce the constraint and a custom message about the constraint. This paper demonstrates the benefits and challenges of using PROC DATASETS to check and document data integrity while including a macro program to implement the strategy. This paper was written for the intermediate SAS user and the syntax was run with SAS 9.2 on a Windows OS. constraint, proc step, data integrity, proc datasets, proc contents, key, if-then-else, character variable, proc freq, macro variable source 10
28 Choosing the Best Method to Create an Excel Report Romain Miralles PROC EXPORT, LIBNAME, DDE or excelXP tagset ? Many techniques exist to create an EXCEL file using SAS . Which one is the best one? Well, it depends; each of them offers some unique advantages. LIBNAME statement is a new and useful option availa ble with SAS 9 but old methods like DDE are still v ery powerful and offer some unique capabilities. Knowing and und erstanding the different techniques is essential fo r SAS programmers to quickly and effectively produce a report that will meet the requirement provided by the customer. This paper will briefly describe the main technique s to generate an EXCEL file from SAS, and provide recommendations on the appropriate method to use when an EXCEL output must be created. excel, proc export, proc step, name range list, libname engine, sas programmer, dataset, label statement, ods excel source 12
29 Choosing the Best Way to Store and Manipulate Lists in SAS Dmitry Rozhetskin A list is defined as a sequence of element s. One of the most interesting ex amples of a list is the sequence of character strings. In SAS , there are different methods to store lists. We will demonstrate in this paper some of the most popular methods of storing lists, including records in a dataset, multiple macro variables, or a single macro variable. We will compare the advantages and di sadvantages of each method and provide the guidance on how to choose the most efficient method. Techniques fo r conversion among different storage met hods will also be presented, allowing easy transition and thus proper selection of the list storage. macro variable, character functions, proc sql, macro loop source 10
30 Clinical Graphs using ODS Graphics Sanjay N. Matange Safety data for clinical trials is often collected in tabular form. The process of interpretation and analysis can be made more effective by the usage of g raphical display of this data along with the generated statistics. Displays such as Liver Function Test Panels and Matrices, Hazard Function Plots, P atient Profiles, Adverse Event Plots, Lab Tests for Blood Chemistry and Hematology are commonly used in the Health and L ife Sciences domain. Many of these graphs are easy to do using one of the many tools available in the ODS Graphics tool set This paper will describe in detail how to create these standard graphs for the Health and Life Sciences industry using ODS Graphics. box plot, change from baseline, adverse events, scatter plot, series plot, graph template language, proc sgpanel, hazard function, study day source 25
31 Creating a Patient Profile using CDISC SDTM Marc Desgrousilliers CDISC SDTM data is the standard format requested by the FDA for clinical trial data submission. CDISC SDTM is the most complete and recognized standard available for clinical data that facilitates FDA submission. In this presentation, we will demonstrate how to leverage the SAS technology to create a detailed patient profile for a new study with no additional programming, once the d ata has been mapped to CDISC SDTM. Code components created to manipulate data in a standard format can be re-used to create standard reports for another study. In our prototype, we show how to build a customized patient profile reporting system from CDISC SDTM data using a Unix Server. A shell script parses the sponsor's requests, which include the study id, the patient list, SDTM domains, paths for log file and output, the output FILENAME and the format for output. clinical trial, clinical data, data validation rules, excel, data cleaning, cdisc source 5
32 Creating Presentation-Quality ODS Graphics Output Cleester D. 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
33 Creating Variables: Traps and Pitfalls Olena Galligan Creation of variables is one of the most common SAS programming tasks. However, sometimes it produces unexpected results without an error or warning message in the SAS log. These unexpected results could occur while performing illegal operations such as division by zero or attempting calculations involving missing values. Or they could happen while doing calculations in DATA steps containing MERGE OR SET statements. One should also be beware of the frequent issues concerning numeric comparisons, concatenation of character variables and order of evaluation of numeric variables. This paper examines these issues, points out what to look for in note messages in SAS log and offers defensive programming techniques. missing value, sas log, retain, character variable, rename statement, by group processing, where statement, if-then-else source 10
34 Data Visualization: "Every Picture Tells a Story" or "Putting Atomic Numbers on Your Socks"? AnnMaria De Mars Good data visualization is all about telling a story. Visual representation in one context is often misapplied to another, for example, maps of movies, a concept which one classic text author called as logical as putting atomic numbers on your socks. What is a bad visualization for one question can be good for another. An example we use is a map of likely voters. To forecast an election, this is misleading, because large states like Wyoming have fewer electoral votes than tiny New Jersey. However, if your question is which regions supported the Democrats, a map is a good choice. Dashboards can be a useful visualization for monitoring performance in a corporation. Scientific research requires a different set of graphics. In this paper, several examples of visual representation are used for the purpose of answering questions commonly posed in management and science. proc step, proc hpsplit, dataset, roc curve, data visualization, type i error, bar chart, proc format, proc tabulate, sample, by group processing, sas enterprise guide, predictor variable, repeated measures, logistic distribution, regression analysis, repeated measures anova, correlation, anova source 11
35 Decision Trees as a Predictive Modeling Method Gerry Hobbs Predictive modeling has become an important area of interest in tasks such as credit scoring, target marketing, medical diagnosis and fraud detection. The SAS System provides many tools that may be used in the prediction of both continuous and categorical targets. In this presentation I will limit myself to prediction algorithms based on recursive partitioning, commonly called decision trees. Several widely used algorithms exist and are known by the names; CART, C5.0 and CHAID, among others. Decision trees involve splitting the data into groups by successively dividing the data into subgroups based on empirically derived associations between the response (target) and one or more predictor variables. In that effort observations are sorted into bins based on the value(s) of the predictor(s). proc hpsplit, predictor variable, regression analysis, sample, validation set, data cleaning, nominal variable, response variable, training set, bootstrap source 7
36 Dummy Coding for Dummies Kathryn Martin There are a number of ways to incorporate categorical variables into regression analysis in SAS, one of which is to create dummy variables in the DATA STEP. Alternatively, parameterization can be automated in PROC LOGISTIC using the CLASS statement. However, it is important to understand SAS default settings and how they affect the interpretation of results. Understanding how variables are coded also allows analysts to make comparisons across different categories of one or more variables using the CONTRAST statement in PROC LOGISITIC. This paper will review aspects of dummy coding in the DATA STEP and PROC LOGISTIC, SAS default settings, interpretation of regression parameters, and hypothesis testing using the CONTRAST statement. regression analysis, odds ratio, estimate, logistic distribution, proc step, binary variable, predictor variable, maximum likelihood estimation, logistic regression, proc logistic, likelihood function, nominal variable, sample, proc reg source 10
37 Emailing Automated Notification of Errors in a Batch SAS Program Julie A. Kilburn With multiple programmers contributing to a batch SAS program that runs nightly, we needed a way for the program to automatically notify the appropriate programmer if an error in the log occurred. Further we wanted to identify specifically what that error was and which contributing section of code caused the problem. This paper contains an example of one solution that uses email sent from SAS and macro variables that you may not even know existed! txt, error message, macro variable, sas batch source 6
38 Essential Project Management Reports in Clinical Development Nalin Tikoo Throughout the course of a clinical trial the Statistical Programming group is responsible for the development and management of SAS programs that generate various outputs such as datasets, tables, listings and graphs. As the clinical development program moves forward these deliverables become increasingly numerous and more challenging to manage. Details about the programs and the project management reports they produce are described in this paper. sample, reconciliation report, clinical research source 6
39 Essential SAS ODS PDF Patrick Thornton This paper lists and demonstrates the ODS techniques that I have found most useful in creating user friendly PDF reports in SAS 9.2 on a Windows operating system. Basic ODS techniques include creating PDF files (e.g. ODS PDF FILE= STYLE= KEYWORD= COLUMNS=), modifying page setup (e.g. orientation, date, title, and footnote), and saving procedural output to data sets (e.g. ODS OUTPUT), The examples also demonstrate simultaneously creating two PDF destinations (i.e. ODS PDF ID=) and selectively including or excluding procedural output to each destination (e.g. ODS PDF SELECT, EXCLUDE and WHERE=). Two PDF files are simultaneously created where PROC FREQ listings are directed to one file and selected PROC FREQ results are combined with PROC REPORT to create an proc step, ods pdf, proc freq, proc report, macro variable, proc sql source 10
40 Evaluating the Effectiveness of a Calcium Nutrition Educational Intervention for Middle School Students in Nevada using SAS Ryan Fernandez Calcium is an essential mineral that is found and utilized in the human body. It plays a role in many physiologic functions including muscle contraction, blood vessel expansion and contraction, secretion of hormones and enzymes, and transmitting electrical impulses throughout the nervous system. An estimated 1.5 million fractures occur each year in the United States due to osteoporosis. The aim of this study is to evaluate the effectiveness of calcium nutrition interventions for middle school students in Nevada. The overarching research question is whether the interventions were successful in improving the calcium nutrition knowledge of the students. University of Nevada Reno Cooperative Extension has been administering calcium nutrition educational interventions for the past five years; data have been collected from pretests and posttests (corresponding to pre and post intervention) completed by the students. proc step, proc ttest, proc mixed, proc freq source 14
41 Everything You Need to Know About Writing a Paper and Presenting it at WUSS Nikki M. Carroll For many of us the writing and presentation of a paper at a conference can be a daunting task. Writing SAS code at your desk and writing about it are two different things. For even more people the idea of presenting your paper in a public forum can be the hardest part of all. With a few suggestions and a little preparation, writing your paper and presenting it will be easier than doing PROC PRINT. proc print, proc step source 8
42 Expanding Treatment Start and Stop Dates into a Daily Account of Treatment Exposure Faith Beery When treatment data are collected in the form of start and stop dates, and there are many possible treatments over the course of a longitudinal study, it is often difficult to determine efficiently what treatment combination a patient is receiving on a particular day. The objective of this paper is to demonstrate a method to transform a dataset with start and stop records into one that has one observation per patient per day of study participation. Each observation of this day-level dataset would contain information about the treatment(s) that the patient was receiving on each day of follow up, providing a daily account of treatment exposure. With such a dataset, a programmer or analyst would be able to access treatment exposure variables more easily, such as whether patients were receiving a combination of treatments on the day after a specific test, during their last follow-up visit, or the day before a hospital admission. binary variable, sample source 4
43 From Novice to Intermediate in (Approximately) Sixty Minutes: I. Functions, Programming, and Processing - the Power to Choose AnnMaria De Mars This presentation assumes that you are either a novice programmer or someone who mentors novice programmers. The differences that move someone out of the novice category boil down to design choices. We will dissect programs from novice programmers and modify these to illustrate more effective and efficient choices. Experienced programmers have a wider variety of function options in their toolkit. For example, a researcher wants to categorize people who have ANY positive response to five questions on raising taxes. There are a variety of solutions, but a single statement that does exactly what the researcher desires is: Taxes = MAX(of q1 - q5). Experienced programmers have greater knowledge about how SAS processes data and a wider selection of programming options. source 14
44 From Novice to Intermediate in (Approximately) Sixty Minutes: II. SAS Procedures Beyond the Basics AnnMaria De Mars What's your favorite PROC? As a novice, you usually first learn PROC PRINT, PROC SORT, PROC FREQ and PROC CONTENTS. To go from novice to intermediate, it's time to branch out in two ways. The first is to learn some additional features of the procedures you already know. The second is to learn new procedures. To be discussed in this hour: freaky things with PROC FREQ; my five favorite PROCs (I couldn't choose just one) - FORMAT, which can be used to change a numeric variable to character, perform a table look-up and just to make your output more readable; TRANSPOSE, which has the obvious use of changing data from the format you received it in to the format you want it in, and can also be applied to the output of other procedures, such as FREQ or SUMMARY, to create a dataset used to check for data quality; UNIVARIATE, which gives almost all of the basic statistics; CORR, all the rest of basic statistics and a few less basic; and TABULATE, the perfect answer to output for the web. proc step, proc freq source 17
45 From Novice to Intermediate in (Approximately) Sixty Minutes: III. Presentation AnnMaria De Mars As you move from novice to intermediate, you'll expand your knowledge from just Base SAS to Enterprise Guide, SAS/GRAPH, ODS or maybe even JMP. The session begins by improving the look of your printed documents with ODS. Once you have used the procedures from session II to format your data and create tables, ODS can produce those with a variety of styles and file types. The secret of keeping you and your clients happy is to give them 20 different formats and if they don't like the one you used, you can have another done this afternoon, no HTML or CSS required. Presentation can really be enhanced with pictures. Great graphics will be demonstrated that require little or no knowledge of SAS/GRAPH but include a little bit of cheating using Enterprise Guide, modifying graphic examples or ODS Statistical Graphics. Because you never know what system you'll be working on, we'll end with a quick look back at Graph-N-Go and forward to JMP. sas enterprise guide, proc step, bar chart, proc format, dataset, proc print, cumulative frequency, proc freq, character variable source 15
46 Fuzzy Hierarchical Merge Algorithm with Boundary Conditions Dale Harrington This paper discusses techniques for match merging data files where no key field exists. The concepts covered in the article are 1) what is a fuzzy merge, 2) when you can consider using a fuzzy merge, 3) when a hierarchical merge approach should be used, 4) how you can apply boundary conditions to improve the accuracy of the fuzzy merge, and 5) a method to validate the accuracy of the merge. The article will use a recent application of these techniques to illustrate the process. sample, dataset, type i error source 4
47 Get a Grip on Arrays in Just 50 Minutes! Arthur X. Li Utilizing array processing allows us to reduce the amount of coding in the DATA STEP. In addition to learning how to create one- and multi-dimensional arrays, this paper will review how to create an explicit loop in the DATA STEP - the prerequisite of constructing an array. You will also be exposed to what happens in the Program Data Vector (PDV) during array processing. A wide range of applications in using loop structures with array processing, such as recoding missing values for a list of variables, transforming datasets, etc., will be covered in this paper. do loop, array, execution phase, output, in=, out=, missing value, dataset, compilation phase, array bounds, temporary array, automatic variable, implicit loop, set statement, class variable source 14
48 Get a Grip on Macros in Just 50 Minutes! Arthur X. Li The SAS macro facility, which includes macro variables and macro programs, is the most useful tool to develop your own applications. Beginning SAS programmers often don't realize that the most important function in learning a macro program is understanding the macro language processing rather than just learning the syntax. The lack of understanding includes how SAS statements are transferred from the input stack to the macro processor and the 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 STEP execution. In this talk, these issues are addressed via creating simple macro applications step-by-step. macro definition, macro facility, macro variable source 25
49 Get to Know Comparative Effectiveness Research; It's Here To Stay R. Scott Leslie The American Recovery and Reinvestment Act (ARRA) of 2009 that was passed to jumpstart the economy included $1.1 billion for comparative effectiveness research (CER). This bolus of funding instantly created demand for health economic and outcomes research. Proficient SAS programmers are well-suited to conduct CER analyses and will be in high demand for years to come as a result of this Recovery Act funding. This paper briefly describes the renewed emphasis on CER, the government agencies providing the funds, types of CER investments, and an example of a simple comparative effectiveness analysis of two medication treatments. propensity score, sas enterprise guide source 7
50 Getting Started with SAS OnDemand for Academics: Enterprise Miner Gerardo Perez-Lizarraga Given its multiple applications in different fields such as transportation, economics, health, and public policy, the demand for SAS is increasing at a very fast pace. In order to meet this demand, SAS has launched several packages. One of those new offerings attracting the most attention in the educational market is SAS OnDemand for Academics: Enterprise Miner. This is an extremely powerful application, offered free for university coursework. It has great potential for expanding teaching and learning capabilities, but, unfortunately, difficulty getting started has sometimes presented a barrier to its adoption. While the process is non-trivial, it is something that can be done by the average undergraduate or graduate student. This presentation will consist of all the steps required to create an account, download the software, and open it in one's computer, including trouble-shooting for common installation problems. data mining, data science source 9
51 Getting Up to Speed with PROC REPORT Kimberly J. LeBouton Learning the basics of PROC REPORT can help the new SAS user avoid hours of headaches. PROC REPORT can often be used in lieu of PROC TABULATE or DATA _NULL_ reporting--two areas that have driven the ne w SAS user crazy!!! With the added capabilities of ODS, P ROC REPORT can look as sharp as an EXCEL report. Th is paper will show how to use PROC REPORT in both a wi ndowing and non-windowing environment using SAS Version 9. proc report, proc step, proc print, proc tabulate, proc means, variable source 7
52 Graphing a Progression of Time Series Plots Nathaniel Derby When graphing an ordered progression of time series plots, it can be difficult to effectively display the progression without looking disorganized and chaotic. Graphing is an essential step for exploratory data analysis and statistical modeling. This paper shows one approach to this problem, with a couple of variations, using the SAS/GRAPH package. KEYWORDS: SAS, graph,PROC GPLOT, time series. All data sets and SAS code used in this paper are downloadable fromhttp://nderby.org/docs/WUSS10-TSPlots.zip. exploratory data analysis, time series analysis, data science, random intercept, macro definition source 9
53 Habits that Help: Developing Good Programming Style Casey Cantrell The first goal of most new programmers is to write programs that run. Often, more time is spent checking and debugging programs than is spent writing them. As programmers mature, they typically find it easier to test, debug and document their programs. This occurs in large part because they have developed a consistent programming style and acquired habits that expedite error detection and documentation. Putting into practice a few simple procedures will yield significant benefits: greater accuracy, fewer hours invested and less aggravation. This paper will discuss practical programming 'habits' that will make the programmer's work easier. proc step, sample, missing value, do loop, proc format, if-then-else source 13
54 HELP, My SAS Program isn't Working: Where to Turn When You Need Help Kimberly J. LeBouton Instead of a quick code fix, I often assist the SAS user by troubleshooting their issue with my knowledge of SAS and the SAS community. For over 20 years, I have provided SAS Technical Support, and this paper will present strategies I have used to work through simple to complex technical problems, and will include access to my "cheat sheets". put statement, sample, sas log, macro put source 4
55 How to Use ARRAYs and DO Loops: Do I DO OVER or Do I DO i? Jennifer L. Waller Do you tend to copy DATA STEP code over and over and just change the variable? Do you want to learn how to take those hundreds of lines of code that essentially do the same operation and reduce them to something 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, how to set up an ARRAY with and without specifying the number of array elements, and determine what type of DO loop is most appropriate to use within the constraints of the task you want to perform. Additionally, you will learn how to restructure your data set using ARRAYs and DO loops rather than PROC TRANSPOSE. do loop, do over, end source 11
56 Importing Excel Files Into SAS Using DDE Curtis A. Smith With the popularity of EXCEL files, the SAS user could use an easy way to get EXCEL files into SAS. There are many good methods to do so, one of them being Dynamic Data Exchange (DDE). A SAS user can use DDE within SAS code to make importing an EXCEL file routine and easily repeatable. The author will show how he uses DDE within SAS to routinely import into SAS lookup tables downloaded from an Enterprise Resource Planning (ERP) system as EXCEL files. The basic DDE statements needed to accomplish this are surprising simple. excel, xls, sas log, filename statement, sas enterprise guide, sas base, error message, dataset source 9
57 Introduction to Office Open XML for SAS Programmers James J. Van Campen This paper presents the basics about Office Open XML (OpenXML) and Microsoft Office 2007 documents (EXCEL, Word, etc.). Office 2007 documents are collections of XML files bundled into a single ZIP file. It will be shown how to unzip Office 2007 documents and examine their underlying structure. Understanding this file structure is the first step in creating and manipulating Office 2007 documents from SAS. excel, sas programmer source 3
58 Introduction to Summary Tables in SAS Enterprise Guide Lora D. Delwiche This paper shows, step-by-step, how to use the Summary Tables task in SAS Enterprise Guide to produce polished reports. Summary Tables is based on the TABLULATE procedure, but you don't need to know PROC TABULATE or even how to write SAS programs to use this feature. Whether you are a seasoned SAS programmer or new to SAS, sas enterprise guide, proc tabulate, missing value, dataset, proc step source 15
59 It's All about Variation: Improving Your Business Process with Statistical Thinking Robert N. Rodriguez This paper explains how statistical thinking and statistical process monitoring, which have been practiced in manufac- turing for the past thirty years, are proving valuable for process improvement in business environments that range from health care to financial services. Basic examples drawn from real scenarios introduce the statistical concepts and show how to get started with SAS/QC software. The concepts also apply to complex systems that involve large volumes of multivariate data with multiple sources of variation. The examples demonstrate the use of graphical displays, cre- ated with ODS Statistical Graphics, for visualizing and analyzing the variation in a process and for explaining results to clients and management. phase i, phase ii, histogram, proc step source 18
60 Key Elements to Develop SAS Macros Wei Cheng While much new functionalities have been added to the SAS system, SAS macro facility remains indispensible for developing SAS programs. Even for experienced SAS programmers, successfully developing a maintainable, robust SAS macro can be a daunting job. This paper deciphers essential elements in macro development; suggestions will be made about how to fully utilize this powerful tool. The intended audience is SAS programmers who have a basic knowledge of the macro facility and who want to build better SAS macros. macro variable, macro definition, sas log, sas programmer, macro function, macro quoting function, macro facility, macro put, proc step, stored macro, automatic macro variable, proc freq, symbol table, autocall macro, options statement, sas programming, data step, &variable source 14
61 Lean Sigma for Process Improvement - Overview and Implementation Doug E. Lassman Lean Sigma is a combination of Lean Manufacturing and Six Sigma that seeks to remove wasteful steps while reducing variability in the business process. This paper will describe the five stages of Lean Sigma: Define, Measure, Analyze, Improve and Control. Also other tools and methodologies will be discussed including SIPOC Diagrams, Control Charts, Pareto Charts and Cause-and-effect diagrams. Finally, an implementation of Lean Sigma in the pharmaceutical programming environment will be covered. data step, standard deviation source 7
62 Listening to the Voice of the Customer when Deploying Your Application: Using SAS and Design Methodologies to Create a Pleasing User Installation Experience Joe Perry We have all had to install software from a simple package like WinZip or something more complex like SAS and these installations create a lasting first impression about the quality of the software vendor's product and the competency of their coding. Whether you work for a large company planning an internal deployment or a small company deploying your software at multiple client sites, you have limited opportunities to create a good impression and continue the business relationships you have made. The fact is that whether you like it or not, just like meeting other people, first impressions count, and the installation and first use of your software is your opportunity to make that impression a good one. This paper explores how to think like a naive SAS user and not like a programmer while planning your next deployment of your application. macro catalog, txt source 5
63 LOCF-Different Approaches, Same Results Using LAG Function, RETAIN Statement, and ARRAY Facility Iuliana Barbalau LOCF stands for "Last Observation Carried Forward" and is a frequently used method in Clinical Trials Environment, and a popular imputation method used in the pharmaceutical industry. For example, if a patient drops out of the study after the second week, then the value is "carried forward" until the end of the treatment as a conservative estimate of how well the subject would have done had he or she remained in the study [1]. In another application, a vital signs dataset contains an observation for each time a patient has a scheduled/unscheduled visit with a doctor. If a patient missed an assigned visit, then the primary measure is missing. For this paper, we will be considering the weight, as measurement of interest. LOCF imputation would use non-missing weight from an early visit as the weight for the later missing visit. This paper introduces SAS syntax to accomplish LOCF, and demonstrates the use of RETAIN statement, ARRAY facility, and LAG function. retain, lag function, proc sort, last observation carried forward source 5
64 Logit-based Neutral Zone Classification Algorithm with Application to Microbial Community Profiling Rebecca Le Microbial community compositions are identified in a cost-effective manner by a method called Oligonucleotide Fingerprinting of rRNA Genes (OFRG). Hybridization signal intensities between gene clones and probes are observed and classified into classes of non-binding or complete binding to build OFRG fingerprints which are then clustered into microbial communities. Neutral Zone Classifiers (NZC) have been recently developed to improve the fidelity of this approach by assigning class labels N for any ambiguous hybridization values under the prior assumptions of independent data among probes and Gaussian mixture class distributions. To account for the potential correlation between probes when experiencing hybridizations on the same clone, a Logit-based Neutral Zone Classifier (LNZC) is developed using a Generalized Linear Mixed Model. In this paper, a process of building a logit-based classifier is illustrated using the GLIMMIX procedure in SAS 9.2. posterior probability, estimate, proc mixed, training set, proc glimmix, data cleaning source 9
65 Longitudinal Data Techniques: Looking Across Observations Ronald P. Cody proc step, proc freq, lag function, by group processing, set statement, longitudinal data, retain, proc means source 7
66 Macros for Managing Messy Data: Handling Duplicate Study Participants, and Making Fuzzy Matches Across Multiple Data Sets Jefferson L. Wood,
Dennis G. Fisher,
Lucy Napper,
Grace L. Reynolds
The California State University Long Beach, Center for Behavioral Research & Services (CBRS) conducts behavioral research among "hard-to-reach" populations in Southern California. Every effort is made during data collection to identify individuals participating in research and link them to a unified participant record maintained by CBRS which details all of the individual's prior contact with the agency. However, respondents can provide incomplete or inconsistent personal information making it possible for CBRS staff to incorrectly establish a new participant ID for a person with a prior record of study participation instead of amending the existing record. Errors of this type are eventually identified, but often only after substantial research data has been collected. date variable, hash table, proc step, output source 10
67 Managing Systems Projects with ClinAction Joffrey Daras Last year, pharmaceuticals, medical device manufacturers and genetic research companies spent over 60 billion dollars developing new therapies. The Biotech industry conducts clinical trials requiring the collection and analysis of medical information for hundreds and thousands of subjects. Teams of SAS programmers develop programs and reports to scrutinize and analyze clinical datasets to eliminate invalid data and avoid erroneous information to be submitted to the FDA. Errors can be costly, potentially costing millions in lost revenues each month the FDA delays approval for a new treatment. ClinAction was specifically created to manage and collaborate on software development projects in the Biotech industry. Project managers achieve higher productivity by load balancing their resources, using an intuitive user interface. They can monitor resources allocation and expected end dates, and receive real time updates. resource allocation, excel, audit trail, dataset, macro definition, clinical trial source 12
68 Mathematical Programming for Surface Complexation Modeling Using SAS Anpalaki J. Ragavan Simulation of chemical element adsorption, release, and transport is possible without the need to perform time consuming, detailed adsorption studies on multiple samples by incorporating prediction equations into chemical speciation-transport models before simulating. Adsorption models also assume that the chemical species in a mixture is at chemical equilibrium which is the state in which the chemical activities or concentrations of the reactants and products have no net change over time. By the second law of thermodynamics, a mixture of chemicals satisfies its chemical equilibrium state (at a constant temperature and pressure) when the free energy of the mixture is reduced to a minimum. In this study a constant capacitance chemical surface complexation model was applied to simulate arsenate (As(V)) adsorption on iron and aluminum oxides by optimizing monodentate As(V) surface complexation constants and surface protonation constants. proc step, sample, regression analysis, proc mixed source 13
69 Mix-and-Match: Mixed Models for Analyzing Binary Outcomes with Matched Samples Sarah Short One way of addressing group differences in observational studies is to use matched samples. It is important to take account of the matching when performing analyses. We wanted to analyze long-term health outcomes of matched pairs of pregnant women (cases) and never-pregnant women (controls). Matches were determined using propensity score modeling of baseline characteristics at the visit just before pregnancy for cases and at the best-matching visit for controls. Binary outcomes from matched samples can be analyzed using several different procedures in SAS. In this paper, we compare and contrast the use of the GLIMMIX, GENMOD, and LOGISTIC procedures to analyze binary outcomes with matched samples. We highlight some additional considerations for developing these models with longitudinal data, such as whether to require the baseline values of the outcome variable to be identical and whether to include interaction terms. sample, main effect, proc step, baseline, follow-up period, longitudinal data, logistic distribution, proc glimmix source 9
70 Moving from Windows to Super-computing: The 5% Solution AnnMaria De Mars Just think how much faster a job that takes 40 hours on a desktop could run if it used 1,000 CPUs. Many SAS users are proficient with Windows but daunted by the idea of tackling a supercomputer. This concern is largely unwarranted as over 95% of SAS code is identical. This paper addresses the 5% differences: changing the SAS code, getting data on the server, understanding home and project directories, connecting to the server, Linux commands you need to know, sourcing SAS, problems in tmp space (the area where your temporary SAS datasets are stored during processing), batch and queue processing, and permissions - the most common problems. Yes, it really IS that easy. proc import, proc step source 9
71 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
72 Normalized Editchecks Automated Tracking (N.E.A.T.) Frank Fan One of the major tasks of data management is data cleaning, performed by edit checking. Electronic Data Capture (EDC) Edit checks bring important time and cost savings compared to paper -based systems as they reduce the number of queries requiring interaction between the sites and the sponsor. data validation rules, edc, clinical data, proc sql, create table, excel, proc step, data cleaning source 11
73 ODS RTF: The Basics and Beyond Lauren E. Haworth RTF is one of the best ODS destinations for sharing output with other users. All they need is a word processor and they can view your output. It also gives you and your users the ability to edit the output, adding comments and other material, or combining it with other reports. This paper will focus on key techniques to get you up and running with RTF output, and some extra tricks you can use to impress the boss. It will cover the basics: headers, page orientation, margins, page breaks, page numbers. It will also show how to upgrade your RTF output with images, explanatory text, hyperlinks, and a table of contents. Finally, it will show how to use RTF control words and fields to implement advanced features. ods rtf, proc step, options statement, sas base, proc tabulate, title statement, by group processing, sample, ods html source 17
74 ODS Tips and Tricks Lauren E. Haworth This presentation will be a whirlwind tour of some of the most useful tips and tricks in the SAS ODS. Topics covered include: Tip sheets on new features inline formatting, RTF features: enhanced page numbers, hyperlinks, text, tables of contents, and RTF control words PDF features: bookmarks, enhanc ed page numbers, hyperlinks, text. proc step, ods pdf, ods rtf, footnote statement, options statement, title statement, proc format, proc print, sas base, ods html, anova, proc tabulate source 20
75 One Flip, Two Flip, Fat File, Flat File Ethan Miller Tired of getting datasets with multiple records per ID when you need a flat file for analysis? Tired of struggling with one-to-many merges? With just a small investment of time you, too, can easily create a flat file with one record per ID. Through the use of PROC SORT, PROC TRANSPOSE, SAS MACRO, and the DATA STEP, this paper will demonstrate how to create a flat file with customized variable names and labels for multiple time intervals. Through the use of SAS MACRO, the code shown in this paper creates a flat file, and your friends will be amazed at how easy it is. This paper was written for those with beginning to intermediate skills; the code was written using SAS version 9.2 on Windows OS. flat file, proc step, proc transpose source 5
76 Patient Profile Reports on iPhone and iPad Sy J. Truong The days of the traditional PCs are numbered as there is a movement towards mobile computing. This requires a different way of generating and reviewing reports for mobile devices such as iPhone and iPad. This paper will use Patient Profiles as an example to illustrate techniques on how to optimize the generation of SAS reports and graphs for mobile devices. clinical trial, clinical research source 7
77 Planned Contrasts and Post Hoc Tests in MANOVA Made Easy Chii-Dean Joey Lin Multivariate analysis of variance (MANOVA) is a multivariate version of analysis of variance (ANOVA). While an ANOVA is considered to test if there is a treatment effect for a normally distributed response variable, the MANOVA is introduced when there is more than one response variable. Longitudinal data are typical examples that can be analyzed using MANOVA. In this paper, we introduce how one can write corresponding SAS codes for post hoc tests using PROC GLM. This is done by specifying any hypothesis tests into a form of LBM = 0, where L and M are matrices that will be used for CONTRAST and MANOVA statements in PROC GLM and B is a parameter matrix. Examples of post hoc tests and contrasts are used to demonstrate how to find the L and M and how the CONTRAST and MANOVA statements are written. response variable, treatment effect, type i error, anova, proc glm, post hoc test, significance level, proc genmod, proc step, manova, p-value, null hypothesis, correlation, covariance, multivariate analysis, one-way anova source 8
78 Point-and-Click Programming Using SAS Enterprise Guide Mira Shapiro SAS Enterprise Guide empowers orga nizations exploiting the power of SAS by offering programmers, business analysts, statisticians and end -users with powerful built-in wizards to perform a multitude of reporting and analytical tasks , access multi-platform enterprise data sources, deliver data and results to a variety of mediums and outlets, perform important data manipulations without the need to learn complex coding constructs, and support data management and documentation requirements quickly and easily. Attendees learn how to use the gra phical user interface (GUI) to access tab -delimited and EXCEL input files; subset, group, and summarize data; join two or more tables together; flexibly export results to HTML, PDF and EXCEL; and visually manage projects using flowcharts and diagrams. excel, sas enterprise guide, dataset, data governance, delimited file, sas output, proc sql source 13
79 Practical Uses of the DOW Loop Richard R. Allen The DOW-Loop was originally developed by Don Henderson and popularized the past few years on the SAS-L listserv by Paul Dorfman and Ian Whitlock, among others. It is a programming technique that involves taking control of the implicit DO loop inherent in the DATA STEP by identifying and storing a value in a variable that is retained until all records for a by-group have been processed. The DOW-Loop relies on the fact that the values of assigned variables, or variables created by assignment statements in the DATA STEP, are not reset to missing until SAS returns to the top of the DATA STEP. It has a variety of applications, including streamlining LOCF and change from baseline calculations as well as transposing multiple variables for a by-group. Some examples of these applications will be presented. conditional do loop, change from baseline, data step, do loop, missing value, sample, last observation carried forward source 10
80 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, proc datasets, sas programmer, modify statement, sas log, proc contents, proc sql, attrib statement, data integrity, proc append source 25
81 PROC MEANS versus PROC SQL for Descriptive Statistics Generation of Weighted Data Keiko I. Powers When sample representativeness is a key issue (e.g., survey data), research projects/analyses are often based on weighted statistics. Many SAS procedures such as PROC MEANS offer the WEIGHT option, which makes calculation of weighted statistics effortless. It is often the case, however, that researchers need to review both weighted and un-weighted statistics to closely examine the data. In addition, various statistics such as weighted/un- weighted means have to be merged with the original data for further analysis. When considering these various needs, it is important to understand the pros and cons between the approach based on PROC MEANS and one based on PROC SQL so that researchers can choose the option that best fits their analysis goals. The paper compares and contrasts these two approaches with illustrative examples. proc step, proc sql, standard deviation, sample, proc calis, sample size, weighted mean, proc means, dataset, confidence interval, data governance, sample weight source 9
82 Proc REPORT Tutorial Cynthia L. Zender PROC REPORT is a powerful reporting procedure, whose output can be "practically perfect" when you add ODS STYLE= overrides to your PROC REPORT code. This tutorial will feature several PROC REPORT programs that produce default output for ODS HTML, RTF and PDF destinations. Attendees will learn how to modify the defaults to change elements of PROC REPORT output, such as HEADER cells, DATA cells, SUMMARY cells and LINE output using ODS STYLE= overrides. In addition, attendees will learn how to apply conditional formatting at the column or cell level and at the row level using PROC FORMAT techniques and CALL DEFINE techniques. Other topics include: table attributes that control interior table lines and table borders, use of logos in output and producing "Page x of y" page numbering. The rest of this document provides the slides used in the tutorial presentation. proc report, proc step source 35
83 PROC TABULATE: Getting Started Arthur L. Carpenter Although PROC TABULATE has been a part of Base SAS for a very long time, this powerful analytical and reporting procedure is very under utilized. TABULATE is different; it's step statement structure is unlike any other procedure. Because the programmer who wishes to learn the procedure must essentially learn a new programming language, one with radically different statement structure than elsewhere within SAS, many do not make the effort. The basic statements will be introduced, and more importantly the introduction will provide a strategy for learning the statement structure. The statement structure relies on building blocks that can be identified and learned individually and in concert with others. Learn how these building blocks form the structure of the statement, how they fit together, and how they are used to design and create the final report will be presented. proc step, proc tabulate, missing value, proc format, format statement source 18
84 Pros and Cons of Interactive SAS Mode vs. Batch Mode Irina Walsh It is my opinion that SAS programs can be developed in either interactive or batch mode and produce the same end results. To achieve identical results in both modes a few rules have to be followed. This paper explores the differences and limitations of developing a program in interactive SAS display manager mode versus batch mode and shows how to work around some of these limitations. The pros and cons of both approaches are discussed. Examples of techniques to achieve successful program execution in both modes are offered. cpu time, proc step source 9
85 Query Creation Wizards using SAS/IntrNet Matthew Redelings The Los Angeles County Department of Public Health (DPH) began publishing online data queries using SAS IntrNet in 2008. However, many data owners within DPH lacked the expertise to write matching HTML and SAS code to post their queries online using SAS IntrNet, and the process of deploying data to be queried was often time-consuming and cumbersome. We used SAS IntrNet to develop a dynamic query creation wizard online. The wizard examines the contents of a dataset and then presents a query designer with a series of choices about what types of queries are to be offered to the end-users. Based on simple choices made by the query designer, the wizard tool designs a web page which submits dynamic queries through SAS IntrNet. Query design using the wizard tool is easy and takes only a matter of minutes. numeric variable, macro variable, macro definition, proc step, proc freq source 12
86 Ready To Really Become Productive Using PROC SQL? Sunil Kumar Gupta Using PROC SQL, can you identify? - at least four ways to select and create variables? - at least four ways to create macro variables? - at least four ways to create or modify table structure? - at least four ways to change table content? Learn better and apply multiple PROC SQL programming options through task-based examples. This HOW will review topics in table access, retrieval, structure and content, as well as creating macro variables. References will be provided for key PROC SQL books, relevant webinars, podcasts as well as key SAS technical papers. proc sql, macro variable, proc step, order by source 18
87 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. proc princomp, bootstrap, fisher exact test, exact test, null hypothesis, outlier, standard deviation, sample, proc iml, histogram, proc step, cook's distance, trimming, covariance, permutation test, proc freq, regression analysis, multivariate analysis, proc reg source 18
88 SAS and Scripts: Two Great Tasks That Task Great Together John Lujan "Hey, you got your SAS in my Script!" "No, you got your Script in my SAS!" Presenting data in a manner that is meaningful, use ful (and familiar) to an analyst's intended audienc e presents a unique set of challenges. At Kaiser Permanente's Qu ality and Operations Support (QOS), we are often ta sked with providing data and metrics to our Physician clients in just such a manner; one that imparts a strong v isual component while also conforming to infrastructural dogma. At QOS, infrastructural dogma translates directly t o EXCEL. As such, by "standing on the shoulders of (SAS) giants" we have created and successfully implemented an ext remely simple and flexible reporting process that l everages the power of PC SAS, the ubiquity of EXCEL and the flexibility of Visual Basic Scripting (VBS) to crea te highly customized, visually impacting EXCEL based reports. excel, name range list, libname engine, dataset, macro variable, label statement source 8
89 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
90 SAS Conference iPhone App Sy J. Truong As information transitions from hidden databases and obscure networks into mainstream social networks like Twitter, Facebook and Youtube, users leverage the social aspects of communication to make sense out of the deluge of data. Social media can provide extra context and more meaningful information when it is recommended from a trusted friend as compared to spam. Attending a WUSS conference in the past used to involve carrying a thick conference proceeding and a program book while deciphering what presentation is most relevant and useful for each attendee. As SAS conferences grow and the number of sections and papers become more diverse, this process becomes overwhelming. Since WUSS by its own nature is a social event, it lends itself well to social networks as it helps individuals make sense and bring context to the presentations which they decide to attend. dataset, macro variable source 6
91 SAS Data and Stored Process on BlackBerry Sy J. Truong In the competitive smart phone environment, RIM BlackBerry remains the leading smart phone worldwide changing how we use mobile computing. Although both the iPhone and Android have been making the headlines, BlackBerry is quietly growing in the area of mobile applications with its introduction of App World 2.0 and BlackBerry OS 5.0. BlackBerry applications add an efficient use of local mobile device resources that enhance the user mobile experience; while leveraging traditional client server computing features that are similar to that of a web browser. Models such as BlackBerry Curve, Tour, Storm, Pearl, and Bold all provide feature sets such as GPS tracking, voice communication, digital video recorder, and multitudes of other functionality that raise the bar beyond web 2.0. SAS has been an analytical business intelligence powerhouse for many years; yet it is a relative late comer to this mobile computing revolution. macro definition, macro parameter, business intelligence, dataset, sas analyst, sample source 9
92 SAS Reporting in English, ed anche in italiano: A Methodology for Creating Reports in Two Languages Deborah A. Testa Project Leonardo was a disease management study conducted in two countries, a joint undertaking between researchers in California, project managers and clinicians at Pfizer Italia in Rome, and medical professionals in the Regional Health Authority in the southern Italian region of Puglia. A primary goal of the project was to demonstrate the value of a partnership between public and private entities, so keeping all team members informed was paramount. The project required weekly operational reports and interim and final outcomes analyses. The researchers in California spoke little or no Italian, and some of the regional clinicians (as well as their patients) spoke little or no English. But everyone needed to see the weekly progression of the project, so we needed to produce reports for team members who speak only English - and also for those who speak only Italian. excel, macro variable, format statement, options statement, proc step, proc tabulate, macro definition, %if-%then-%else source 8
93 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, sas output, options statement source 22
94 SAS/GRAPH Elements You Should Know - Even If You Don't Use SAS/GRAPH Arthur L. Carpenter We no longer live or work in a line printer - green bar paper environment. Indeed many of today's programmers do not even know what a line printer is or what green bar paper looks like. Our work environment expects reports which utilize various fonts, with control over point size and color, and the inclusion of graphic elements. In general we are expected to produce output that not only conveys the necessary information, but also looks attractive. In the line printer days little could be done with the style and appearance of reports, and consequently little was expected. Now a great deal of control is possible, and we are expected to take advantage of the tools available to us. We can no longer sit back and present a plain vanilla report. The Output Delivery System, ODS, gives us a great deal of the kind of control that we must have in order to produce the kinds of reports and tables that are expected of us. title statement, footnote statement, proc step, box plot, regression analysis source 15
95 Seamless Dynamic Web Reporting with SAS Donald L Penix Jr. The SAS Business Intelligence platform provides a wide variety of reporting interfaces and capabilities through a suite of bundled components. SAS Enterprise Guide, SAS Web Report Studio, SAS Add-In for Microsoft Office, and SAS Information Delivery Portal all provide a means to help organizations create and deliver sophisticated analysis to their information consumers . However businesses often struggle with the ability to easily and efficiently create and deploy these reports to the web. If it is done, it is usually at the expense of giving up dynamic ad-hoc reporting capabilities in return for static output or possibly limited parameter-driven customization. The obstacles facing organizations that prevent them from delivering robust ad-hoc reporting capabilities on the web are numerous. More often than not, it is due to the lack of IT resources and/or project budget. Other failures may be attributed to breakdowns during the reporting requirements development process. bar chart, macro variable, sas enterprise guide, raw data, sas library, dataset source 15
96 Seamless Web Data Entry for SAS Applications Donald L Penix Jr. For organizations that need to implement a robust data entry solution, options are somewhat limited on the SAS platform. The SAS/FSP module provides integrated tools for data entry, computation, query, editing, validation, display, and retrieval; however, the solution falls short for organizations that need to deploy a web-entry system on a thin-client platform (i.e. Internet Explorer, Mozilla Firefox, etc.) Some companies will tackle the problem using other technologies such as HTML, .NET, or JAVA. But each of these approaches requires expertise that is often beyond the typical SAS programmer to build and maintain. Built upon an open-source platform, a simple, yet elegant, data entry solution can be obtained. The application data can then be integrated into any SAS application by connecting it via the SAS/ACCESS modules. mysql, view source 11
97 Secrets of the SG Procedures Cleester D. Heath The SAS/GRAPH SG procedures provide an extensive set of plot and supporting statements to create common graphs. However, there are creative ways to combine the statements and options in these procedures that may not be obvious. This presentation will reveal some of these techniques, enabling you to create many of the specialized graphs you need in your industry. Some of the techniques that will be discussed include: Creating an area plot from a band plot Displaying your custom limit calculations Using a vector plot for event and high-low types of plots Using paneling options for group axis effects bar chart, scatter plot, proc sgpanel, series plot, confidence interval, graph template language, proc calis, density plot, class variable, line chart, kaplan-meier plot, proc step, proc sgplot, histogram source 19
98 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 intro duce 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, proc sgpanel source 11
99 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
100 Statistical Analysis - The First Steps Jennifer L. Waller For both statisticians and non-statisticians, knowing what data look like before more rigorous analyses is key to understanding what analyses can and should be performed. After all data has been cleaned up and statistical analysis begins, it is a good idea to perform some descriptive and basic inferential statistical tests. How to run and look at descriptive statistics using PROC FREQ, PROC MEANS, and PROC UNIVARIATE, and how to plot your data using some of the statistical graphics options in SAS 9.2 will be presented. Additionally, how to perform and interpret one- and two sample t-tests using PROC TTEST and chi-square tests using PROC FREQ will be presented. proc step, proc means, nominal variable, interval variable, sample, box plot, chi-square test, standard deviation, proc freq, data science, proc ttest, proc univariate, ordinal variable, variable list, inferential statistics, heteroscedasticity, confidence interval, proc sgplot, histogram, homoscedasticity, missing value, one-sample t-test, class variable, frequency analysis, sample size, outlier source 20
101 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
102 Strategies for Building and Utilizing an Integrated Safety Database Using SAS Denise J. Smith As our company's pipeline of drugs, which all utilize the same unique technology, continues to expand, access to an Integrated Safety Database (ISDB) has become an invaluable resource. The ISDB includes all available clinical trial data collected across multiple compounds and trial phases. In practical terms, this means we have the ability to gain access to safety data across different protocols and subpopulations of patients. We have the ability to track single subjects through several studies, pool data for adverse event (AE) tracking, and gather lab results over longer durations of time than those shown in a single study. Using SAS, we can quickly and easily access and analyze data from any of our core, harmonized analysis datasets to create SAS datasets, SAS data views, tables, listings, and graphs. This paper will discuss some of the tools, techniques, and procedures we have used to build a solid, and continuously expanding ISDB. adam dataset, laboratory data, macro call, data cleaning, clinical trial, sas log, excel source 11
103 Strategies for Developing and Delivering an Effective Online SAS Programming Course Justina M. Flavin Teaching online courses is very different from teaching in the classroom setting. Developing and deliver ing an effective online class entails more than just transferring traditional course materials into written documents and posting them in a course shell. This paper will discuss the author's experience in converting a traditional hands-on introductory SAS programming class into an online course and present some ideas to promote successful learning and knowledge transfer when teaching online. sas programming, missing value, dataset, sas enterprise guide, clinical data, flat file, fisher exact test, proc step, filename statement, exact test, sample, proc freq source 11
104 Survival 101: Reporting Survival Curves Using Sample Data from the Colorectal Cancer Outcomes Database Anna ter Veer The National Comprehensive Cancer Network (NCCN) Colorectal Cancer (CRC) Outcomes Database collects outcomes data on patients presenting with primary colon or rectal cancer at 8 NCCN institutions across the United States. In addition to patient demographics, clinical characteristics, and types of treatments received, the database also includes recurrence and survival data. Data collection began in 2005, and there are 6095 patients in the database as of June 2010 (3,715 colon, 2,380 rectal). This paper focuses on the basic SAS code required to check follow-up status, compute overall survival, and plot overall survival curves with 95% confidence intervals for colorectal cancer (CRC) patients. Also, we will show how to summarize the overall survival results from SAS into a document that can easily be shared across institutions. The SAS code and results are presented using sample data from the NCCN CRC Outcomes Database. overall survival, proc step, confidence interval, variable, survival analysis, sas output, dataset, proc freq, censoring, proc means source 11
105 Survival Analysis with PHREG: Using MI and MIANALYZE to Accommodate Missing Data Christopher F. Ake Survival analyses based on a data collection process which the researcher has little control over are often plagued by problems of missing data. Deleting cases with any missing data will result in information loss and usually results in bias, while many analytic procedures that retain this information in some form underestimate the resulting uncertainty in parameter estimates and other output. SAS Version 8 includes two new procedures that allow the researcher to generate "complete" data sets from incomplete data by multiple imputation and to analyze the resulting data in ways which adequately account for the uncertainty involved. imputation, missing value, proc step, multiple imputation, estimate, proc mi, macro variable, binary variable, nominal variable, dataset, correlation, proc mianalyze, macro definition, proc phreg, %if-%then-%else source 7
106 Take a Whirlwind Tour Around SAS 9.2 Justin Choy The term "productivity" can mean a number of different things and can be realized in a number of different ways. The bottom line is that you are able to do your job well in the most efficient manner. SAS helps you to be productive in a number of ways, including fast performance, flexible capabilities, and powerful algorithms. But, for the end user, that's just one side of the story. The other side of the story is being able to ask the questions with the confidence to get the right answers when you need them. This means providing user interfaces that allow you to quickly access the power of SAS business analytics in a self-service manner. This paper takes you on a whirlwind tour of the client applications that help you be more productive. It's not possible to go into detail here of everything that is new in SAS 9, but it will give you a taste of what you can expect. sas enterprise guide, sas management console, line chart, data mining source 8
107 The Building Blocks of SAS Datasets - S-M-U (Set, Merge, and Update) Andrew T. Kuligowski S-M-U. Some people will see these three letters and immediately think of the abbreviation for a private universit y and associated football team in Texas. Others might treat them as a three -letter word, and recall a whimsical cartoon character created by Al Capp many years ago. However, in the world of the SAS user, these three letters represent the building blocks for processing SAS datasets through the SAS DATA STEP. S, M, and U are first letters in the words SET, MERGE, and UPDATE - the 3 commands used to introduce SAS data into a DATA STEP. This presentation will discuss the syntax for the SET, MERGE, and UPDA TE commands. It will compare and contrast these 3 commands. Finally, it will provide appropriate uses for each command, along with basic examples that will illustrate the main points of the presentation. dataset, set statement, merge statement, modify statement, update statement, by group processing, libname statement, out=, input statement, proc step, proc append, if-then-else, sysrc, stop, where statement, missing value source 13
108 The Last Shall Be First: Matching Patients by Choosing the Least Popular First Stefanie Millar In observational studies, comparison of outcomes among groups of patients enrolled can be challenging because differences often exist at baseline (time zero). One approach commonly used to account for these differences is matching, often using propensity scores. For this study, matching was applied to successfully pair each "case" patient to ten different "control" patients. The cases were patients who became pregnant and the controls were women who never reported becoming pregnant; there were nearly 20 times as many controls as cases. For cases, time zero was defined at the study visit just before pregnancy, but for the controls, really any visit could be used as time zero. Data at each visit were used to compute propensity scores for each patient-visit record. The matching algorithm treated a potential match as acceptable if propensity scores and key variables were identical or within a specified range. propensity score, baseline, propensity score matching, do loop, effect size, proc freq source 9
109 The Next Generation: SAS/STAT 9.22 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, poisson regression, likelihood function, maximum likelihood estimation, estimate, poisson distribution, proc step, proc genmod, predictor variable, proc glmselect, binomial distribution, logistic distribution, proc mixed, negative binomial regression, sample, response variable, proc robustreg, proc phreg, proc calis, proc freq source 20
110 Those Confounded Interactions: Building and Interpreting a Model with Many Potential Confounders and Interactions David J. Pasta When constructing a general (or generalized) linear model with many possible covariates, it is often important to consider very carefully the role of potential confounders and interactions. Once a model is constructed, the interpretation of the coefficients depends on which other terms are included in the model. It is especially important to interpret interactions carefully if the model does not include all lower-order interactions and main effects. Depending on the context, you may want to set a low threshold for statistical significance for interactions (including them even if they are of borderline significance) or a high threshold (including them only if they are highly significant). Some variables you may want to treat as concomitant, including them regardless of statistical significance. Important confounders may fall into this category. This paper provides practical suggestions for building and interpreting models with interactions. main effect, least squares mean, interval variable, proc genmod, estimate, response variable, proc step, predictor variable source 9
111 Tips for Constructing a Data Warehouse Part 1 Curtis A. Smith Ah, yes, data warehousing. The subject of much discussion and excitement. Within the hallowed pages of this paper, the author will describe data warehouse modeling concepts and then mention some of his favorite data warehousing tips. A data warehouse must be well organized, easy to understand, easy to use, and easy to reach. The data warehouse will likely become the foundation for user applications and ad hoc querying and analysis. It will likely draw data from many sources, many IT platforms, perhaps for multiple company segments, for multiple time periods, and varying degrees of detail. The builder must consider several factors, such as creating SAS data libraries and their location, creating a user friendly naming convention for SAS data libraries and data sets, documenting the data warehouse, creating or not creating SAS data set indexes, creating subsets and summarized SAS data sets, and overcoming resource limitations. These important concepts will be discussed, followed by a summary of the author's favorite tips. dataset, libname statement, proc contents, raw data, data warehouse, proc step, proc sql, sas log, label statement, macro variable, cpu time, data cleaning, sas enterprise guide, proc means source 12
112 Tips for Constructing a Data Warehouse Part 2 Curtis A. Smith Ah, yes, data warehousing. The subject of much discussion and excitement. Within the hallowed pages of this paper, the author will provide a quick overview of data warehouse modeling concepts and then discuss in detail many of his favorite data warehousing tips. Many of these tips have been highlighted in the recurring column the author writes for the San Diego SAS Users group newsletter. The author will show how to subset and summarize SAS data sets; compress SAS data sets; screen unwanted raw data rows when importing data; read multiple raw data files into SAS data sets; document SAS data sets; and more. dataset, proc step, by group processing, data warehouse, proc means, libname statement, variable list, cpu time, numeric variable, class variable, character variable, proc sort, raw data, excel, output, proc contents, options statement, sas enterprise guide, proc sql, if-then-else, index source 11
113 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 SAS 9 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 28
114 Transitive Record Linkage in SAS using Hash Objects Glenn Wright Several approaches exist for linking or deduplicating records that have no common identifier. Many of these approaches link together pairs of records, but linked data are most useful when a new common identifier is assigned to each "cluster" of records that are linked together directly or indirectly. This paper builds on a companion paper by explaining why SAS hash objects are an ideal tool for transforming a file of linked pairs into a file of clustered records with new common identifiers, and provides SAS code that transforms an example file of linked pairs in this way. hash table, record linkage, hash iterator source 8
115 Transitive Record Linkage in SAS using SET / KEY= and MODIFY / POINT= Denis Hulett Several approaches exist for linking or unduplicating records that have no common identifier. Many of these approaches link together pairs of records, but linked data are most useful when a new common identifier is assigned to each "cluster" of records that are linked together directly or indirectly. This paper explains the challenges of transforming a file of linked pairs into a file of records clustered into a groups termed "cliques" with new common identifiers, proposes an algorithm for performing the transformation, and provides SAS code that implements this algorithm for an example data set of linked pairs, using SET statements with the KEY= option, MODIFY statements with the POINT= option, and several other SAS tools. A companion paper (Wright & Hulett, 2010) demonstrates how to implement the same algorithm using SAS hash objects. modify statement, point= option, sysrc, set statement, key=, dataset, do loop, hash table, automatic variable, macro variable, proc sql source 8
116 Use RETAIN Statement and LAG Function to Indentify Consecutively Repeated Conditions Lan Xiao In clinical studies, SAS programmers commonly need to identify consecutive occurrences of an event or condition, for example, accelerometer wear time for physical activity monitoring or abnormal biophysiological values sustained over specified time interval. This paper illustrates how the RETAIN statement and the LAG function can be used together for this purpose. The intended audience is beginner to intermediate SAS users. lag function, retain source 5
117 Using Graph Designer for High-Quality Graphs Sanjay N. Matange Creating high quality graphs became a whole lot easier with the release of ODS Graph Designer. Traditionally, SAS/GRAPH has provided powerful procedure syntax to create graphs. With SAS 9.2, GTL and SG Procedures were released to help create complex analytical graphs. Now, the ODS Graphics Designer (Designer) completes the circle by creating the same graphs using interactive "point and click" actions. Many of you prefer to create your graph using an interactive application, and now you can do that within SAS. In this hands-on-workshop, we will introduce you to the application interface and work through some real world examples. histogram, scatter plot, bar chart, class variable, box plot, density plot, proc step, proc sgdesign source 23
118 Using Recursion for More Convenient Macros Nathaniel Derby There are times when a macro needs to alternatively be applied to either one value or a list of values. In this case, adding a recursive definition to a macro can make it easily accommodate both situations. This can be particularly useful for testing and investigative purposes, as explained in this paper. KEYWORDS: SAS, macro, code, recursion. This paper is an excerpt from Derby (2010), which may be updated and can be downloaded for more information. macro definition, proc sql, macro variable, %if-%then-%else source 5
119 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 24
120 Using the SAS Windowing Environment for Program Development Wei Cheng The SAS System Windowing Environment provides many features to assist SAS programmers in developing their SAS programs and applications. This paper gives examples of customizing the SAS Windowing Environment to build a program development environment. Topics include building a help page to find answers to SAS questions, building a toolbar icon to scan the Log window, setting up Favorite Folders in the SAS Explorer, setting up File Shortcuts in the SAS Explorer, and setting up colors for different windows. sas log, sas output source 5
121 Validating and Migrating SAS 9.13 to 9.2 Sy J. Truong The rapid updates to the SAS software implemented in a regulated controlled environment within the Pharmaceutical Industry have created validation challenges. The users require the functionality of version upgrade such as those offered in SAS 9.2 but the complexity of computing environments in a dynamic hardware and software platform makes it difficult to maintain an optimal validated SAS system. This paper will share practical methods and techniques used in the validation of an upgrade for SAS 9.1.3 to version 9.2 including file migrations to a new server. Some of t he areas it will cover include: SAS IQ/OQ - SAS 9.2 is bundled with a series of scripts for performing installation and operational qualifications. Performance Qualification - Performance tuning and testing are not covered by SAS tools. This paper will illustrate methods and macros on how to perform this testing. * Third Party Software - SAS connects to other databases and analysis tools. data cleaning, elapsed time source 6
122 What Every SAS Programmer Should Know: Importing Files Renato G. Villacorte One of the most fundamental skills that a SAS programmer should possess is the ability to import existing data into the system. This paper will outline the steps necessary to import an EXCEL table into SAS and demonstrate how to deal with common data cleansing issues. We will detail the use and results of the Import Wizard, PROC IMPORT and the DATA STEP INFILE statement. We will also cover common string functions that are useful in data cleaning. proc import, proc step, excel, string functions, sample, character functions source 4
123 Where's The Match? Matching Cases and Controls after Data Collection Jennifer L. Waller Statisticians, while not data managers, are often asked to perform data management tasks. One task is to match a study group to a comparison group one-to-one on several variables. While easy for small datasets and matching only categorical variables, matching thousands of study subjects to thousands of comparison subjects where data come from large administrative databases and the matching variables can be categorical and continuous is difficult. How do you match continuous variables with the comparison subject being within some range of the study subject (e.g. age within +/- 2 years)? The utilization of SAS Macros is one solution. The created macro uses a study subject data set, a control data set, and outputs a data set containing the one-to-one matched subjects. The macro reads in a study subject, scans through the comparison subject data set until a match is found, writes the match to the matched data set, deletes the comparison subject from the comparison data set. interval variable, nominal variable, proc sort source 6
124 Working with SAS Hash Objects: Automation, Tips and Pitfalls Jason Farris This paper presents several useful implementations of SAS hash objects in operational work. Sort-less merging, data filtering, automation and use of the hash ITERATOR object are exampled. Sort-less merging reduces the cost of computation by eliminating the time-consuming SORT procedure before a merge can be completed successfully in a DATA STEP. Hash objects are useful towards this end, and even more, several hash objects can be created in a DATA STEP so that a multiple merge is possible. Data filtering and verification are common tasks in operational work. Once again, hash objects can be put to use to easily perform these tasks. Automation reduces the chances for errors and is good practice in operational work. Hash ITERATOR objects have a variety of uses and one of these is explored in this paper. Each method is accompanied by a real-world example, and each example is thoroughly detailed for ease of explanation. Lastly, common and not so common pitfalls are discussed with examples. hash table, sysrc, hash iterator, proc sort, proc step, cpu time source 7
125 Yes! SAS ExcelXP WILL NOT Create a Microsoft Excel Graph; But SAS Users Can Command Microsoft Excel to Automatically Create Graphs From SAS ExcelXP Output William E. Benjamin Jr. With everything becoming more "Security Aware", hearing that Microsoft EXCEL 2007 can ignore DDE is no surprise. The SAS ODS Tagset ExcelXP creates .xml output, and .xml output cannot contain graphs. Nowadays, no one wants EXCEL spreadsheets with any kind of macros in the workbook. Most default security settings will not open "Macro Infected" workbooks (without an authorized Digital Signature - just try to get one of those). excel, xls, proc print source 12
126 You Could Be a SAS Nerd If . . . Kirk Paul Lafler Are you a SAS nerd? Wiktionary, a wiki -based Open Content dictionary, defines "nerd" as a person who has good technical or scienti fic skills, but is generally introspective or introverted. Another definition is a person who is intelligent but socially and physically awkward. Obviously there are other definitions for "nerd", many of which are associated with derogatory terms or stereo types. This presentation focuses not on the negative descriptions, but on the many positive aspects and traits SAS users possess. So let's see how nerdy you actually are using the mostly unscientific, but fun, "Nerd" detector. sas programmer, sas log source 4
127 You Use SAS, Your Boss Uses Excel. Guess Where Your Results Are Going to Appear! Using ODS to Create Your Results in Excel William E. Benjamin Jr. This paper digs into the use of ODS on the SAS side to prepare EXCEL spreadsheets directly. SAS code and macros will be demonstrated to create multi -page EXCEL spreadsheets, giving the programmer the ability to build tools to exploit data and display information for the end user. As a re sult, the SAS programmer will be able to create spreadsheets for distribution, automate the standardization of reports and the building of powerful spreadsheet applications with access to information built by offline SAS processes that the end user can ref resh. excel, proc print, ods excel, proc step, sas base, output delivery system source 10
128 Your Age In People Years: Not All Formulas Are the Same Arthur L. Carpenter The calculation of an individual's age can be problematic. SAS dates are generally measured in terms of days (or seconds if a DATETIME value is used), so we have to convert the value to years. To some extent, how we calculate age will depend on how we intend to use the value. The society's concept of 'age' is different than the mathematical concept. Age in years is further complicated by the very definition of a year as one rotation of the earth around the sun. This period does not convert to an integer number of days, and it is therefore further complicated by leap years. Since SAS does not contain an AGE function, we need a formula for the conversion. And there are several to choose from. Which should we use? interval variable, datepart source 4

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.