HOME QUICK SEARCH AUTHORS KEYWORDS HELP BUGS

WUSS 2004 Papers - Index

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

# Title
×
Authors
×
Abstract
×
Keywords
×
Extras Pages
1 A Guide to Understanding Web Application Development Corey Benson,
Robert Girardin
You have been asked by your manager to port a legacy, fat-client application to the web. There are so many directions you can take in completing this project. It is har d to know where to start and what technologies to use. The main focus of this paper is to introduce you to server-side Java. We will answer questions like: What is server-side Java technology? What are servlets, JavaServer Pages and custom tags? What are the benefits of using server-side Java technology? What is the Model-View-Controller(MVC) architecture? What is the Struts framework? What are the benefits of using webAF for Web application development? * How do you customize the look of your web application? These topics will be covered while also highlighting how SAS AppDev Studio TM 3.0 makes it easier for you to build web applications that are lightweight, easy to manage and instantly connect to SAS software. data cleaning, business intelligence source 17
2 A Macro To Print Summary Results and Differences From Two Sources On A Single Page Linfeng Xu This paper uses author created macro to report two summary results in a one-page layout. In order to fulfill this task, the macro has to assign two libraries, two data sets, summary class variables, and summary variables. In addition, the macro produces the final output results in the same page layout by showing the numbers of either summary results from two sources or the difference of two summary results in the same row of layout, as well as, the difference percent of two summary results in the same row of layout. class variable, proc means, proc step, macro variable, macro definition, keyword parameter source 6
3 A Peek at PROC DOCUMENT Andrew H. Karp A major enhancement to the SAS Output Delivery System (ODS) in SAS 9 Software is implementation of the DOCUMENT Destination, which allows SAS users to store ODS-generated objects in a re-useable file structure called a "document." ODS DOCMENTS can be accessed, re-played, and manipulated using the new DOCUMENT Window or PROC DOCUMENT, an interactive BASE SAS Procedure which is also new to the SAS System in Version 9. Learning to use the DOCMENT Destination, DOCUMENT Window and DOCUMENT Procedure will give you enhanced control and flexibility when using ODS to generate output. Core Concepts: ODS Tables, Objects and Destinations In order to understand the new DOCUMENT capabilities added in SAS 9, it is important to first understand how the Output Delivery System works within the overall framework of the SAS System's creation of output by Procedures. proc step, output delivery system, sas 9, proc logistic, credit card, sas risk engine, dataset, logistic distribution, sas base, sas output source 5
4 A Roadmap to SAS Documentation Pat Moell,
Sean M. Gargan
Having trouble finding information on how to use SAS software? Here's a roadmap. Whether it's SAS release documentation, Books by Users books, or SAS Certification, the Publications Division provides essential information to all users of SAS software documentation in the format of your choice. Learn how to easily find the location of the documentation, the kinds of documentation available for each release, what's free for each release, and what's new. Learn about what's available on the Web and where it's located. Find out about exciting new topics and directions for the Books by Users program. This fast-paced and informative session will benefit both new and experienced SAS users. output delivery system, sas management console, sas base source 12
5 A SAS Macro to Calculate Standardized Cronbach's alpha using Upper Bound phi Coefficient for Dichotomous Items Weimin (Wiliiam) Sun,
Alan W. Stacy,
Huiyan Ma,
Chih-Ping Chou
Cronbach's alpha is widely used in social science research to estimate the internal consistency reliability of a measurement scale. However, when items are not strictly parallel, the Cronbach's alpha coefficient provides a lower bound estimate of true reliability. This estimate may be further biased downward when items are dichotomous. The estimation of standardized Cronbach's alpha for a scale with dichotomous items can be improved by using the upper bound of coefficient phi. A SAS macro, M_UB_Alpha, has been developed in this paper to obtain standardized Cronbach's alpha based on this method. The simulation analysis showed that Cronbach's alpha from up-bound phi might be appropriate to estimate the real reliability when standardized Cronbach's alpha is problematic. correlation, macro definition, sample, binary variable source 10
6 A SAS Recent Analysis of the Us Stock Market Performance Kamal Shoukry This study traces the responses and reactions of the US Stock Market to changes in the US economy through the phases from an average performance to a recession , a hesitant incomplete revival with uncertain recovery symptoms and hopes for a true recovery during 2005. Causes of the decline in the international value of the USD and its recent signs of strength since April 2004 are also analyzed. predictor variable, estimate source 6
7 A System to Calculate Market Value-at-Risk using Oracle and Monte Carlo Simulation in SAS/IML George Rezek SAS/IML is used with Base SAS and Oracle to produce a system to calculate Value-at-Risk (VaR) with the flexibility to reflect changes in the database, in the calculation, and reporting. VaR is calculated using Monte Carlo simulation. The overall process is covered and aspects of the calculation are highlighted. Finally, the impact of the results on the Enterprise are outlined. interest rate, confidence interval, standard deviation, covariance, interest rate risk, correlation, proc transpose, proc step, monte carlo source 12
8 Access to SAS Data Using the Integrated Object Model (IOM) in Version 9.1 Frederick E. Pratter SAS 9.1 Integration Technologies provides a complex set of APIs (Application Programming Interfaces) for access to SAS data from various Microsoft environments (COM, DCOM and .NET) as well as J2SE and J2EE for Java developers. This paper presents an overview of the Integrated Object Model available in SAS Integrated Technologies and suggests further resources for programmers who wish to integrate SAS with Windows clients using Microsoft Office and ASP, Visual Basic or C++ with the .NET framework. sas management console, sas enterprise guide, sas log, sas output, proc step source 17
9 Alternative Seasonality Detectors Using SAS /ETS Procedures Joseph E. Earley Estimating seasonal indices is an important aspect of time series analysis. This paper presents an illustration of the role of regression, arima and spectral analysis as seasonality detectors within the PROC X12 procedure of the SAS System. The time series used is atmospheric CO2 concentrations (ppmv) derived in monthly samples collected at the Mauna Loa Observatory, Hawaii (Keeling 2002), from January, 1965 through December, 2002. Figure 1 illustrates the time series. Figure 1 da te time series analysis, proc x12, proc step, regression analysis source 6
10 An Approach to Record-Linkage Using Propensity Score Paul D. Frederick Traditional uses of propensity score involve bias reduction in matching a treatment with a non-randomized control group. The propensity score controls for patient demographics and other background covariates while producing a single scalar summary variable. Distance or nearest available matching between the case and the control group is then performed based on the single score with comparative ease. The same scoring method but different matching techniques are proposed as an approach to record linkage between two or more mock datasets. Each dataset is comprised of shared and unshared patient records, and the datasets lack a common single patient identifier. Common multiple key identifiers are used as the covariate vector in the SAS/STAT LOGISTIC procedure, which generates the single score representing the propensity of existing in one dataset relative to the other. propensity score, logistic distribution, logistic regression, proc logistic, proc step, imputation source 12
11 An Introduction to ODS for Statistical Graphics in SAS 9.1 Robert N. Rodriguez In SAS 9.1, over two dozen SAS/ST A T and SAS/ETS procedures have been modified to use an experimen- tal extension to the Output Delivery System (ODS) that enables them to create statistical graphics as auto- matically as tables are currently created. This extension, referred to as ODS for Statistical Graphics (ODS Graphics for short ), provides commonly used displays, including scatter plots, histograms, box-and-whisker plots, and contour plots, in ODS output. Many ODS features for tables, such as destination statements, apply equally to graphics. ODS styles control the appearance and consistency of all graphs, whereas ODS templates control the layout and details of individual graphs. This paper introduces statistical users and other SAS programmers to ODS Graphics. Examples illustrate basic functionality , which requires minimal syntax, and typical graph management tasks. Familiarity with ODS for tables is assumed. output delivery system, graph template language, ods graphics, qq plot, proc step, proc mixed, scatter plot, proc sgplot, histogram, logistic distribution, regression analysis, box plot, proc template, proc reg, proc ucm source 27
12 Analysis and Reporting Made Easier using Enterprise Guide Sunil Kumar Gupta SAS's new Enterprise Guide makes it easier to perform data analysis and reporting. Using the task-oriented menus reduces the time to deliver results. This presentation shows simple step-by-step instructions on how real-world business questions can be answered using Enterprise Guide. With a better understanding of product sales, you can make trends for better planning. With Enterprise Guide, you have access to the full power of SAS's analytic capabilities without writing any SAS code. Learn SAS programming the easy way and automatically generate SAS code for your reports. This paper will feature Enterprise Guide version 3.0. This paper addresses the following topics: SAS Enterprise Guide: The Basics Selecting Analysis and Reporting Tasks Producing Reports for Distribution sas enterprise guide, proc hpsplit, proc step source 7
13 Anyone Can Learn PROC TABULATE Lauren E. Haworth SAS Software provides hundreds of ways you can analyze your data. You can use the DATA STEP to slice and dice your data, and there are dozens of procedures that will process your data and produce all kinds of statistics. But odds are that no matter how you organize and analyze your data, you'll end up producing a report in the form of a table. This is why every SAS user needs to know how to use PROC TABULATE. While TABULATE doesn't do anything that you can't do with other PROCs, the payoff is in the output. TABULATE computes a variety of statistics, and it neatly packages the results in a single table. Unfortunately, TABULATE has gotten a bad rap as being a difficult procedure to learn. This paper will prove that if you take things step by step, anyone can learn PROC TABULATE. This paper is based on Version 8, but all of the examples save the last one will also work in Version 6. proc tabulate, proc step, ods html, excel source 15
14 Applying Statistical Analysis to Improve Formability of Steel Arkady M. Kushnir Medium carbon steel structural grades of the hot rolled plates and sheets are commonly used for deep drawing applications [1]. Cracking on the bend faces of steel is a major defect, which usually causes rejection of the sufficient volumes of steel. Crack resistance during deep drawing depends on multiple metallurgical factors. Some of these parameters are: steel chemistry and thickness, microstructure and cleanliness, strength level and degree of restraint, etc. In some cases, cracks also initiated upon bending a sheared or burned edge. Usually this is not considered as a fault of the steel, but rather a function of the induced cold work or heat-affected zone [2, 3]. This article presents results of susceptibility to cracking on medium carbon mechanically capped (MCD) and silicon semi-killed (SSK) grades of hot rolled Q-BOP steel in gages up to 0.5" (12.5 mm), shipped as coils or plates, processed through the heavy gage shear line (HGSL) or Temper Mill. sample, correlation, regression analysis, data science source 12
15 Are Religious Universities Religious?: A Multiple Regression Analysis of Varying Factors at Loyola Marymount University using SAS/ETS Procedures Jonathan Bingham,
Joel Shackelford
By obtaining ninety-five college-aged observations fr om a self-made eighteen question Likert-type survey distributed at the Westchester campus of Loyola Marymount University in Los Angeles, coauthors Jonathan Bingham and Joel Shackelford hope to determine, through SAS aided multiple regression analysis, the factors that affect religious beliefs at religious institutions, namely those at Loyola Marymount University. In using Damodar Gujarati's text Essentials of Econometrics, results from the 1996 National Election Survey, various SAS instructional texts, outside research on the su bject of religiosity in colleges and universities, and SAS user/Loyola Marymount University Economics Professor, Dr. correlation, null hypothesis, regression analysis, estimate, anova, response variable, data science, proc step source 11
16 Arrays Uncovered Diana D. Suhr Discover how DATA STEP arrays promote efficient programming techniques. Learn to use and master implicit, explicit, simple, and multidimensional arrays. Define array statements and use _NUMERIC, _CHARACTER_, _TEMPORARY_, DO, and %LET. Expand on the definition and syntax of arrays with interactive examples. array, character variable, do loop, macro variable, array bounds, conditional do loop source 7
17 Automatically Generating a Customized Table for Summarizing the Activities in Clinics Yan Xu,
Joyce X. Wu,
Han Wu
Automatically generating customized tables by using the SAS System is more reliable and efficient, particularly, when the tables need to be submitted periodically in report systems. An example SAS program using SAS/BASE and MACRO modules to create a comprehensive summary table is presented. The SAS program may be run on all SAS platforms. The SAS progra m features the INTCK and INTNX functions, PROC FREQ, and PROC TABULATE to create monthly reports that summarized weekly activities in the Department of Health Services. A SAS macro program is also described to add flexibility to the calculations shown in the PROC TABULATE table. Also, tips customizing the table and suppressing unnecessary displays were introduced. proc step, proc tabulate, proc freq, macro definition source 5
18 Beyond Binary Outcomes: PROC LOGISTIC to Model Ordinal and Nominal Dependent Variables Eric P. Elkin The most familiar reason to use the LOGISTIC procedure is to model binary (yes/no, 1/0) categorical outcome variables. However, if your categorical outcome has three or more groups, there is no need to collapse them into two levels to make it fit traditional binomial logistic regression. PROC LOGISTIC is able to handle the case where the dependent variable has more than two categories. PROC LOGISTIC uses a cumulative logit function if it detects more than two levels of the dependent variable, which is appropriate for ordinal (ordered) dependent variables with 3 or more levels. Beginning in version 8.2, a generalized logit function for the LINK= option is available to analyze nominal (un-ordered) categorical variables with 3+ levels (i.e., multinomial logistic regression). response variable, logistic distribution, logistic regression, proc logistic, odds ratio, proc step, regression analysis, likelihood function, maximum likelihood estimation, nominal variable, predictor variable, ordinal variable, null hypothesis, binomial distribution source 8
19 Building a Data-Driven Computer Assisted Interview Using SAS/AF Derek P. Morgan Creating a respondent-usable survey using the SAS System involves a large amount of developer time using traditional SAS System methods of data capture with an end-user interface, since it is directly linked to the size of the survey. In such an environment, each survey has to be custom-built and coded. This method was developed to bypass that and other obstacles related to end-user data capture. This method uses SAS datasets to implement program control, as well as provide questions and responses. A fixed series of SAS/AF frames interact with the user, yielding a consistent user interface. The frame code does not change between surveys-th e datasets do. However, if the user needs to create a custom frame to handle the administration of a particular question, it is easily integrated into the existing method. This method was initially developed in order to administer the diet history questionnaire (DHQ). where statement, data governance source 17
20 Building and Running a SAS Socket Server Anthony M. Dymond Any computer connected to the Internet that can read and write to a socket can talk to any other computer with the same capabilities. This means that almost any computer today, regardless of hardware platform, operating system, or programming language, can talk to any other computer over the Internet. SAS software supports socket server connections, allowing other computers with or without SAS loaded on them to start SAS jobs and recover files from remote locations. This paper briefly describes Internet sockets, describes a socket server written in the Base SAS language, and then describes a socket client written in Java that can commu nicate to the SAS socket server. Starting and using a SAS socket server will be demonstrated. macro loop, data step, macro variable, sas base, sas log source 11
21 Comparing Two SAS Data Sets: Start at the Top Ann Olmsted Many macros to compare two SAS data sets have been published in SUGI Proceedings and elsewhere over the years. Most assume the data sets have "the same variables," i.e., the same set of variable names and no type conflicts. If it's risky to assume your data sets have the same variables, you can perform the comparison in two steps. Step 1: Create a global macro variable and set it equal to 1 if the data sets have the same variable names and no type conflicts; otherwise, set it to 0. Step 2: Create a second global macro variable and set it to 1 if the data sets, projected onto their common variables, have the same set of observations (not necessarily in the same order, and not necessarily without duplicates); otherwise, set it to 0. In short, first compare the data set headers, then compare the bodies. If they both match, the data sets are equivalent. Sample code and examples are given. proc step, proc compare, macro variable, numeric variable, proc sql, macro quoting function, adverse events, concomitant medications source 5
22 Computing Exact Power and Sample Size for Hotelling's T2-test and Related Multivariate Procedures Jimmy Thomas Efird,
Kavitha Alimineti
Multiple comparisons often arise in medical and epidemiologic research and several methods exist for adjusting statistical significance levels. In this paper, we discuss the multivariate method attributed to Harold Hotelling for handling multiplicity in the p- variate two-sample case. A generalized method is derived for computing the exact power for this test. The technique may be easily adapted to other multivariate procedures that utilize the T2-statistic. sample, covariance source 4
23 Connecting Your Output: Using Drill-down Techniques to Link Reports, Graphics, and Tables Richard O. Smith,
Arthur L. Carpenter
When displaying the output from your SAS programs, it is no longer necessary to force your readers to go through a stack of output linearly from front to back. Using the Output Delivery System, ODS, and drill-down techniques allow you to produce reports, graphics, tables and other forms of output that automatically link to other related tables and graphics. If your reader wants to see the supporting statistics, or even the raw data, for a subgroup that looks a bit 'odd', there is no longer a need to have them flip pages to some appendix of your report. The link to the appropriate place in the appropriate supporting table can automatically be built into each of your tables and graphs. Learn how you can easily connect these tables, reports, and graphics so that they can be used as links in the chain of data display items. proc print, output delivery system, proc step, ods html source 6
24 Constructing Analysis Files: A Multi-Tiered Approach Tyler Cole Data for clinical studies are often organized into analysis f iles which are typically used for statistical analyses as well as for generation of tables, figures, and listings. Analysis files generally have a number of user-created and non-user created variables shared in common. As a result, programs used to create these files may contain copies of the same code. If many analysis files are needed, uncontrolled code duplication becomes a significant problem impairing the consistency and maintenance of programs. A system design able to control redundant code is thus desired. This paper, intended for intermediate to advanced user s of BASE/SAS, describes one innovative programming approach which can be implemented to organize and contai n the data steps and SAS procedures used to create analysis file variables. With this approach, SAS statements are grouped into function-specific macros stored separate from analysis file programs. data step, macro definition, macro call, proc step, clinical trial, macro variable, sample, proc datasets, adverse events source 7
25 Contrasting programming techniques for summarizing voluminous SAS output using the SAS Output Delivery System (ODS) (PROC FREQ as an example) Stuart D. Long,
Lawrence Park
SAS ODS provides programmers with the ability to extract se lected information from a procedur e and store it in datasets. Such datasets can then be combined to summarize the result s from numerous procedures. The SAS Macro facility can be used to execute and extract information from repetitively called SAS procedures. "Macro Variable Arrays" can simplify the extraction of informa tion from SAS procedures when i dentical or similar code is executed repeatedly on a mult itude of datasets and/or variables. This paper describes Macro Variable Arrays and contrasts these with other programming methods to obtain summary datasets from ODS output. Although PROC FREQ is used in this paper , these techniques can serve as a bluepr int for extracting and summarizing output from other SAS procedures. This is an advanced tutorial intended for SAS programmers knowledgeable with the SAS Macro facility. proc freq, macro variable, proc step, call execute, do loop, confidence interval, data step, macro loop, macro definition, macro call, out=, macro facility, conditional do loop, odds ratio, sas output source 16
26 Creating Custom Tables Using SAS Tyler Cole Columnar tables showing various statistics and summary values across different populations are commonly used to report data in many business environments. In some cases, the content and layout of such tables are not dynamic - populations, table entries, and statistics are determined ahead of time and "coded into" individual table programs. Depending on the programming approach, creating and modifying columnar tables can be a simple or daunting task. This paper presents one common program design implemented to create tables for clinical trials. Following this design, statistical macros are used to create summary values which are combined and then output using DATA _NULL_. Along with an outline of this method, key topics such as input data structure, macro design, macro output, and DATA _NULL_ reporting are addressed in this paper. With an efficient program design and a clear understanding of the issues involved, creating columnar tables becomes a snap. in=, nominal variable, proc format, proc means, create table, out=, proc step, sample source 11
27 Creating Efficient SQL - Four Steps to a Quick Query Paul D. Sherman Schema Query Language is a very flexible, general grammar for fetching and processing large amounts of data directly at the database level. Given this flexibility, there are many ways of achieving the same result. Some approaches yield terribly poor database performance especially when simple processing steps are overlooked. Most notable are incorrect uses of the ORDER BY and DISTINCT statements, whose often desired results almost always lead to sub-optimal database behavior. It is instructive to think about any "table", which are named in the FROM clause, as just another type of "object" in an object-oriented sense. Tables consist of one or more fields or columns, each having well defined types, and when related or joined to each other hold references between themselves. An SQL statement is thus nothing more than an object model diagram of sorts. In that regard, I recommend the following sequence of four simple steps when building any SQL query statement. inner join, proc sql, group by, order by, where statement, create table, key, cpu time, select, proc step source 8
28 Creating HTML Output with Output Delivery System Kirk Paul Lafler Are you looking for ways to improve the way your SAS output appears? The SAS Output Delivery System (ODS) can help turn tired -looking output into great looking information with a purpose. O utput delivery has entered a new age with ODS by taking advantage of font characteristics, color, a number of output layouts, and other features. This paper will illustrate coding techniques associated with creating HTML output using ODS. ods html, sas output, output delivery system, proc univariate, ods pdf source 6
29 Cut Out The Cut And Paste: SAS Macros For Presenting Statistical Output Myungshin Oh,
Mel Widawski
We, as statisticians, often spend more time cutting and pasting from pure SAS output in making a report for clients, than we spend w riting the pr ograms. T his is especially true, w hen w e perform the same PROC STEP for many variables over and over and get hundreds pages of output, we need to somehow summarize them. In order to save time, these Macros produce a summarized version of output containing just the information needed. W e have developed Macros for paired t-test, reliability analysis (Cronbach's alpha), Wilcoxon test, and analysis of variance. The Macro for paired t-test combines information from PROC MEANS, PROC T TEST, and PROC CORR. W e often need to present reliability information on a number of sca les and sub-scales simultaneously ; this macro produces a condensed table. macro variable, proc step, sample, proc genmod, macro call, anova, proc glm, standard deviation, correlation, proc corr, wilcoxon test, proc ttest, class variable, sas log, repeated measures, repeated measures anova, proc means, paired t-test, sas output, response variable, main effect source 9
30 Data Mining Using Neural Network Approaches Using SAS and Java David Bell This paper will explore the uses of two Neural Net approaches to pattern analyses based upon a neuro- evolutionary approach based upon the ID3 AI algorithm created by J. R. Quinlan and later neuro-evolutionary approaches. The first approach will use an approach devised for detecting genetic structures from genetic expression known as REVEAL (REVerse Expression evaluation Algorithm: Liang S, Fuhrman S, et al. ); the second algorithm will be based upon a Neuro-dynamic Programming approach, to detecting patterns in data (D. Bertsekas, et al.: 1996). Both algorithms use relative Entropy to measure the amount of information gained by the variables used for pattern detection as well as to determine the error of pattern association. Two examples will be presented using these algorithms. The first example will be the use of these algortithms for record matching. record linkage, data mining source 6
31 Design Principles for Online Information: Readability, Usability, and Accessibility Jodie M. Gilmore The Web is becoming the standard media for disseminating information. But whether the information is a simple form (such as a user feedback survey), a collection of raw data (such as survey results), or a series of reports and data analyses, "putting it on the Web" involves more than uploading a few files to your Web server. Before information goes online, you need to think about who will be using it and how they will be using it. Page design (such as colors and fonts), navigational ease and consistency, and - with the increasing importance of Section 508 requirements - site accessibility are all issues you must consider. By explaining the concepts and providing concrete guidelines, this paper will help you make your online information as effective as possible. best., raw data source 16
32 Dynamic Format & %LET Macro to Match Data from External Data Sources Arkady M. Kushnir Dynamic Format and %LET statements were created in SAS DATA STEP, to match customer IDs to large DB2 Tables and classify accounts by processing scheme. Technique could be used to match large volumes of information against external data sources, such as relational data bases or large flat files. macro variable, proc step, proc format, dataset, data step, proc sql source 6
33 Efficiency of Merging Many Single Column Data Sets to a Many Column and Many Row Prospect Data Set Brian Mayeux In the credit card direct mail marketing industry, there exists many legal and business prospect contact restrictions. These restrictions are also known as suppressions. Consequently, there are many data sources that exist for each of these suppressions. To apply the suppressions, it is required to merge approximately 10 to 20 individual suppression data sets to the prospect data. This paper addresses the challenges that arise when merging many single column data sets with numerous (1M-100M) rows to a large prospect data set that contains 59 columns approximately one to 100 million rows. Four different merging methods under this scenario are compared. CPU usage as well as disk space are analyzed. All advantages and disadvantages for each method are discussed. The first method uses PROC SQL. Two other methods use the DATA STEP MERGE and the final method utilizes SAS proc sql, cpu time, format statement, proc step, put statement, record count, lookup source 12
34 Efficiency Techniques for Beginning PROC SQL Users Kirk Paul Lafler PROC SQL provides SAS users with a powerful programming language that can rival DATA STEP coding techniques either in terms of the processin g time or the human time involved to write the code. Attendees of this hands -on workshop will learn how to use PROC SQL statements, options, and clauses t o conserve CPU, I/O, and memory resources while accomplishing tasks involving processing, ordering, gr ouping, and summarizing data . Numerous hands-on exercises will reinforce the PROC SQL coding technique s t hat efficiently utilize available resources . No previous experience with PROC SQL is required to attend this workshop. proc sql, proc step, cpu time, where statement, create table, order by, select, dictionary tables, proc sort source 10
35 Empirical Investigation of Time Series Frequency Conversion with PROC EXPAND Keiko I. Powers PROC EXPAND of SAS/ETS is a versatile tool to perform various data transformation procedures of time series data. One of its most attractive features is its capability to convert the frequency of time series to different frequencies, e.g., from monthly to weekly. This allows us to convert and combine data with different frequencies for various time series approaches, such as those provided in PROC SYSLIN. PROC EXPAND offers multiple options to convert data to different frequencies, but the choice of which setup to use is often a difficult one, since the true time series behavior with a different frequency is often unknown. For example, when we convert data from monthly to weekly, it is not clear if the trend within the month displays any 'weekly seasonality'. The present study uses time series data with various frequencies, i.e., daily, weekly, and monthly, and investigates how frequency-converted data perform compared to the 'actual' data. time series analysis, proc freq, proc step, time series data source 9
36 Essential SAS Coding Techniques for Gaining Efficiency Kirk Paul Lafler As SAS software becomes increasingly more popular, guidelines for its efficient use is critical. The Base -SAS software provides SAS u sers with a powerful programming language for accessing, analyzing, manipulating, and presenting data. This paper address es useful coding techniques for SAS users on all operating system platforms. Attendees can expect to learn DATA and PROC STEP language statements and options that help conserve CPU, I/O, data storage, and memory resources while accomplishing tasks involving processing, ordering, grouping, and summarizing data. cpu time, proc sql, if-then-else source 6
37 Estimating Crude Oil Price Variability Using SAS/ETS Procedures Brian Khalifa,
Sung Hoon Kim
The purpose of this paper is to find the reasons why oil prices are rising in America. As this is being written, oil prices are reaching new highs almost at a daily rate and one can see that this is of concern for anyone. We purport, using econometric techniques, especially those of linear regression that the price of crude oil is in some way related to our Gross Domestic Product (GDP), interest rates, OPEC's decisions to either cut production or raise it, and whether or not there is some kind of social disturbance in the Middle East. The last can be thought of as some kind of war. The methodology that will be used for this is to gather yearly data over the past century of light sweet crude, GDP, interest rates, OPEC decisions and disturbances in the Middle East. The latter two will employ the use of dummy variables. Then we will run a regression using SAS. The hope in finding this time-series is to determine why oil prices are rising, in fact skyrocketing. interest rate, capacity utilization, regression analysis, proc reg, proc step source 3
38 Evaluating Student Statistics Performance Using SAS/STAT Procedures Seid M. Zekavat,
Kathryn Wilson
The purpose o f this stud y is t wofold. F irst, i t intends to determine whether or n ot g ender affects stu dent performance in Business and Economics Statistics. Second, it investigates whether or not class attendance and c ompleting reg ular homework ass ignments in an i ntroductory stati stics course have a ny be aring o n student final semester grades. Statistical tools used in this study include regression analysis, F and Z tests of null hypotheses, the d ifference between two population means test and pie charts. Prelimi nary findings suggest that c ompletion of homework assignments holds a significant relation to th e semester scores. The relationship between class attendance and semester scores, however, seems less s ignificant than th at of homework. A s expecte d, th e femal e stud ents perform ed better th an their ma le co unterparts. F emales consistently earned a higher percentage of A's and B's. regression analysis, multiple regression, null hypothesis, anova source 5
39 Five Ways to Create Macro Variables: A Short Introduction to the Macro Language Arthur L. Carpenter The macro language is both powerful and flexible. With this power, however comes complexity, and this complexity often makes the language more difficult to learn and use. Fortunately one of the key elements of the macro language is its use of macro variables, and these are easy to learn and easy to use. Macro variables can be created using a number of different techniques and statements. However the five most commonly methods are not only the most useful, but also among the easiest to master. Since macro variables are used in so many ways within the macro language, learning how they are created can also serve as an excellent introduction to the language itself. These methods include: %LET statement macro parameters (named and positional) iterative %DO statement using the INTO in PROC SQL * using the CALL SYMPUT routine macro variable, macro facility, macro put, macro loop, proc sql, put statement, do loop, proc step, macro call, missing value, macro parameter, macro definition, %macro parameters, call symput, automatic macro variable, symbol table, keyword parameter, select source 12
40 Generating PowerPoint Presentations using SAS software, Microsoft Schemas and XML Bruce Kayton This paper discusses a methodology to programmatically produce PowerPoint presentations using SAS software. The objective is achieved by directing program output to HTML and XML destinations in conjunction with Microsoft Office and Microsoft VML schemas. source 4
41 Get GUI: Replacing SAS/FSP Screens with the SAS/AF Form Viewer Steven A. Wilson SAS/FSP screens are increasingly the source of confusion and frustration to end users accustomed to working with a graphical user interface (GUI). How often do your users attempt to use a mouse when working in Fsedit or Fsbrowse? How often has someone made unkind remarks about the Fsedit screens in your applications? Is your management pleased with the "DOS-like" appearance of these screens? SAS/AF is an application development product that creates GUI-based frames that can be executed by Base SAS. These frames contain various graphical components, one of which is the Form Viewer control. The Form Viewer control provides a GUI interface for displaying and editing individual rows in a SAS data set. This paper describes the process of replacing a SAS/FSP Fsedit screen with the SAS/AF Form Viewer control. We will examine the basics of SAS/AF and then the specifics on how to design and deploy SAS/AF frames that use the Form Viewer control. dataset, proc step, where statement, sas base, numeric variable source 20
42 Getting the Most from PROC MEANS Andrew H. Karp PROC MEANS (and its 'sister,' PROC SUMMARY) have been BASE SAS Software procedures for a long time. Most SAS Software users have found their ability to rapidly analyze and summarize the values of numeric variables to be essential tools in their programs and applications. A number of new features have been added to PROC MEANS in The Nashville Release (Version 8) of the SAS System which will be discussed in this paper. Applying these new features will enable you to simplify the analysis of your data, make it easier for you to create data sets containing summaries and analyses of your data, and take advantage of other tools in SAS Version 8, such as Multilabel Formats (MLFs), which are created by using PROC FORMAT. proc step, proc means, dataset, output, class variable, numeric variable, by group processing, character variable, sas base, sas output source 8
43 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 T ABULATE or DATA _NULL_ reporting--two areas that have driven the new SAS user crazy!!! With the added capabilities of ODS provided in Version 7 and higher, PROC REPORT can look as sharp as an EXCEL report. T his paper w ill show how to use PROC REPORT in both a w indowing and non-w indowing environment using SAS Version 8. Aside: If you are still using SAS Vers ion 6, see my 1999 paper listed in REFERENCES. There have been a number of changes in the keystroke sequences used in the WINDOWING ENVIRONMENT section. proc report, proc step, proc print, proc tabulate, proc means, variable source 7
44 How to Add to Existing Data or, Why Did You Do it That Way? Kathryn A. Valdes There are different PROCS and DATA steps that can be used to add information to an existing data set. With so many ways to do a single task, it can be confusing to decide what code to use. When do you use an update, MERGE, OR SET statement in the DATA STEP? Is it better to use PROC SQL? What happens when there is not a one-to-one match? How can information from a PROC be added to a data set and why would you do that? My paper and presentation will give examples of different ways to add information to an existing data set and reasons to choose one proc step, proc sql, by group processing, merge statement, set statement, update statement, missing value, proc sort, automatic variable, macro variable source 14
45 How to Develop User Friendly Macros Sy J. Truong SAS macros help automate tasks that are done repeatedly. However, if they are not easy to use or debug, they may never be used. This paper will describe approaches to developing and maintaining SAS macros that are easy to use. Some of the topics covered include: effective documentation of macro header portable code for use with different OS error and warning message handling paper and online documentation use of nested macros and nested macro variables keeping macros simple for debugging A little effort can go a long way towards creating a successful SAS macro. This paper will present tips and techniques that are not always obvious. Besides getting the resulting numbers to the user, a user friendly macro can enhance the entire experience. macro definition, error message, macro variable, proc step source 7
46 How To Get Ten Pounds Of Data Into A Five Pound Can - Using Flyover Technique In HTML Output Daniel K. Downing When delivering results today, it is more and more common that delivering the output to the screen will be a requirement. Without getting into issues of font size or page orientation, there is generally about one third less horizontal space to work with between a screen and a hardcopy document. However, there is an easy to use technique available that allows for the presentation of more data to the user without requiring them to scroll back and forth. This paper is a guide through the processes necessary to convert static hardcopy output from PROC PRINT to the more flexible PROC REPORT, use flyovers to present descriptive information, thereby reducing the screen real estate consumed, and package it all in an HTML wrapper. In other words, a way of getting ten pounds of data into a five pound can. proc report, proc step, macro variable, proc print source 6
47 Implementing an Audit Trail within a Clinical Reporting Tool Paul M. Gilbert,
Troy A. Ruth,
Gregory T. Weber
This paper is a follow -up to "Overview of a Browser-Based Clinical Report Generation Tool," presented at PharmaSUG 2003. After describing the initial goals and functionality of a browser -based Clinical Report Generation Tool, improved control over the reporting environment was stated as one of the next steps in the implementation of the system. T he planned ad dition of a Move to Production facility and accompanying system audit trail was introduced as the means for establishing the desired control. The discussion in this paper will focus on the implementation of the system audit trail. An audit trail is a use ful tool for management to record and review the activities of staff responsible for development and maintenan ce within a Clinical Reporting E nvironment. A system audit trail is a vital component in a system intended to satisfy 21 CFR Part 11 and other regulatory requirements . audit trail, 21 cfr part 11 source 7
48 Is Your Code Complex? Here's One Way to Tell Michael C. Harris The Cyclomatic Complexity metric described by Watson and McCabe1 provides an objective measure of the complexity of a given module of pro gram code by e xamining its dec ision structure. T his article examines issues related to using the metric. These include identifying relevant SAS flow control constructs, creating flow graphs of SAS programs , and methods for derivin g test cases from basis path analysis. Emphasis is placed on pr ograms t ypical of the b iotechnology and pharmaceutical ind ustry, b ut the pri nciples are applicable to any kind of program. data step, macro variable, conditional do loop, sas programming, macro facility, pharmaceutical industry, macro definition, sample, proc step source 8
49 Is your picture worth a thousand words? Creating Effective Presentations with SAS/GRAPH Justina M. Flavin,
Arthur L. Carpenter
SAS/GRAPH contains an abundance of procedures and options that can be used to create any number of types of graphical output. And if that is not enough, with the capabilities of the Annotate facility, the sky and your imagination may be the only limits to your graphical creations. The problem is that all of this power and flexibility may not result in output that conveys the intended message. Graphical presentation of data, when done well can enlighten and inform, but when done poorly can confuse or mislead. Since effective communication should always be the goal of each graph and chart, this paper will present effective techniques that can be incorporated into SAS/GRAPH programs and will discuss some techniques to be avoided when creating graphical output. Application of these ideas will enable you to design useful and informative presentations that maximize the level of information transfer and ensure that your pictures are truly worth a thousand words. proc step, footnote statement, proc gplot, outlier source 13
50 It's a P-value, All Right - but is it the Right One? Linda Collins In an analysis of variance, it is often desirable to compare selected pairs of treatment groups. This is done in PROC GLM with a CONTRAST or ESTIMATE statement. The syntax of this statement, though, depends on the sorted order of these groups, not on their actual value. If the user is not aware of the sort order of the groups, or if the number of groups changes - particularly if a BY variable is used - it is easy to mistakenly attribute the resulting p-value to the wrong pair of groups. Even worse, this problem may occur without obvious error or warning messages. This paper presents a technique for avoiding this subtle but serious error. proc genmod, proc glm, proc step, missing value, anova, by group processing source 6
51 Kaplan Meier And Cox Proportional Hazards Modeling: Hands On Survival Analysis Tyler C. Smith,
Besa Smith
Non-parametric survival analysis techniques are often used in clinical and epidemiologic research to model time at risk until event without parametric assumptions. This workshop will walk through the concepts of follow-up time, event time, the hazard function, the cumulative distribution function, incomplete data, censoring, time dependencies or temporal biases, plotting of survival curves, testing the proportional hazards assumption, and model diagnostics. Using SAS system's PROC LIFETEST, Kaplan Meier curves along with the log rank and Wilcoxon tests will be investigated to establish statistical differences in survival times between two groups. From there we will use the SAS system's PROC PHREG to run a Cox regression to model time until event while simultaneously adjusting for influential covariates and accounting for problems such as attrition, delayed entry, and temporal biases. survival analysis, proc step, survival function, regression analysis, hazard function, proc phreg, likelihood function, probability distribution, proportional hazards assumption, cumulative frequency, follow-up period, predictor variable, right censoring, treatment arm, null hypothesis, nominal variable, kaplan-meier estimator, hazard ratio, response variable, binary variable, relative risk, proc reg source 14
52 Looking for a Date? A Tutorial on Using SAS Dates and Times Arthur L. Carpenter What are SAS date and time values? How are they used and why do we care? What are some of the more important of the many functions, formats, and tools that have been developed that work with these crucial elements of the SAS System? This tutorial will answer these questions and many more. Starting with date and time constants and their representation in SAS and then expanding to functions and formats, the basics of the use of dates and times will be integrated with their use as part of both data tables and data displays. The discussion will include functions and formats that are new to Version 8 and SAS 9. Also covered are picture formats and date directives, date scaling in SAS/GRAPH, shift operators in the INTNX and INTCK functions, and the use of the %SYSFUNC macro function. sysdate9, datepart, date variable, options statement, macro facility, macro function, macro variable, macro definition source 12
53 Macro Arrays Make %DO-Looping Easy Ted Clay The purpose of the macro array concept is to make it easier to repetitively execute SAS code. A macro array is defined as a list of macro variables sharing the same prefix and a numeric suffix, such as AA1, AA2, AA3, etc., plus an additional macro variable with a suffix of "N" containing the length of the array. The %MACARRAY macro creates a macro array from an explicit list of values, or from a character or numeric variable in a data set. Then the fun begins. The %DO_OVER macro loops over the macro array, substituting macro array values wherever you put a "?" in your code. For example, %DO_OVER(AA,phrase="?") generates a list with double-quotes around each element. Need to rename variables adding a suffix? RENAME %DO_OVER(AA,phrase=?=?suf); Or store which variable is true? %DO_OVER(AA,phrase=if ? then x="?";,between=else). Or concatenate a series of data sets? SET %DO_OVER(AA,phrase=mylib.?(in=in?)); Or repeatedly execute an externally-defined macro? %DO_OVER(AA,macro=mymacro). macro variable, macro loop, data step, do loop, label statement, macro facility, macro parameter, %macro parameters, macro definition, proc step, macro quoting function, proc freq, %if-%then-%else, macro variable array source
zip
8
54 Macros To Report Missing Data: An HTML Data Collection Guide Patrick Thornton This paper presents SAS macro programs that calculate missing data in a data set and produce reports of missing data in HTML. The reports are useful for informing analysts, managers and guiding data collection activities. The macro programs create DATA STEP and ARRAY syntax to calculate the number and percent of missing data points in a SAS data set. Reports summarize the missing data points overall, by pre-defined variable and observation groups, and by individual variables and observations. The macros also allow the calculation of missing data in changing data sets where only observations and variables due at the time of the report are included in the calculations. missing value, macro variable, macro definition, sas syntax, call symput, macro call, excel, proc contents, if-then-else source 19
55 Making Code Review Painless Sy J. Truong Code review is an essential step in the development of concise and accurate SAS programs. It is a required verification step in performing validation in a regulated environment. This paper will present techniques and a macro that can be freely downloaded to automate this task. The %coderev macro will perform many of the common tasks during a code review including: 1. Spell checking headers and comments 2. Reviewing all input and output datasets of the program 3. Comparing defined macro variables versus macro variable usage 4. Checking for multiple macro calls that are not in a macro library 5. Evaluating hard code logic 6. Evaluating sort order of all datasets These tasks are normally performed by an independent reviewer instead of the original programmer. By automating the tasks, the code review process will ensure that the smallest mistake can be captured through reports to ensure the highest quality and integrity. What normally is a dreaded task can now be done with ease. macro variable, put statement, data cleaning source 5
56 Manipulating Data with PROC SQL Kirk Paul Lafler Because PROC SQL is essentially a database language as opposed to a procedural or computational language , numerous extensions are available for working with numeric and character data including an assortment of operators, functions, and predicates. This paper presents PROC SQL coding techniques that perform text case conversions, concatenation of two or more character strings, pattern and phonetic matching operations, updates to data in a table, and other useful coding techniques. proc sql, proc step source 8
57 Master/Detail Reporting in Base SAS Jack Hamilton This paper discusses the concept of master/detail reports and discusses several methods of creating them in SAS, with an emphasis on using the Output Delivery System. data step, proc step, proc report, proc tabulate, sample, output delivery system source 10
58 Matching without Unique Identifiers - Fuzzy Matching Applications with SAS Software Wade Bannister As the sheer volume of data increases, an increase in the need to link people or places or products from one data source to another has followed, particularly in the healthcare field. Unfortunately, as the number of available data sources has sharply increased, the use of "unique" identifiers has not. Further, what constitutes a unique identifier in one data set may have no relationship with a unique identifier in another. This paper introduces the concept of fuzzy matching, which is a technique to link people (or other entities) across data sources when there are no unique identifiers available. Fuzzy matching typically utilizes numerous fields which combine to create approximate matches which then must be evaluated. Issues and examples related to the techniques and difficulties in implementing a fuzzy matching algorithm using SAS software are presented, including data integrity issues, processing efficiency, blocking, and distance measures. unique key, distance measure, data cleaning source 4
59 Methods For Combining SAS Data Sets Of Varying Sizes: Which Method To Use When? Hugh Roghmann When combining two SAS data sets based on values of a single key variable, there are several coding methods to choose from. Some of these include a match merge, a PROC SQL join, key-indexing, and hashing. This paper differentiates the relative efficiency of these four techniques in one common situation with regard to one changing parameter: the proportion of key values in a smaller data set that have matching values in a larger 'lookup' data set. The data-combining situation I will concentrate on involves the combining of two SAS data sets that share a one-to-one relationship between key values. I find that the index- based methods of PROC SQL and key-indexing can be significantly faster than the sequential match merge method when the smaller data set is less than about 7% the sample of the larger lookup data set. For samples greater than about 7%, the match merge usually runs significantly faster than all other methods. sample, proc sql, sample size, proc step, master data management, elapsed time, cpu time, order by, data merging source 7
60 Mixed Model Influence Diagnostics Oliver Schabenberger Linear models for uncorrelated data have well established measures to gauge the influence of one or more observations on the analysis. For such models, closed-form update expressions allow efficient computa- tions without refitting the model. When similar notions of statistical influence are applied to mixed models, things are more complicated. Removing data points affects fixed effects and covariance parameter esti- mates. Update formulas for "leave-one-out" estimates typically fail to account for changes in covariance parameters. Moreover, in repeated measures or longitudinal studies, one is often interested in multivariate influence, rather than the impact of isolated points. This paper examines extensions of influence measures in linear mixed models and their implementation in the MIXED procedure. covariance, influential observation, proc mixed, likelihood function, fixed effects, estimate, standard deviation, correlation, cook's distance, outlier, proc means, proc step, restricted maximum likelihood source 17
61 New Palettes for SAS Version 9 Color Utility Macros Perry Watts Version 9 SAS replaces the list of predefined SAS colors with color utility macros that work with a full range of code-to-color mappings in a given color space. Start values for RGB (red | green | blue) codes are three decimals representing percents. They are converted to a hexadecimal value SAS understands. On the other hand, start values for HLS (hue | lightness | saturation) are a combination of degrees and percents. Hue ranges from 0 to 360 degrees whereas lightness and saturation are listed as decimal percents. Again the output from the utility macro is a single hexadecimal value for a given color. Here is how to get CYAN from two of the utility macros: %RGB(0,100,100) = CX00FFFF and %HLS(300,50,100) = H12C80FF. Although decimals are easier to understand than hexadecimals, it is still difficult to know what combination of percents and numbers will yield a particular color. Therefore palettes are needed as color-selection tools. Instead of using ODS with PROC REPORT output to an HTML file, the palettes in this paper are constructed by generating HTML script directly in a DATA STEP. proc greplay, proc step source 11
62 Next Generation Data Warehousing with SAS 9 Gary Mehler This paper covers advanced data warehousing topics that can be performed with SAS 9 and explains how these approaches can be used as well as how they work These topics will show how a basic data warehouse can be turned into a full-scale production system with integrated data integrity handling, success/failure processing, and utilizing slowly-changing dimensions. These capabilities allow production-quality warehouses to be constructed within the graphical user interface of the SAS ETL Studio design environment. slowly changing dimension, data cleaning, missing value, fact table, key, star schema, foreign key, lookup, sas 9, data integrity, business intelligence, natural key source 10
63 Overview of Base SAS Changes in 9.1 Dana Rafiee This document is an excerpt from Dest iny Corporation's Version 9 Changes and E nhancement course materials, Copy right 2004. It is designed to give a brief overview of what Version 9 has to offer. The primary goal of Version 9 is to provide support for a new level of computing that supports faster execution of applications, centralized access of data and support of t he latest computing technology . These materials are designed as an overview of what is available and new and complement the online documentation that ships with the software. output delivery system, sas management console source 18
64 Package, Archive, Report and Test Statistical Models Using ODS Ted Clay Anyone applying many statistical models to many versions of an analysis data set faces a management challenge. Using the SAS macro language and ODS, the output of statistical modeling procedures REG, LOGISTIC or PHREG are merged into a minimal number of data sets: model-level, variable-level, and others. These data sets also are given five identifying variables: AnaID, DataID, ByVars, DepVar and ModelID. Results may be stored in a central archive. From there it is easy to generate reports comparing models, comparing methodologies, or integrating multivariate statistics with descriptive statistics. As an extra statistical bonus, by comparing the - 2 log likelihood statistic of two models in the archive, you can calculate the significance of groups of variables. logistic distribution, proc logistic, proc step, response variable, predictor variable, macro parameter, proc means, likelihood function, estimate, data science source 10
65 Parameterizing Models to Test the Hypotheses You Want: Coding Indicator Variables and Modified Continuous Variables David J. Pasta When statistical models include categorical explanatory variables, you can s pecify them on the CL ASS statement (if the procedure supports the CLASS statem ent) or you can create a set of "dummy" or "indicator" variables. When you specify a categorical variable on the CLASS statem ent, there is a default parameterizati on that SAS uses. But the default parameterization may not produce what you expect (for example, the default parameterization for PROC LOGISTIC is different from the default for PROC GLM). Beginning with Vers ion 8, SAS provides more power and flexibility for categorical variables in the CLASS statement, specific ally by allowing you to specify the me thod of parameterizat ion and the reference category. The selected parameterization method has a profound effect on how CONTRAST statements are specified and on the interpretation of the parameter esti mates and the associated hypothesis tests. proc genmod, nominal variable, proc logistic, interval variable, binary variable, proc freq, logistic distribution, proc step, odds ratio, maximum likelihood estimation, likelihood function, options statement source 12
66 PROC GENMOD for Analysis of Correlated Outcome Data Using the LOGIT Link Function Tyler C. Smith,
Besa Smith,
William Honner,
Ming Ji
Traditional epidemiologic research using cross sectional, retrospective, and prospective designs often employ standard techniques such as logistic regression to analyze independent binary outcome data. However, in some studies such as those with a longitudinal component and sufficient time duration to observe multiple disease occurrences, correlated outcome data are encountered with multiple outcomes from a single subject. When correlated outcomes are suspected, more sophisticated statistical consideration is required. The GENMOD procedure in SAS allows the extension of traditional linear model theory to nonlinear data through the link function. In this paper we investigate a binary outcome modeling approach using PROC LOGISTIC and PROC GENMOD with the link function. Further, we investigate the Generalized Estimating Equation (GEE) capabilities of PROC GENMOD for correlated outcome data to fit models using different correlation structures. regression analysis, proc step, logistic distribution, correlation, logistic regression, proc genmod, proc logistic, odds ratio, estimate, likelihood function, confidence interval, proc calis, response variable, covariance, binomial distribution, predictor variable, proc glm, proc reg, proc mixed, sample, covariance structure, data science, longitudinal data, maximum likelihood estimation, poisson distribution, normal distribution, repeated measures source 14
67 Quick Results with the Output Delivery System Sunil Kumar Gupta SAS's new Output Delivery System (ODS) as introduced in version 8.2 opens a whole new world of options in generating quality, detailed presentation output. ODS enables the creation of various new file types including Rich Text Format (RTF), PDF, PostScript, HTML and SAS data sets. SAS users can take advantage of ODS features to easily convert existing SAS code into these new file types. By having a selection of styles available to choose from, SAS users can control the report's overall color scheme, font and size. This paper introduces the concepts necessary to understand and apply the basic features of SAS's ODS. Issues in defining and selecting output destinations, selecting output objects and creating output files will be discussed. The focus is on the creation of various types of output files through step-by-step examples. ods html, output delivery system, sas log, file statement, proc step, by group processing, proc univariate source 14
68 Reading and Writing XML Files from SAS Miriam Cisternas,
Ricardo A. Cisternas
XML (eXtensible Markup Language) is gaining popularity as a medium for data exchange. SAS Institute has added additional support recently for reading and writing XML files under both 8.2 and 9.1. The purpose of this workshop is to provide a quick introduction to XML, show the ways in which XML is read and written from SAS, and then present hands-on examples for reading in and mapping XML files to SAS datasets and writing out SAS datasets to XML files. dataset, proc step, proc print, proc contents, clinical trial, key, libname engine, character variable, foreign key, sysdate9, raw data source 18
69 SAS Add-In for Microsoft Office - Leveraging SAS Throughout the Organization from Microsoft Office Jennifer Bradshaw Clegg,
Stephen McDaniel
The SAS Add-In for Microsoft Office is a Component Object Model (COM) add-in to Microsoft EXCEL and Microsoft Word. The SAS Add-In for Microsoft Office seamlessly exposes the power of SAS data access, reporting, and analytics directly from the familiar environment of Microsoft Office. This paper discusses the capabilities and features of the SAS Add-In for Microsoft Office 1.3. Refer to Appendix A for a list of features by release. excel, sas enterprise guide, sas management console, business intelligence, proc sql, life sciences source 15
70 SAS and Grid Computing - Maximize Efficiency, Lower Total Cost of Ownership Cheryl Doninger IT budgets are declining and data continues to grow at an exponential rate. SAS applications with high volumes of data can take many hours or possibly days or even weeks to complete. In some cases, a job is so big that it cannot be completed at all even given today's processor speeds. Whether you call it grid computing or not, you want to be able to complete your SAS applications in a reasonable amount of time without making a huge investment in new hardware. Grid computing is about leveraging your available resources and idle processor cycles to more quickly solve a problem while at the same time maximizing efficiency and reducing your total cost of ownership. SAS enables you to distribute long running jobs across a grid of any number of homogeneous or heterogeneous machines in order to get timely results and get information to the right people at the right time. grid computing, elapsed time, data science, sas 9, sas grid, by group processing, monte carlo source 6
71 SAS Data Quality - A Technology Overview Eric Hunley So, you have finally accepted the fact that there is room for improvement in the quality of your data, or maybe mandated compliances are forcing you to take a closer look at it. Now what are you going to do about it? Do you have a plan in place that will lead you down this trail of uncharted territory? What about the technology that will get you to where you what to be? Learn how the SAS Data Quality Solution (SAS and DataFlux Technologies) can help you map out your data quality journey and provide the vehicle to get you there in order to re-gain or increase the confidence in the information that drives your business decisions. See first hand how to: ƒ Gain a better understanding of where issues with your data exist ƒ Build business rules that drive the cleansing process ƒ Cleanse and Augment your data ƒ Integrate it within your data management infrastructure ƒ Report and Analyze the progress you have made data cleaning, data validation rules, sample, business intelligence, data profiling, data integration source 13
72 SAS Efficient & Effective Utilization Karthikeyan Chidambaram SAS has so many features that learning and understanding them all keep life interesting for many SAS users. There are many under-utilized and hard to find commands, functions and options in SAS, which are very powerful. These features, when used effectively, will make programs efficient and SAS programmer's life easier. dictionary tables, proc step, proc stdize, in=, proc options source 5
73 SAS Programming for the Pharmaceutical Industry Brian C. Shilling,
Carol Matthews
SAS, as a programming language, has been in existence for over 25 years and its uses and applications are utilized in many different industries. One of these industries is the pharmaceutical industry. The pharmaceutical industry (including but not limited to pharmaceutical and bio-tech companies, contract research organizations (CRO's) and a multitude of small, special interest companies) is a major and rapidly increasing user of SAS. The discipline of Clinical Trials within the industry is one of the largest users of SAS, by virtue of its' need for intricate statistical analyses, reporting and summarization requirements, and the need for high quality output. So what makes programming in the pharmaceutical industry different from other industries? The FDA regulates the pharmaceutical industry. data cleaning, pharmaceutical industry, proc step, proc freq, data science source 4
74 SAS with Style: Creating your own ODS Style Template for RTF Output Lauren E. Haworth Once you've started using the Output Delivery System, you'll quickly discover that your taste in output design probably doesn't coincide with the built-in ODS styles shipped with SAS software. While you can edit your RTF output in Word to improve its appearance, a better approach is to create your own style template. This workshop will take you step by step through the process of creating a custom style for your RTF output. You'll learn how to make minor modifications, and how to give your output a complete makeover. If you'd like all of your SAS output to be in hot pink with a gigantic script font, this workshop will show you how! Or, if you'd just like to use fonts and borders that coordinate with your corporate style guidelines, you can do that too. The workshop will also provide tips and tricks for taking advantage of the RTF destination, including the generation of custom page numbers and page breaks. The workshop will walk through the TEMPLATE procedure, showing how you can redefine the default style elements and attributes to customize fonts, colors, and borders to suit your own personal or corporate style. You'll be given a basic style template that you can customize during the workshop and then take home to try out on your ODS output. While many of the techniques in this workshop apply to other ODS destinations, the focus will be on RTF. The workshop is aimed at beginning to intermediate ODS users, and is based on SAS versions 8.2 and 9. sample, proc step, proc template, ods rtf, footnote statement, proc report, title statement, output delivery system, options statement source 20
75 SAS/AF: A Hands-On Introductory Workshop Deborah A. Testa SAS/AF and SAS Component Language (SCL) are off-the-beaten-path parts of SAS software that are used for developing user interfaces. If you are a SAS/AF newbie and are curious about how this aspect of SAS software works, this workshop will give you a hands-on elementary introduction. I will demonstrate some of the common businesses uses of SAS/AF applications by showing you some completed, operational applications. One allows up to 100 concurrent users to keep track of their work time in a timesheet application, using SAS/AF screens and SAS/SHARE . Another enables double data entry into audited SAS data sets for a clinical trial. A third shows how to do complex presentation of data based on user selections. After this overview, you will have the opportunity to work with a simple SAS/AF screen yourself. Following explicit directions, you will customize the appearance of the screen and learn how your users can pass parameters to an existing report program. dataset, sas programming, sample, sas base, catalog entry, clinical trial, macro facility source 11
76 Speed up your SAS Programs Karthikeyan Chidambaram There are some basic rules, which will enhance the efficiency of the SAS programs. This Paper will attempt to list out the rules and techniques for writing Efficient SAS programs. pdv, missing value, proc sort, where statement, retain, proc step, sample, data step, if-then-else source 5
77 Storing and Using a List of Values in a Macro Variable Arthur L. Carpenter When using the macro language it is not at all unusual to need to manipulate a list of values. These may be a list of variables in a data set or even a list of data set names. This list is often stored in a macro variable where one macro variable is used to store the entire list. Usually this list is then used one item at a time. The macro variable that contains this list of values can be created in a number of different ways including through the use of the DATA STEP or PROC SQL. Once created, the user will often want to step through the list performing one or more operations on each of the elements in the list, and this is often accomplished using a combination of the %DO statement and the %SCAN function. This paper shows how to write a series of values to a macro variable and then how to take advantage of the list by utilizing it from within the macro language. macro variable, macro loop, proc sql, character functions, macro function, proc step, macro facility, do loop, call symput, symbol table, macro definition source 6
78 Successful FDA Advisory Meetings by using Analysis Datasets Sandy Chang,
Steven Wong
Analysis datasets have become a crucial contributing factor to s uccessful filing of New Drug Applications (NDAs) for Gilead Sciences, Inc. (GSI). In the span of a mere 23 months GSI has received three NDA approvals and we feel that a significant factor of that success can be directly attributed to the use of analysis datasets. The analysis datasets are divided into different categories, each of which serves a particular analysis purpose. The analysis datasets contain both variables that have been defined in the statistical analysis plan (SAP) and key contributed variables (derived variables that support planned and ad hoc analyses). In addition, the analysis datasets are designed for "one PROC away" use as suggested by the Analysis Dataset Modeling Team (ADaM) working group of the Clinical Data Interchange Consortium (CDISC). Finally, these datasets are standardized and consistent across all studies. adam dataset, adverse events, data science, proc step, proc contents, vital signs, efficacy summary, raw data, adverse event summary, laboratory data, cdisc source 10
79 Survival Analysis Using SAS Macros, ODS and SAS/GRAPH Natalia V. Udaltsova,
Irina V. Tolstykh,
Arthur L Klatsky
Survival analysis is a popular method in medical research. Preliminary analysis and visualization of survival curves are important to make adequate assumptions about the statistical model. This paper shows various approaches that produce Kaplan-Meier curves from PROC LIFETEST or from the baseline statement in PROC PHREG. We developed macro code to plot survival curves with confidence intervals for selected points by strata. The number of subgroups in strata and corresponding SAS graph options are calculated and assigned by design. The paper also presents macro for adjusted survival curves. Powerful tool that performs multivariate analysis is a PROC PHREG. We analyzed data with time dependent variables and repeated measurements. Two types of data structures were considered: "horizontal" with a unique observation per ID and multiple time-points, and "vertical" with multiple observations per ID. proc step, proc phreg, regression analysis, survival analysis, confidence interval, time-dependent covariate, kaplan-meier estimator, response variable, proc gplot source 9
80 Table Lookups: From IF-THEN to Key-Indexing Arthur L. Carpenter One of the more commonly needed operations within SAS programming is to determine the value of one variable based on the value of another. A series of techniques and tools have evolved over the years to make the matching of these values go faster, smoother, and easier. A majority of these techniques require operations such as sorting, searching, and comparing. As it turns out, these types of techniques are some of the more computationally intensive, and consequently an understanding of the operations involved and a careful selection of the specific technique can often save the user a substantial amount of computing resources. This workshop will demonstrate, compare, and contrast the following techniques: IF-THEN, IF-THEN-ELSE, SELECT, user defined formats (PUT function), MERGE, SQL joins, merging with two SET statements, using the KEY= option, use of ARRAYS, and Key-Indexing. proc sql, by group processing, lookup, proc step, merge statement, data merging, if-then-else, put statement, set statement, dataset, key=, cpu time, select source 10
81 Taming Your Character Data with Regular Expressions in SAS - Part I Mary McCracken,
James J. Van Campen
Regular expressions (regexp) are a powerful tool for working with character data. This paper provides an introduction to the new Perl regular expression capabilities available in SAS 9. Part I will teach you the basic building blocks of regular expression syntax. In Part II you will learn more advanced techniques: using regular expressions to find (PRXSUBSTR), parse (PRXPOSN), and change (PRXCHANGE) text data strings. sas 9, prxmatch source 7
82 Taming Your Character Data with Regular Expressions in SAS - Part II Mary McCracken,
James J. Van Campen
Regular expressions (regexp) are a powerful tool for working with character data. This paper provides an introduction to the new PERL regexp capabilities available in SAS 9 . Building on the foundation laid in Part I, Part II illustrates how to locate and manipulate character strings using the call routines PRXSUBSTR, PRXPOSN, and PRXCHANGE. prxparse, missing value source 5
83 Text Processing with the New Perl Regular Expression Functions Richard F. Pless Data collection mechanisms often collect information in "free text" fields, i.e. fields where there are little or no restrictions on the content. This practice is intended to ensure that as much information as possible is collected. However, many programmers and analysts avoid these data because the loose structure often makes it difficult to extract information. Loosely structured data such as these may contain valuable insights if they can be converted into usable forms. This paper discusses how to use the new Perl regular expression functions available in SAS Version 9 for cleaning text fields and extracting information. The functions PRXPARSE, PRXMATCH, PRXCHANGE, and PRXPOSN will be covered as well as elementary regular expression syntax. Examples from clinical data, marketing, and systems administration will be used. proc sort, proc step, prxparse, sample, sas log, adverse events, prxposn, clinical data, cpu time, character variable source 11
84 The Automatic Detection of Problems in the SAS Log MaryAnne DePesquo Hope There are numerous types of errors generated from a SAS run, some obvious, others not so obvious. The red ERROR message and green WARNING message are easy to detect in the enhanced editor Log window but some messages like 'division by zero' and 'uninitialized variables' are subtle and remain undetected and unresolved. There is room for error in error detection when visually reviewing the log. To eliminate oversights in validating a large number of lines of code and to expedite the validation process, a SAS program was developed to automatically detect problems in the SAS log. Essentially, the program saves the log as a file, automates the reading of the log file, scans for problems and produces a report listing the types of problems discovered. This automatic error detection program provides written documentation of clean SAS code and saves time in the validation process. error message, sas log, data cleaning, txt, proc step source 4
85 The Continuing Quandary of Survey Data Part II:Comparison of SAS Procedures and SUDAAN Procedures Katherine L. Baisden Once upon a time in the days of simple random sampling, analyzing survey data was straightforward. However, due to issues of efficiency and economy, we rarely utilize simple random sampling methods in survey research today. Most survey data are based on a stratified, clustered or complex sample design. Such designs impact the accuracy of variance estimates (standard errors) and test statistics (chi-squares, t-tests). Until recently, SAS programmers had to rely on other statistical software packages, such as SUDAAN, WesVar, and STATA, to produce accurate variance estimates and test statistics from complex sample designs. With the release of SAS V9.1, SAS has incorporated survey procedures (e.g., PROC SURVEYMEANS, PROC SURVEYFREQ, PROC SURVEYREG, PROC SURVEYLOGISTIC) to address this issue. This paper will examine four basic procedures used in a vast majority of survey research (means, frequencies, regressions and logistic regressions). proc step, missing value, sample, proc calis, proc surveymeans, proc surveyreg, regression analysis, proc surveyfreq, proc surveylogistic, design effect, response variable, logistic regression, random sampling, proc freq, nominal variable, predictor variable, sas programmer, logistic distribution, proc reg, anova source 20
86 The Easy Way to Flexible Code: SAS Macro Variables Mel Widawski Expert programmers use existing code and modify it rather than programming from scratch. You can use macro variables to facilitate writing code that is flexible and easy to re-use. Put information such as file locations, lists of variables, and selection criteria in macro variables at the beginning of a program and simply refer to them as needed throughout the program. You will learn how to create and use these macro variables. You can use these macro variables without having to learn the SAS macro language. Using macro variables is extremely simple. macro variable, macro put, &variable, macro facility source 8
87 The Never-Ending Battle of Efficiencies: Tips on How To (Efficiently) Change Local Data Structures To Match Nationally Designated Structures Beth Newsom,
Jennifer Ellis
Kaiser Permanente Colorado (KPCO) participates in the Cancer Research Network's (CRN's) Strategic Data Resources Core (SDRC). This committee is responsible for overseeing the creation of Virtual Data Warehouses (VDWs) across 10 HMOs throughout the United States. The VDWs are comprised of different SAS tables which are to be uniform in structure across sites. This paper will show, in three steps, how KPCO used SAS to reformat local enrollment data into the structure prescribed by the SDRC: 1) Code each record for different types of insurance coverage. 2) Combine overlapping membership periods for records with the same insurance coverage. 3) Reformat KPCO's data into one record per member per month and year of membership. Advantages and disadvantages of different methods of pulling and storing data will be discussed. Pulling data in an ad hoc manner is one method, while using indexes to store data in one or three year files is another. do loop, sample source 9
88 The Path to Data Standards Sy J. Truong Data standards can make data and its associated programs more portable. Team members who work with the data also become more portable since they can understand and use data with more ease. This makes the development and validation of SAS programs within a regulated environment much more efficient. This paper will present strategies on working with the new CDISC Submission Data Model version 3.0 along with other data standard strategies that are independent of CDISC. Some of the approaches include: 1. Automated evaluation of existing data structures against CDISC standards 2. Automated evaluation of existing data structures and formats among each other 3. Designing new data standards from existing data structures The practical concepts of these techniques are demonstrated through both a manual process and tools such as %cdisc and %difftest. The meticulous review of data attributes among all the data is an important step towards achieving data standards. data standard, proc step, proc contents, label statement, cross join, adverse events, cdisc source 10
89 The Position of Frequency Adverbials in Spanish: An Application of SAS to Corpus Linguistics Roberto Mayoral Hernández The variable position of adverbial expressions like frecuentemente "frequently" is a challenge for linguistic models which assume one underlying representation and a theory of movement (c.f. Cinque 1999). These adverbials can appear basically everywhere in the sentence, although only between different constituents. The purpose of this paper is to provide an account of the ordering of frequency adverbials in Spanish, using a variationist and typological approach, where weight, argumenthood and the presence of overt subjects trigger the alternation. To help us derive any possible linguistic generalizations, SAS is utilized to provide statistical analyses of the data obtained from the corpus CREA (Corpus de Referencia del Español Actual). proc freq, chi-square test source 10
90 The SAS Calculations of Areas Under the Curve (AUC) for Multiple Metabolic Readings Keh-Dong Shiang In biomedical studies, the computation of Area Under the Curve (AUC) is a convenient way to combine multiple readings, such as some metabolic values (glucose and insulin) or blood (serum or plasma) concentration within a specific time interval, into a single index in drug toxicology and pharmacokinetics. Thus, computation of a representative index AUC value will be an essential and interesting task in our metabolic studies and SAS programming applications. The SAS program I present here is a flexible and compact code for parameters adaptable input and comprehensive AUC computations, which is suitable to be applied to the case of a discrete curve over a specific time interval. In the program, SAS macro, SQL and GPLOT procedures are used to calculate and present sample data. This code can be utilized to all three kinds of AUC computations, the Total AUC (no baseline), Net Incremental AUC (with baseline) and Positive Incremental AUC (with baseline). auc, sas output, sample, macro definition, proc sql source 14
91 The Utter Simplicity and Power of the TABULATE Procedure Daniel E. Bruns When I first started using SAS in a university environment in 1972, I was very excited about how much SAS could help me. As I learned more and more and moved to the real world of the employed, I needed more flexibility in my reporting - PROC PRINT had some and PROC MEANS and FREQ had basically none. And SUMMARY needed too much DATA STEP manipulation. What I needed was a marriage of all these with the flexibility to control what I wanted where and how! Thank the Gods for PROC TABULATE!! I was able to produce reports from massive amounts of data in practically any way I needed! The power of being able to simply rearrange a few variable names and change the complete look of the report was great. But then I also found a few things that were not so simple-like percentages. proc step, proc tabulate, proc freq, sas base, label statement source 13
92 Time Series Magic: Using PROC EXPAND with Time Series Data Andrew H. Karp PROC EXPAND is a little-known but very powerful SAS/ETS Software Procedur e that contains many tools for working with time series data. Taking the time to master its capabilities is a worthwhile return on your investment as a SAS Software user, as its features often obviate the need for complex DATA STEP coding to work with your time series data. In addition, PROC EXPAND contains a number of tools for working with time series data that are not available in other parts of SAS System software. PROC EXPAND is part of the Econometrics and Time Series (ETS) module of the SAS System. It was first introduced in SAS Version 6.0 and has been enhanced considerably in subsequent releases of the SAS System. PROC EXPAND creates output data sets, it does not create "printed output," nor does it send results to the Output Delivery System (ODS) for subsequent rendering as Output Objects. proc step, time series analysis, proc freq, missing value, time series data, sysdate9, dataset, datetime variable, sas 9, date variable source 8
93 Tips for Creating Portable Document Format (PDF) Graphics Output Louie Huang There are many ways to improve the quality of your SAS graphics output. This presentation is intended to introduce techniques of using PROC SQL macro function, SAS/GRAPH options and annotation to generate neat and informative PDF graphics. PROC SQL allows smart programmers to create several macro variables in a few lines of code. Graphics can be dressed up by properly using of options and annotation. These techniques are very useful to export multiple graphs to a single document. The skills are also applicable to exporting one graph to one document. A Dynamic SAS code is provided to deal with frequent revisions, which are usually out of our programmers' control. macro variable, proc sql, proc step, call symput, proc gchart, output delivery system, macro loop source 5
94 Turning Raw Data into Polished Reports Lora D. Delwiche,
Susan J. Slaughter
When confronted with a large amount of data, and told to write a report, your journey will have many similarities to Milo's journey through the Kingdom of Wisdom. You, and likely your boss, will start with some expectations about what the report will be like and what information it will convey. You may end up in the Doldrums, as Milo did, not knowing how to go about producing the report. Your journey will likely take many turns, and you will learn new things along the way. But, in the end, your goal is to bring rhyme and reason to your report thereby making sense out of your data. proc print, proc step, ods html, by group processing, format statement, proc import, dataset, user-defined format, proc format, ods pdf, date variable source 18
95 UNIX Comes to the Rescue: A Comparison between UNIX SAS and PC SAS Chii-Dean Joey Lin,
Ming Ji
Running SAS under PC and under UNIX environment are very similar in general. However, some differences do exist between PC SAS and UNIX SAS. A SAS code may run smoothly under PC SAS but not under UNIX SAS. In this paper, we compare the differences between PC SAS and UNIX SAS. Features that are different between PC SAS and UNIX SAS are summarized. In addition, we show a step-by-step procedure for running a PC created SAS code on a UNIX server. This paper is intended for beginners with basic SAS knowledge. cpu time, error message source 7
96 UNIX Users - See Output of a PROC CONTENTS or PROC PRINT With a Single Command! Tina Bykofsky Do you find yourself editing the same SAS code over and over to examine different SAS datasets? Here's an opportunity to really simplify your life. Using a UNIX shell script, you can create and execute PROC CONTENTS or PROC PRINT output from the UNIX command line with a single entry, displaying the results directly on your terminal. This creative, yet elegant use of UNIX shell scripting uses the echo, more, trap, and output redirect (> and >>) functions of UNIX. This paper explores this innovative time-saving tool. proc step, proc print, proc contents, dataset, error message source 6
97 Using Classification Tree Outcomes to Enhance Logistic Regression Models Tim Millard Traditional Logistic Regression techniques can involve complex data preparation. Often, in order to obtain a better linear fit, it is necessary to mathematically transform Continuous variables and/or convert Categorical variables into binary outcomes. While these methods can be successfully accomplished by an experience modeler they are rather time consuming and do not directly address issues of non-linear variables and variable interactions. For example, using PROC FREQ to find non-linear aspects of data can be rather difficult at best. However, by utilizing Classification Tree techniques, non-linear as well as linear variable interactions can be captured and then incorporated into Logistic Regression modeling in an easy to understand and timely manner. Examples of employing this method for purposes of predicting Delinquency in a bank portfolio will be explored. logistic regression, regression analysis, logistic distribution, nominal variable, data wrangling, binary variable, interval variable, data transformation source 4
98 Using Microsoft Excel for Data Presentation Peter Godard,
Cyndi Williamson
A common problem: You want to use SAS to manipulate and summarize your data, but you need to present the results in EXCEL. In this talk, suitable for both beginning and experienced programmers, we'll explore several solutions to this problem-some common, some not so common. To start, we'll look at the EXPORT procedure-the simplest w ay to move data between SAS and EXCEL. Next, we'll explore ways to trick ODS into creating an EXCEL file from any SAS procedure and to format this output using the TEMPLATE procedure. We'll also look at ways to turn DATA _NULL_ reports into EXCEL spreadsheets. Lastly, we'll talk about Visual Basic for Applications (VBA), which can be used to format EXCEL output, construct a multiple sheet workbook, and even produce charts from your SAS reports. excel, proc step, txt, proc export, record count, ods html, put statement, sas base, xls, sample, proc sql, sql server source 18
99 Using Proc Freq for Manageable Data Summarization Curtis Wolf The Frequency procedure can be very useful for getting a general sense of the contents of a dataset. However, the amount of output it generates can be overkill. I will discuss some simple ways to use the FREQ procedure while generating more manageable output. proc freq, proc step, outlier source 5
100 Using Proc SQL and ODBC to Manage Data outside of SAS Jeff Magouirk The ability to use PROC SQL and ODBC to manage data outside of SAS is another feature in SAS's toolbox that programmers use to accomplish many different tasks. The idea of pulling data from sources outside of SAS is behind both of these tools. A key benefit of using ODBC and to a certain amount PROC SQL is the reduction in coding that is written. Another positive aspect of using PROC SQL and ODBC is the ability to manage data across a network. At National Jewish Medical & Research Center ODBC and PROC SQL are used to manage and pull end users data across networks so users can examine their data quickly and efficiently. Since end users can have almost real time access to the collected data it is especially useful for checking the accuracy of the data from patient health studies and clinical trials. Error checks and data handling are done first as the data is collected and put into data tables with SAS and then outputted either with an ODBC connection or PROC SQL. odbc connection, proc sql, proc step, relational database, sql server source 6
101 Using SAS IOM With A Java Client Application Valerie Williams,
Brian Chan
SAS Integration Technologies (IT) software allows Base SAS Version 8 and up to process data between Oracle and SAS through an interface. IT runs on a SAS Integrated Object Model (IOM) Bridge Server consisting of three components: an object server, a Java client application, and configuration file or Lightweight Directory Access Protocol (LDAP) server. An IT object spawner program runs on the object server and instantiates a SAS workspace for rapid multi-thread processing. The Java client application uses distributed objects from SAS IT called Application Program Interfaces (APIs) to request services from the object server. The configuration file contains server and spawner definitions. Multi-thread processing and the ability to maintain an Oracle to SAS connection are two of the major benefits of IT. SAS Integration Technologies (IT) and Java work together in the middle tier of a multi-tier architecture. web service, oracle, data warehouse, proc sql, csv, clinical trial, dataset source 12
102 Using SAS Macros to Help Document SAS Macro Program Files Patrick Thornton This paper presents some SAS macro programs that may be used to document other SAS macro programs. The strategy assumes that shared macro programs are stored each in a SAS file of the same name, thus the macros in this paper insert a standard header into each macro program file within a directory. The header includes name, description, modification date, data sets used and created, procedures used, type of primary use, and parameters and their descriptions. After completing the fields, the macros may be used to generate a report of documentation across all macros in a directory. The reports may be viewed by all SAS users and are designed to be a step towards increasing shared knowledge of available SAS macro programs. macro definition, sas syntax, macro variable source 11
103 V8 is seen in rearview mirror - generate statistical graphics using ODS in SAS? 9 Wei Cheng In SAS V8, the SAS Output Delivery System (ODS) in SAS/STAT greatly enhances the ability to manage statistical tables. In SAS 9.1, ODS Statistical Graphics enables SAS users to generate statistical graphics as easily as tables. This paper describes how to create statistical graphics automatically from the SAS/STAT procedures, as well as how to customize the layout and the appearance of statistical graphics using ODS templates and ODS styles. proc sgplot, proc step, proc template, survival function, proc means, sas 9, proc freq source 11
104 Validating Data Via PROC SQL Keh-Dong Shiang The Structured Query Language (SQL) is a standardized language that can be efficiently used to retrieve and update data stored in relational databases. Interestingly, SQL's WHERE-clause row- selection feature can be particularly utilized and applied for data validation and error checks. In this paper, I will present a method of designing and constructing a highly structured validation program, which is applied to implement a data quality assurance procedure for collecting clean clinical data. With both SAS macros and SQL procedures used, the results will demonstrate the following benefits of this validation program: easy maintenance with no hard-coded checks, transparency of error-check edits to the users, clear and easily-understood reporting system, and considerable reduction of the total amount of programming time. data cleaning, proc sql, proc step, adverse events source 7
105 Where to Go from Here: Learning More about SAS Ginger Carey,
Helen D. Carey
The vast amount of information on the SAS System, particularly that available through the Web, can be overwhelming. Knowing where to find the information you need saves time and frustration. This paper is about the variety of information and media available and describes where to learn more about SAS. sas base, sas enterprise guide source 13
106 Working with SAS Date and Time Functions Andrew H. Karp Most SAS Software users need to work with data sets that contain one or more variables (columns) containing the date and/or time at which an event occurred. This paper describes some of the core SAS System tools you can use with your date and time data, and discusses how these tools can simplify many of the tasks commonly performed on this type of variable. We will also discuss some of the new features for date and time variables that have been added in recent releases of SAS Software, as well as some enhancements you can expect in the forthcoming release of SAS 9 and SAS 9.1. sysdate9, datetime variable, date variable, time variable, datepart, raw data, datetime, sas programming, time, subsetting if, time series analysis, dataset, proc freq, input statement, numeric variable, mdy, sas 9 source 12

Back to Conf go 2005 go 2003

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.