HOME QUICK SEARCH AUTHORS KEYWORDS HELP BUGS

WUSS 2002 Papers - Index

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

# Title
×
Authors
×
Abstract
×
Keywords
×
Extras Pages
1 A DDE-free, GUI-free SAS-to-Excel Conversion Process Raoul A. Bernal Nowadays, it is imperative to have an alternative platfonn to store and explore datasets, especially when the host platfonn is beleaguered with system problems (e.g., Unix servers on downtime.) One can use Dynamic Data Exchange DDE link to create the EXCEL spreadsheet files; the process, however, requires writing syntax to create DDE calls. This paper describes an alternative to DDE when creating EXCEL spreadsheets en masse, while avoiding the use of a front-end user interface. A two-step process is demonstrated to create customized EXCEL spreadsheets directly from any Windows directory. The tool is an actual SAS program that: a) converts SAS datasets and export files into regular EXCEL spreadsheets, and b) creates a Visual Basic script driven by the array list of the converted EXCEL files. The script formats the EXCEL spreadsheets generated in a) to improve readability and accessibility. excel, dataset, macro loop, %if-%then-%else source 3
2 A Macro for Constructing Confidence Intervals of Simple Difference in Dichotomous Data with Repeated Measurements Chii-Dean Joey Lin,
Kung-Jong Lui
When the measurement of the underlying response is un reliable or the cost of taking a measurement given an ob tained subject is much lower than the cost of obtaining a new subject, we may consider taking repeated measure ments per subject. Because the measurements taken from a given subject are likely correlated, we need to incorporate the intraclass correlation between repeated measurements when constructing confidence intervals. Here, we focus the confidence interval, proc step, correlation, sample, intraclass correlation, proc genmod, response variable, treatment effect, anova source 4
3 A Macro to Perform a T-Test for Two Independent Samples Using Sufficient Statistics Lang-Feng Tsai The T-test is a commonly used statistical test to compare the mean of one sample to a predetermined value, the means of paired samples, or the means of 2 independent samples. It is known that the test statistic for the T -test is based on the sample means, sample standard deviations, and sample sizes. Therefore, if only the summary statistics are known, and the raw data are unavailable, the sample, proc means, confidence interval, proc calis, proc ttest, standard deviation, sample size, degrees of freedom, homoscedasticity, raw data, heteroscedasticity, proc step source 5
4 A New User's Journey in Using PROC IMPORT and ODS: An Application in the Electricity Market David L. Wang,
Azharul Islam
The Division of Market Monitoring & Assessment of the Public Utilities Commission of Ohio is responsible for monitoring the Ohio electricity market during this development period of deregulation of generation services. This paper describes a process in which data are taken from a Microsoft Access database and how SAS-PC is used to generate the statistics for monitoring the electric market. Additionally, the problems encountered and the lessons learned during this process are highlighted. It has been observed that utilizing PROC IMPORT and ODS gives the user the ability to interface with a host of PC database software and to produce customized results. When we combine these tools with the power of the macro language, we are able to generate a user-friendly program that allows the user to produce the desired output. The audience that the paper is intended for is the beginner user of PROC IMPORT, the SAS Macro language and Output Delivery System (ODS). proc import, proc step, output delivery system, macro facility, excel, macro definition, macro variable, sample, ods pdf source 3
5 A Perl Primer for SAS Programmers David L. Cassell The Perl programming language should be viewed as not a competitor of SAS, but rather as a colleague. There are frequent places in web-based programming, as well as in the data validation and system administration work surrounding web programming, where Perl can work hand-in-hand with SAS software. However, Perl is usually regarded as an arcane language which looks more like line noise than code. This paper is designed to serve as a quick introduction to Perl, with examples which show that Perl can be used in logical ways which are then easy to integrate into webpages. conditional do loop, if-then-else source 8
6 A Preview of SAS/STAT Version 9: Moving in New Directions and Building on Old Favorites Maura E. Stokes,
Robert Rodriquez,
Randy Tobias
Version 9 of SAS/STAT software brings you a vari ety of new tools for your statistical computing needs. The Power and Sample Size Application (PSS) pro vides sample size and power computations for a vari ety of analyses through a web interface. Experimen tal software in Version 9 moves SAS/STAT in new di rections, including robust regression, which is sup ported by the ROBUSTREG procedure, and logis tic regression for sample survey data, available with the SURVEYLOGISTIC procedure. In response to user requests, a number of procedures have been en hanced significantly. Conditional logistic regression is available in the LOGISTIC procedure through the new STRATA statement, and scoring of data sets is avail able through the new SCORE statement. New fea tures in several other procedures are also discussed. source 6
7 A Program to Write Programs Kathryn A. Valdes Problem: Having to create and run similar programs for data display many times over Solution: Create a program to generate the programs For a longitudinal project, we needed to generate numerous HTML tables using a proprietary algorithm to produce weighted standard errors and estimates. Tables were to be produced and published on the project web site for every data collection instrument and each of3 waves of data collection, eventually thousands of tables. This would mean that programs would have to be written or modified again and again. Macros were the obvious solution, but why not take it a step further? Why not use SAS as a code generator to create all of the macro calls? The program I created reads an external EXCEL file, which in tum writes a new program with all the necessary macro cans. The input EXCEL files contain an the information needed for specifYing navigation menus on the web, table titles, and the analysis variables reported in the tables. macro variable, macro definition, excel, macro call, txt, proc calis, full join, macro quoting function, proc step source 4
8 A Quick and Easy Data Dictionary Macro Peter J. Lund A good data dictionary is key to managing even a modest-sized project. There are limited tools available in SAS to give a comprehensive, project-wide look at the contents of your datasets. This paper presents a macro that generates a browser-based data dictionary that goes beyond PROC CONTENTS in a number of ways. Any number of datasets can be passed to the macro and the results displayed in a table of contents-driven web page. Additionally, all user-written formats associated with dataset variables are hyperlinked, allowing the user to click on a format name and view the format values and labels. proc step, data dictionary, proc sql, macro loop, macro variable, dictionary tables, macro definition, %if-%then-%else source 6
9 A Randomization-Test Wrapper for SAS PROCs Christopher F. Ake,
David L. Cassell
SAS/STAT procedures are often used in settings where the underlying model assumptions are not really met Permutation tests can permit one to assess correct p-values in many of these cases, but too often the total number of permutations is unmanageable. Instead, a randomization test using a random subset of all permutations can be used. This paper demonstrates a flexible, extensible pair of 'wrapper' macros which allow the user to use almost any SAS PROC and get a randomization p-value for the desired test at the back end. The wrapper is a front macro to create the data set of replicates with a randomized dependent variable, and a back macro to process the results of the SAS PROC and compute the p-value according to a randomization test. These bracket the already-written SAS procedure or process, which requires minimal alteration. We demonstrate the wrapper on several SAS procedures, using standard output data sets as well as tables pulled out using ODS. permutation test, randomization, proc step, significance level, output delivery system, ods output, proc glm, anova, main effect, proc genmod, response variable, predictor variable, ods listing, f-test, data step, interaction effect, macro definition, macro conditional source 4
10 A Strategy for Integrating SAS System Results with Microsoft Word Patrick Thornton This paper demonstrates a strategy for integrating SAS System data into Microsoft Word. The strategy was developed for a project where the goal was to create 58 reports containing text, data points, and charts where each report could be refreshed frequently and maintained efficiently by a single person. This paper will describe 3 steps to implementation: (a) building extensive summary data sets with the SAS System, (b) creating bookmarks in Word from SAS, and (d) an overview of using Word bookmarks, references, and subdocuments. excel, data step, phase ii, phase i, proc contents, phase iii, macro loop, macro definition, proc step source 6
11 A Visual Introduction to SQL Joins Kirk Paul Lafler Real systems rarely store all their data in one large table. To do so would require maintaining several duplicate copies of the same values and could threaten the integrity of the data. Instead, IT departments everywhere almost always divide their data among several different tables. Because of this, a method is needed to simultaneously access two or more tables to help answer the interesting questions about our data. This paper visually illustrates how a join process works and then shows how an SQL query is constructed so some or all of the specified tables contents can be brought together. where statement, proc sql, proc step source 3
12 An Introduction to Creating and Using ODS Targets Jack Hamilton ODS TAGSETS provide a greater level of control over the output created by the Output Delivery System than can be easily obtained by modifying existing templates. This paper gives an example of the use of TAGSETS in a SAS/LNTMET application, but the ideas presented are applicable to non-web use as well. excel, proc step, proc template, proc report, sample, output delivery system source 7
13 An Overview of Remedial Tools for the Violation of Parametric Test Assumptions in the SAS System Chong Ho Yu Parametric tests are widely applied by researchers in every discipline. However, sometimes the appropriateness of their applications is in question. In a parametric test an underlying distribution is assumed, and a sample statistic is obtained to estimate the population parameter. Because this estimation process involves a sample, a sampling distribution, and a population, certain assumptions are required to ensure that all components are compatible with each other. As a matter of fact, data collected in social sciences usually violate parametric assumptions to some degree. The objectives of this paper are to briefly explain why these violations are detrimental to research and to introduce what alternatives could be used in the SAS system to rectifY the situation. parametric test, sample, data transformation, monte carlo, proc step, normal distribution, regression analysis, sample size, anova, outlier, trimming, heteroscedasticity, proc robustreg, statistic source 6
14 Automating Iterative Multivariate Domain Analysis in the SURVEYMEANS Procedure - Multi-stratified Analysis for Population-based Survey Datasets Zhiwei Zang,
Cheryl Wold,
Paul Simon
In population-based surveys, stratified analyses for the estimation of proportions and their 95% confidence intervals {CI) are often repeated with multiple variables. The SURVEYMEANS procedure (SAS version 8.2) can be used to estimate the proportion and 95% CI in each category of variables defined by the CLASS statement. The DOMAIN statement provides the estimates for subpopulations derived from each combination of the multi-variable matrix. These combinations are compounded with each variable added to the matrix. Currently, all variables and/or combinations are submitted one by one or by typing all of them separated with a space. Both ways, however, are time consuming and error prone. This paper describes a method of automating the iterative process of multivariate domain analysis for multi-stratified estimates. macro loop, do loop, macro variable, array, macro definition source 3
15 Automation and Visualization of Distractor Analysis Using SAS/GRAPH Chong Ho Yu In multiple-choice items of a test, it is desirable to insert plausible distractors (wrong answers) in order to increase the item difficulty level. According to the Item Response Theory, students who master the subject matter should have a higher probability to select the right answer and a lower probability to choose the wrong options. In contrast, examinees who do not master the skill should show the opposite pattern. This paper discusses how SAS programming is used to automate and visualize distractor analysis based upon empirical data and modeling derived from the Item Response Theory. proc freq, proc step, proc means, line chart, relative frequency, output delivery system source 4
16 Beware of the Leopard: Issues and Uses of PROC SURVEYMEANS AnnMaria Rousey Survey data are commonly used in marketing, education and healthcare research. For a variety of reasons, it is often desirable to select samples that are not simply random, but rather are stratified in some way. It is sometimes also preferable to select clusters of subjects also, e.g., all of the patients in a hospital or all of the students in a school. In such cases, the familiar statistical procedures such as PROC MEANS will provide both error-free logs and the wrong answer. The solution to this problem will generally be to make appropriate use of the SURVEYMEANS procedure. The %SMSUB macro handles some special cases that may occur with survey data, as well as producing output that can be inserted directly into most reports with little or no modification. While locating the documentation for some features is about as publicly displayed as the plans for the destruction of Arthur Dent's house, these procedures can be learned with just a little experimentation. sample, proc calis, proc step, proc surveymeans, missing value, cluster sampling source 7
17 Build a SAS Development Environment under Windows Wei Cheng The SAS System continues to improve the user interface and application integration for Windows operating system. This paper discusses how to build a SAS development environment by using the features from both the SAS system and the Windows system. Topics include how to set up a SAS shortcut icon, how to add actions to the context menu, and how to perform SAS log scan. sas log, libname statement source 5
18 Building Drill-Down SAS Applications Kirk Paul Lafler,
Charles E. Shipp
In a world where business decisions must be made quickly, an application must be able to deliver information in a blink of an eye. Data visualization techniques and technologies bring new levels of understanding to your data. The SAS Output Delivery System (ODS) is a marvelous tool for formatting output generated by SAS procedures and DATA steps. Combined with products such as SAS/GRAPH software, new levels of interactivity bring your data to life with drill-down approaches. End users start out with summary information and can dive into the details at the click of their mouse button using a graphical user interface. This article describes the process of building a simple drill-down application with the SAS System. All you need is base SAS and SAS/GRAPH software. output delivery system, proc step, ods html, ods pdf source 4
19 Calculating kappa Measures of Agreement and Standard Errors Using SAS Software: Some Tricks and Traps Ann Olmsted SAS/STAT PROCEDURE FREQ is the place to start when you need to compute measures of rater or test agreement on the classic kappa scale (Cohen 1960), namely, the ratio of the actual improvement over chance to the maximum possible improvement over chance. But when you see the frustrating message "WARNING: AGREE statistics are computed only for tables where the number of rows equals the number of columns" and you know your kappa statistic is computable, where do you go next? If you need an estimate of the standard error of your kappa statistic when your data are not a simple random sample from your population, how can you use SAS software to compute it? How best to display your estimates and standard errors graphically? This paper provides some answers, a sample graphical summary of test sensitivity and specificity, and a macro useful for stratified samples. Examples are drawn from other kappa papers and the cardiovascular testing literature. proc step, proc freq, proc calis, sample, cohen's kappa, proc tabulate, weighted kappa, macro definition, confidence interval source 6
20 Check It Out: A Macro for Neatly Displaying "Check All That Apply" Responses Elizabeth A. Roth The multiple-response or "Check All that Apply" (CATA) question type is commonly used in many data collection settings. Although all variables of the multi-response question are similar and should be grouped together for frequency display, it is often easiest to generate separate frequencies for each variable. This paper introduces a macro that neatly displays frequencies of all variables in a CATA as a table, and compares the usefulness of this table to other ways oftabluating CATA questions. proc freq, macro definition source 3
21 Comparison of Several SAS Approaches to Mean Imputation for Time Series Data with Missing Data Points Keiko I. Powers For one of our consultant projects, I received very extensive time-series data with missing data points. The data consist of a large number of time-series variables for over 1,000 automobile retailers. I was requested to perform mean imputation for missing values as follows: (I) Check how many consecutive weeks of the data are missing. If the number of missing weeks is greater than one, then delete the time series. (2) When there is only one week missing, then compute a mean using the adjacent two data points across time and substitute for the missing with the mean. Realizing the second step can get very complicated with SAS programming, my colleagues and I all took on this challenging task and prepared various SAS programs that performed the mean imputation routine. These programs use different SAS fimctions and procedures, such as RETAIN, LAG fimction, PROC TRANSPOSE, PROC STANDARD, and PROC EXPAND. These various setups are compared, and their strengths and weaknesses are discussed. missing value, proc step, imputation, time series analysis, mean imputation, time series data, proc transpose, sample, proc sort source 4
22 Creating Display Manager Abbreviations and Keyboard Macros for the Enhanced Editor Arthur L. Carpenter The boss wants all of your SAS programs to have a header section of comments. She wants this section to be uniform across all of your programs, she wants it to have lots of stuff in it, and you don't like to type. How can you automatically insert uniform blocks of text into your program with a minimum of typing and without using the paste buffer? The answer lies in the use of Abbreviations and Keyboard Macros. Abbreviations allow you to associate any amount of text with a designated word or set of keystrokes. Type in the designated word, press the tab key and the desired text is substituted into your program. In the example shown below, you will see how typing the word 'HEADER' inserts a series of comment statements that become the standard header block for a program. proc report, title statement source 3
23 Creating Drill-Down Graphs Using SAS/GRAPH And The Output Delivery System Curtis A. Smith Using the SAS/GRAPH procedures and the Output Delivery System (ODS) you can output your graphs to web-enabled HTML files. Using the flexibility of ODS, you can include the graphs as static GIF or JPEG files, or create interactive, customizable graphs for web distribution using Ac1iveX controls and JAVA applets. This is really cool stuff. With a rew little tricks, you can go a step below a simple HTML graph. Yes, you can add drill-down capability to your HTML graphs. Using this capability, you can create graphs that drill-down to new graphs that display more of the details in your data. Hatd to believe? In this paper the author will explore the few SAS statement options necessary to make HTML drill-down graphs a reality. dataset, bar chart, ods html, output delivery system, proc gchart source 6
24 Data Management: Building a Dynamic Application Arthur L. Carpenter,
Richard O. Smith
You have written a series of interesting and often complex SAS"' programs that perform a variety of data entry operations, data checks, exception reporting, statistical analyses, and summary reporting. Since the next study is somewhat similar to the last one, you are planning to build another set of programs based on (cannibalized from) the onesthatyoujustused We have been there before, but STOP. Wouldn't you rather build the programs once? The solution lies in building and using data dictionaries that act as control files. These control files are in turn used to create a series of SAS macro variables that are available as arrays to each of the various programs. All project, data set, and variable specific information is stored in the macro variables and hence never in the programs themselves. Once implemented all the programs in your application become data independent. Let them change the data. Let them redefine the project. Your code is ready. macro variable, macro loop, variable list, call symput, do loop, %if-%then-%else, label statement, macro definition source 6
25 DATA Step Internals: Compile and Execute Neil H. Howard The DATA STEP is the most powerful tool in the SAS system. Understanding the internals of DATA STEP processing, what is happening and why, is crucial in mastering code an output. Concepts you should understand: what is the Logical Program Data Vector (LPDV or PDV), what are automatic SAS variables and how are they used, what is the SAS Supervisor, why it's important to understand the internals of DATA STEP processing, what happens at program compile time, what's actually happening at execution time, how are variable attributes captured and stored. By understanding DATA STEP processing, you can debug your programs and interpret your results with confidence. This paper focuses on techniques that capitalize on the power of the DATA STEP and working with (and around) the default actions. Topics include: compile versus execution time activities; organizing your data to maximize execution; data defaults, data conversions; missing values, formatting values; ordering variables; functions for: editing data, assigning values, shortening expressions, performing table lookup; data management; effectively creating SAS data sets; the logic of the MERGE; efficiency techniques. 'Real world' examples are presented to illustrate each topic. proc step, missing value, proc format, dataset, lookup, put statement, numeric variable, proc print, proc sort, sas log, update statement, if-then-else, character functions, data step source 10
26 Database Marketing: A Winning Approach Demetris Papaiacovou Database marketing is based on the principle that through collecting and organizing information about your business, you can reduce the cost of your business's marketing efforts and increase profit. Database marketing is not a strategy unto itself. It is a tactical approach to supporting marketing strategy. It is not a separate function to the rest of marketing. It is complimentary to all forms of business intelligence. output delivery system, data cleaning source 11
27 Delivering Dynamic Ad-Hoc Reporting via the Web: Position and Risk Analysis Reporting for Energy Traders Joseph Nipko,
Michelle Nipko,
Sobig Kemp
In this paper we discuss a system developed for a major energy trading company that provides dynamic ad-hoc web reporting. The system has been in production for over a year and is designed to support a live Energy Trading floor with over 400 traders. We discuss how JSP is used in conjunction with SAS/INTRNET software to provide daily reporting of overall holdings and risk in the energy portfolios. The system also makes use of the Futrix OLAP reporting tool to provide dynamic reporting. source 5
28 Designing Web Applications: Lessons from SAS User Interface Analysts Todd Barlow Web application user interfaces combine aspects of non-Web GUI design and Web site design. Through iterative usability testing, SAS user interface analysts have developed standard design and interaction patterns for analytical Web applications. source 8
29 Discovery of Indirect Association and Its Application Pang-Ning Tan proc step, output delivery system source 6
30 Doing Big Demographic Segmentation with the Combination of Multivariate Procedures and Macro Facilities Charles Sun In this paper, I introduce a practice that speedups big demographic segmentation process by employing Macros Facilities for analyses of statistical results from multivariate procedures such as PROC FACTOR or PROC FASTCLUS. proc step, macro variable, numeric variable, proc freq, nominal variable, macro definition, interval variable, missing value, %if-%then-%else source 6
31 Doing More with Proce FREQ Using Options and ODS Richard Severino The FREQ procedure can be used for more than just obtaining a simple frequency distribution or a 2-way cross-tabulation. Multi dimension tables can be analyzed using PROC FREQ. Using ODS with PROC FREQ it is possible to create nice looking reports out of simple frequency tables and It Is possible to output all the results to SAS" data sets. There are many options which control what statistical tests are perfonned as well as what output is produced. Some of the tests require that the data satlsty certain conditions. Some options produce a set of results from which one must select appropriately for the situation at hand. Which of the results produced by using the CHISQ option should one use? What is the WEIGHT statement for? Why would one create an output data set with the OUT= option? How does one fonnat and/or output the results using ODS. This paper (beginning tutorial) will explore many of the options available in PROC FREQ as well using ODS with PROC FREQ. proc freq, proc step, sample, odds ratio, sample size, chi-square test, cumulative frequency, relative risk, binomial distribution, correlation, exact test, numeric functions, dataset, confidence interval, null hypothesis, alternative hypothesis, output delivery system, nominal variable, frequency analysis, fisher exact test, format statement, proc format, proc template, likelihood function, ods rtf, regression analysis source 13
32 Empowering Better Decisions with the Use of Metadata Craig Rubendall Is your company using metadata? Are you aware of the advantages meladala can bring to your organization? If you are not, you should be. As your business grows, so does the dela contained wRhin. Metadata is becoming more essential than ever for those who wish to stay ahead of their data, and thus, ahead of their competition. Speed is of essence and metadata Is the driver. This paper will give you a better understanding of what metadata Is and how It can help you answer the where, how and why about your data. Metadela acts as a key enabler for intelligence and gives you information critical to succeed in understanding and managing your data. The resuH is the best possible utilization of your data resources. data lineage, proc contents source 4
33 Enhancements to SAS/GRAPH in V9 Himesh Patel Would you like to improve the quality of your graphs and web based reports using client technology? How about using annotate on your client output or, generating Images in batch mode from clients? These are some of the enhancements made to SAS/GRAPH in order to improve the quality of output produced by ODS and the client side device drivers. V9 SAS/GRAPH also has new and improved GUI for web based ActlveX and Java graphs. Several improvements have also been made to the existing graphics procedures, including detailed options tor the pie chart, and new area bar and radar charts for our Java and ActiveX based devices. proc step, histogram, bar chart, missing value, output delivery system, ods pdf source 10
34 Errors, Warnings, and Notes (Oh My) A Practical Guide to Debugging SAS Programs Lora D. Delwiche,
Susan J. Slaughter
Errors? "I never get errors!" Warnings? "I never bother to read them, my program still runs." Notes? ''Who needs them?" This paper, is based on the belief that debugging your programs is not only necessary, but also a good way to gain insight into how SAS works. Once you understand why you got an error a warning or a note, you'll be better able to avoid problems in the future. In other words, people who are good debuggers are good programmers. We cover common problems including missing semicolons, invalid data, truncated character values, missing-data-was generated messages, character to numeric conversions, and the tricky problem of a DATA STEP that runs without suspicious messages but nonetheless produces the wrong missing value, sas log, put statement, error message, character variable, input statement, proc print, dataset, if-then-else, infile statement, proc step, options statement source 10
35 FILEVAR Option: Controlling Files Read and/or Written Steven Goins While there are several simple ways to concatenate external files, it can be very useful to control the files used. This paper will cover concatenating external files and the basics of using the FileVar option. I will provide some example programs using the FILEV AR option: collecting metrics, making changes to all programs in a directory, etc. infile statement, file statement, conditional do loop source 6
36 Finding Best-matched Controls for Case-control Study Using Theory of Making Decisions and SAS Macro Programming Natalia V. Udaltsova,
Irina V. Tolstykh
The task of finding best-matched controls in an epidemiologic case-control study frequently becomes very complicated, especially when several independent criteria have to be satisfied at the same time. The authors suggest a method that works well for many multi-criteria tasks. This method uses the mathematical Theory of Making Decisions and the concept of Fuzzy Variables. The method allows balancing two or more criteria at the same time, making an optimal decision in each situation. As an example, the task of finding the best match by year of birth, date of diagnosis, and length of follow-up is considered. Two simple macros utilizing this method are presented. And, how to use and adjust these macros for various situations and different criteria is discussed. Examples of real programs and macro variable, proc sort, macro definition source 4
37 Flexible Code the Easy Way: 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, macro definition source 5
38 Generation of a Clinical Data Warehouse across Multiple Companies Sarbjit Rai Generation of a clinical data warehouse and the issues which can arise when collaborating across multiple companies. What is a data warehouse, why do we need it, how is it put together, software and standards used, common issues which arose and solutions which were utilized to successfully generate the final product. data standard, excel, data warehouse, clinical data, data science source 4
39 Get Dynamic! Generate Macros and Batch Files Right from Your Data! Karen L. Wyland Do you find yourself coding a SAS program that you run repetitively, changing various parameters or variable names? Do you have users that need to modify a program so that it returns the correct results from their data, which has different values than yours? Or, do you simply need to create multiple files (i.e. Word, plain text, html or EXCEL) that you fill with data based on varying conditions? Did you say yes? Well then -- we have tips you'll use over and over. We'll show you how to create macro calls that you generate dynamically from your data and that execute conditionally. Let's say you're building a macro that accepts a certain number of parameters to be passed when it's called. But you discover the number of times you want to call that macro and the values of the parameters being passed can be derived from your existing data. So, Voila! Rather than hard code it, generate the macro calls and parameters directly from your existing data. We'll demonstrate this technique with several examples we use in production. You only need Base SAS and the desire to make your job easier. create table, macro variable, macro definition, proc sql, proc step, macro call, sample, data step source 5
40 Getting Started with SAS/AF Software Steven A. Wilson This workshop will be an introductory guide to the development of interactive computer systems using Frame technology in the SAS System Version 8. This paper is intended for both current applications developers as well as SAS System programmers who wish to learn how to begin developing GUI applications using Frames in SAS/AF. In this workshop we will examine the basics of Frame technology, including the Applications Development environment, SAS/AF components and their properties, and ways to add system functionality by using the SAS Component Language (SCL). At the end of this workshop you will have a simple SAS/AF application which you can use as a starting point for building your own SAS/AF applications. dataset, proc step, proc print source 10
41 Getting Up to Speed with PROC REPORT Kimberly J. LeBouton Learning the basics of PROC REPORT can help the new SAS user avoid hours of headaches. PROC REPORT can often be used in lieu of PROC TABULATE or DATA _NULL_ reporting-two areas that have driven the 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. This paper will show how to use PROC REPORT in both a windowing and non windowing environment using SAS Version 8. Aside: If you are still using SAS Version 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 5
42 Global Warning: Correlation between Atmospheric Carbon Dioxide Concentration and Surface Temperature Karl Glaser The correlation between atmospheric carbon dioxide concentration and surface temperature was determined at various locations, using published data from the Goddard Institute of Space Studies and the Scripps Institute of Oceanography. Significant correlations were seen, with a lag of approximately 45 - 60 years between the rise in temperature and the rise in carbon dioxide concentration. correlation, proc step source 5
43 Hospital Outcomes Reporting - Using SAS to Read Hospital Adminstrative Data and Webpost Outcomes in a Single Process Deborah Singer,
Grace Conn
Healthcare cost containment and quality improvement efforts have dictated that hospital outcomes and perfonnance reporting be tracked internally, by accrediting and regulatory agencies and by payers routinely. Precedence exists in survival analysis to borrow statistical methodology from the manufacturing arena and apply it to healthcare. Using Statistical Process Control (SPC) to track outcomes and utilization as processes provides a framework to monitor and compare institutional quality improvement. Ease of expressing hospital administrative data into outcomes, quality control charting and graphical comparison between facilities is optimally and efficiently accomplished with the suite of products available from proc step, proc tabulate, proc sql, risk adjustment source 4
44 How to Export Markup Languages (HTML and XML) Using ODS Feng He This paper addresses one of the applications of SAS - ODS (Output Delivery System), in conjunction with internet, intranet and World Wide Web technologies. Traditional SAS output has many limitations. ODS has been currently used to overcome the limitations in traditional SAS output. ODS is a method that delivers output in a variety of formats and makes the formatted output easy to access. This paper focuses on how to export markup files, such as HTML and XML, using ODS. ODS XML, ODS HTML and ODS MARKUP statements are described in this paper. source 3
45 Hurray for Arrays! Diana D. Suhr Arrays are flexible, powerful and make programming more efficient. Components of SAS arrays will be defined and explained. Arrays will be illustrated with simple to complex examples. array, character variable source 3
46 Imputation Strategies for Sexual Orientation Using SAS PROC MI Jesse Albert Canchola,
Joe Catania,
Torsten Neilands
Studies of sexual behavior have demonstrated behaviomlly defined sexual orientation as a correlate ofHIV and STD/STI1 risk behavior. Not all survey respondents report their sexual orientations, however. These incomplete cases result in loss of statistical power, untrustworthy population inferences, and stymie prevention efforts that target specific suhpopulations defined hy sexual orientation. To mitigate the effects of non response tu sexual orientation survey items, it can be useful to impute sexual orientation status from responses to sexual behavior variables. Traditional imputation methods use a constructed variable-based single imputation strategy whereas newer imputation methodology as implemented in the SAS MI procedure performs multiple imputation. The present study compares classical single and several multiple imputation-based approaches for addressing sexual orientation item non-response. We discuss the limitations and benefits of each approach. imputation, missing value, proc mi, proc step, multiple imputation, likelihood function, proc calis, nominal variable, data science, sample, inferential statistics, proc freq source 6
47 It's Easy If You Know How: Importing, Processing, and Exporting CDISC XML with SAS Michael C. Palmer The Clinical Data Interchange Standards Consortium (CDISC) has published an XML-based clinical data standard that will make it easier for a pharmaceutical company or other study sponsor to develop a single, low maintenance, vendor-neutral gateway for clinical trials data, including central lab results and FDA-compliant data archiving. This paper covers the basics of data-centric XML, the structural and semantic requirements of CDISC's Operational Data Model (ODM) standard, and techniques for importing, processing, and exporting clinical data in SAS using the ODM. source 4
48 JMP Density Ellipse Script Code Made Easy Charles E. Shipp,
Kirk Paul Lafler
We show the use of scripts to meet two useful objectives: (1) display a graphic of correlation between all selected continuous variables: using an (n x n) matrix of density ellipses, and (2) display a selected independent variable vs a selected dependent variable for different classes to see which class is the best, and visually, by how much. We also show and discuss the elements of the 50% density ellipse and its usefulness. To conclude, we show how to store the script code for dissemination and reuse. correlation, interval variable, proc sgplot, data profiling, response variable, predictor variable source 6
49 JMP Density Ellipses for Pharmaceutical Analysis Charles E. Shipp,
Kirk Paul Lafler
JMP is a data discovery tool used in both (1) the exploratory phase and (2) the analysis phase, of experimental and theoretical work. The density ellipse shows the extent of data, the center of mass, the least squares fit line, and the degree of correlation between a selected dependent variable and a selected independent variable. When superimposed, the ellipses of similar variables for different classes show and contrast their sameness and differences. The example used is pharmaceutical dummy data in the area of cancer research. predictor variable, response variable, correlation, proc sgplot source 5
50 Jumping through the Months, with the Help of %SYSFUNC John Teberg At times one may need to extract many months of data from datasets that contain merely one month worth of data. And, the dataset name has the month it represents as part of its file name. This paper demonstrates a macro that allows the files to be read between the beginning and ending months, determining the months in between. This is done by using %sysfunc macro function to: I) run the DATA STEP function, intnx, to increment by months and 2) return a macro value with the appropriate format of the month using the second argoment of the %sysfunc function. Thus, the macro can read many monthly files, and concatenate the many months of data together. macro variable, macro loop, sysdate9, data step, datepart, macro function, macro facility, macro definition, date variable, %if-%then-%else source 3
51 Let ODS Help You Choose a Style Wei Cheng The SAS Output Delivery System (ODS) has a nwnber of built-in output style definitions. ODS also provides tools to create your own custom-defined style definitions. This paper presents a SAS program to generate output in HTML, PDF, and RTF file format with a "Table of Contents" linking to each available style definition. Some advanced ODS techniques including PROC TEMPLATE, ODS statements and options, PROC REPORT, and SAS macro facility are used and covered. output delivery system, file statement, proc step, ods output, macro loop, macro variable, macro definition source 6
52 Let SAS Build Your Dynamic Web Site from the Data! Jennifer R. Sinodis,
Mark Moran
In today's environment, the web has become the best channel to view meaningful information. Let SAS do the work and produce your web output straight from the data! It can do most of the work involved In creating great looking, maintenance-free, dynamic web pages for your users. This paper will show how to usa Version 8 SAS/BASE to build static HTML output to your web site with HTML formatting macros and ODS (Output Delivery System) and how to use SAS/INTRNETTM to create output dynamically from your web site. It will also introduce JavaScrlpt code and show how SAS/BASE can produce JavaScrlpt to generate drop-down menu options built directly from your data to access static HTML output, or create dynamic HTML. For the purpose of this paper most of the SAS programs shown are simplified. The paper illustrates SAS/BASE macro code, HTML, ODS, JavaScript and SAS//ntrl'Jel code. This paper assumes an experienced/advanced knowledge of SAS/BASE Version 8 and some knowledge of HTML. put statement, sample, proc step, sas output, output delivery system, data step, proc sql, ods html source 6
53 MARKUP: The Power of Choice and Change Eric A. Gebhart When it comes to markup languages, there are lots of choices. If you are keeping up with the web, you might say XML is your choice. XML alone is full of choices. But XML is just the latest craze. There are lots of other markup languages out there. Using the ODS MARKUP output destination the ability to create these types of output are within your grasp. proc step, proc template, output delivery system, put statement, ods html source 10
54 Medicare Hospital Length of Stay: To Adjust, to Weigh, or Do Nothing at All! Deborah Shapiro Hospital length of stay is a conventional outcome measure of resource utilization tracked internally and by accrediting and regulatory agencies. Risk adjustment of outcomes data attempts to level the playing field across severity of disease. For the medicare patient population, case mix index has become a conventional indicator of severity for the acute inpatient Examination of medicare average length of stay with and without risk adjustment is explored here with alternative risk adjustment methodologies contrasted. risk adjustment, cv source 3
55 Mouse Clicking Your Way Viewing and Manipulating Data with Version 8 and 9 of the SAS System Cyndie B. Gareleck,
Terry Fain
Versions 8 and 9 of the SAS System offer several powerful ways to view and interactively manipulate data. This paper will focus on five such methods: PROC FSEDIT, PROC FSVIEW, Viewtable, SAS Enterprise Guide ""; and the Analyst Application. We will examine the strengths and limitations of each approach, with an emphasis on their most powerful featores and ease of use. While the examples illustrate a Microsoft Windows 2000 environment, many of the concepts are equally applicable to other operating environments. sas enterprise guide, proc step, dataset, sas base, label statement, where statement, proc sort source 8
56 Multi-level Web-based Reporting System for Semiconductor Parametric Data Tom Winter,
Willy Waks
Early semiconductor process development is especially dependent on parametric data; analysis is hampered by the large volumes generated and general inability of most engineers to effectively retrieve the data and then process into summarized tables, reports & graphs. The SAS system developed allows the engineer to simply browse through the pre-generated reports - both high level and low level -and quickly visualize and captore the needed data Key input is a "specs" file with the desired parameters for analysis, description, upper/lower spec limits, target and category (for certain summarized reports). Reports are HTML with multilevel drill down boxcharts; graphics for yields, loss paretos, wafer maps, probability distributions and histograms; yield tables showing summarized and detailed failures to meet spec; summarized text reports & gifs for cpk. Pregenerated reports are created by executing SAS through a series of per! programs and configoration files for different devices. box plot, proc step, extract, histogram, proc sql source 6
57 Multiple Linear Regression Analysis of Total Mercury Levels in Blood and Urine Samples Miki Yamauchi,
George C. J. Fernandez,
Stanley Omaye
Data on human exposure to environmental mercury (urine and blood total mercury content (1MC) levels), environmental and confounding mercury contamination sources, and demographic characteristics were collected from the population residing in Dayton, Nevada. The town of Dayton is located in the Carson River Superfund Site (CRMS). Multiple regression models were fitted to investigate factors influencing the TMC levels in blood and urine. User friendly SAS macros: 'REGDIAG' comprising of the SAS procedures PROC REG, GLM, and GPLOT; 'HETERO' comprising of the procedures PROC MIXED and GPLOT; and 'BOXCOX' comprising of the procedures PROC REG, GLM and GPLOT, were used to explore the data, fit the regression model and check for any violations of regression model assumptions. regression analysis, predictor variable, data cleaning, influential observation, sample, validation set, proc step, proc reg, multiple regression, response variable, normality test, histogram, outlier, proc mixed, interval variable, macro definition, scatter plot, nominal variable, confidence interval, homoscedasticity, estimate, proc genmod source 6
58 New Ways and Means to Summarize Files Curtis A. Smith Frequently, when creating files fur a data warehouse or to be used within a SAS program, it makes sense to create smaller files to save space and reduce processing time. Sometimes creating dataset, proc means, class variable, by group processing, proc step, cpu time, character variable, numeric variable, variable list, missing value, output source 6
59 ODS and Web Enabled Device Drivers: Displaying and Controlling Large Numbers of Graphs Arthur L. Carpenter,
Richard O. Smith
With the advent of the Output Delivery System, ODS, it has become much easier to generate graphs that can be displayed online. ODS works with web enabled device drivers such as GIF, HTML, and WEBFRAME to create graphs that can be browsed and even interactively modified by the user. Coordination becomes problematic however, when a large number of graphs need to be displayed. Tools and techniques are available that permit the programmer to create hot zones that allow the user to drill down through graphs and index tables to find the graphs of interest. Coding techniques, including the use of macros to control the process, can be used to simplify the process of managing, naming, and locating large numbers of graphs. Although primarily directed to graphical displays of the data, many of these same techniques can be applied to reports and data summaries. proc step, macro variable, proc print, proc gchart, ods html, output delivery system, proc gplot, catalog entry, macro loop source 8
60 ODS Meets SAS/IntrNet Sy J. Truong,
Susan J. Slaughter,
Lora D. Delwiche
The SAS System gives you the ability to create a wide range of web-ready reports. This paper walks through a series of examples showing what you can do with Base SAS and when you need SAS/INTRNET. Starting with the simplest HTML reports, this paper shows how you can jazz up your output by using the STYLE= options, traffic-lighting and hyper-linking available in the reporting procedures: PRINT, REPORT, and TABULATE. With the use of SAS/INTRNET you can add functionality to reports wHh features such as drill-down links that are data-driven, and you can produce dynamic reports created on-the-fly for individual users. Using this technique, your clients can navigate to the exact information needed to fulfill your business objective. proc step, ods html, proc tabulate, proc freq, class variable, dataset, sas base source 9
61 Optimizing Production Planning Using SAS Suchitra Injati The objective of manufacturing units is to reduce unit production cost, while optimizing return on investment (ROI). Achieving market shares, with optimal order fills and on time deliveries has been one of the major challenges for all business units. The production schedule will compute the specified time intervals taken to complete each process, which in turn will be based on weekly orders for each unit of the one family product, and delivery intervals for each order. In this paper, we review the statistical methodology and present SAS programs using SAS/OR procedures CPM, GANTT and NETDRAW that create an optimal production plan, which encompasses the above goals by eliminating down times and changeovers between different units. This SAS program can be easily modified to similar production optimization in manufacturing. proc step, dataset source 6
62 Optimum Sampling by Ratio Estimation Robert Plath The problem addressed is to determine the most efficient distribution of a sample amongst several strata into which an universe was divided; this in order to achieve maximum precision per unit cost for estimated characteristics of the universe. This paper will consist of theory and application of ratio estimates as an optimal method in deriving stratum sample sizes. Sampling costs will be used as constraints in the LaGrange Multiplier problem of minimization of strata variances in order to derive the optimum stratum sample sizes. The optimum number of samples for each strata are then input into a SAS program in order to select a random sample per stratum; alternate sample selection is also available. Macro program coding will allow for user input through window prompts. sample, sample size, confidence interval source 7
63 Output Delivery Goes Web Kirk Paul Lafler In an age of Internet frenzy, output delivery is experiencing incredible interest around the globe. The explosion of Internet technologies, especially electronic delivery of data, is on the rise. As digital commerce forces fundamental changes In the nature of business, IT is at the center of these changes. Many organizations are moving toward a customer self-service center model, where information access will be key to survival. As the growth and popularity of the Web surges to unprecedented levels, SAS users are beginning to look for ways to transform basic monospace output Into an electronic world of glitz and color. This advanced tutorial will show attendees how to convert tired and old output listings into beautiful Web pages, combine output results, create PDF output, change Web page labels, build drill-down Web applications, and perform a variety of output customizations. ods html, file statement, sas output, output delivery system, proc univariate, proc step, ods pdf, proc print source 7
64 Perform Survival Analysis for Clinical Trials Using ODS Wei Cheng Survival analysis is widely used in clinical trial studies. The median survival time, the survival rate, and the p-Value need to be pulled out from the SAS output. The SAS Output Delivery System (ODS) in SAS/ST AT greatly enhances the ability to manage the statistical output. This paper presents a method to provide survival analysis for clinical trials using the output data sets generated by PROC LIFETEST. survival analysis, proc step, clinical trial, median survival, confidence interval, sample, proc sql source 5
65 Quick Results with the Output Delivery System Sunil Kumar Gupta SAS's new Output Delivery System (ODS) 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, proc univariate, proc step, sas log, output delivery system, file statement, by group processing, proc freq source 9
66 Reliability, Exploratory, & Confirmatory Factor Analysis for the Scale of Atheletic Priorities Diana D. Suhr The process of evaluating a measurement instrument for reliability and investigating the factor structure will be discussed using the Scale of Athletic Priorities (SAP) as an example. SAS procedures served to provide an indication of the internal consistency (reliability with PROC CORR),to verify the factor structure (confirmatory factor analysis with PROC CALIS), and to explore the factor structure (with PROC FACTOR) of the measurement instrument. factor analysis, sample, proc step, confirmatory factor analysis, correlation, factor loading, proc corr, proc factor, sample size, data science, standard deviation, latent variable, scree plot source 8
67 SASTRAK - Managing Multiple Parallel Processes with a SAS-based Control Program (Productive Application of a SAS Macro Virus) Victor de Leon SASTRAK is a SAS-based control program for managing multiple parallel processes. The author manages a process of about 60 programs that execute within a tight 10-day processing window; each job was previously submitted manually based on a pre-determined sequence, and parameters on every job needed to be updated for each production cycle. The control program submits jobs based on the completion of conditional processes, manages multiple parallel programs/processes, reduces manual intervention, and cuts the schedule from 10 days to 3. parallel processing, sas base source 3
68 Seasonality Detectioh in the Energy Sector Using the SAS System Joseph E. Earley,
Seid M. Zekavat
This paper illustrates how the SAS/ETS procedure PROC X II may be used to estimate the seasonal pattern in the time series for United States transportation energy consumption. The study uses the SSP AN option ofPROC X II to perform a sliding spans analysis on the time series. time series analysis, seasonal adjustment, proc step, null hypothesis, irregular component, seasonality source 3
69 Standard Software to Create SAS Graphs in a Clinical Environment Ying Yuen,
Millennium Electric
Creating SAS graphs can seem Intimidating and difficult especially if you are new to annotation. Graphs for clinical submission to the FDA are usually consistent in format and style. A standard graphic application written in SAS, which allows the user to Input graphic requirements can assist beginner (or non SA$ graph expert) programmers to create expert looking SAS graphs. This paper will discuss how to develop a SAS tool to create consistent SAS graphs This paper assumes the audience has a good knowledge of creating SAS graphs using annotation and familiar with the concepts of the SAS macro language. macro variable, sample, proc step, macro definition, proc gplot, macro loop, %if-%then-%else source 6
70 Structural Equation Modeling: Easy Solutions Using SAS Shuqiang Zhang Structural equation modeling (SEM) refers to an increasingly popular group of statistical techniques that estimate the relationships among observed and latent variables on the basis of the covariances of a given set of observed variables. SAS is the only general purpose statistical package that includes SEM. The PROC CALIS statements for SEM in SAS are readily comprehensible to anyone familiar with multiple regression. This introductory paper focuses on three basic applications of SEM: (a) path analysis with observed variables, (b) confirmatory factor analysis with proposed factors treated as latent variables, and causal modeling of observed and latent variables. The logic of each application is explicated through a set of linear equations in the respective SAS program. Although commonly used to verify causal links, SEM is only concerned with the investigation of how well the proposed causal model fits the data. latent variable, covariance, factor analysis, residual, response variable, correlation, goodness of fit, proc step, proc calis, predictor variable, confirmatory factor analysis, degrees of freedom, raw data, sample, data step, regression analysis, proc princomp source 5
71 Survival Analysis with PHREG: Using MI and MIANALYZE to Accommodate Missing Data Arthur L. Carpenter Survival analyses based on a data collection process which the researcher has little control over are often plagued by problems of missing data. Deleting cases with any missing data will result in information loss and usually results in bias, while many analytic procedures that retain this information in some form underestimate the resulting uncertainty in parameter estimates and other output. SAS Version 8 includes two new procedures that allow the researcher to generate "complete" data sets from incomplete data by multiple imputation and to analyze the resulting data in ways which adequately account for the uncertainty involved. imputation, proc step, missing value, multiple imputation, macro variable, survival analysis, binary variable, estimate, dataset, correlation, macro definition, proc phreg source 6
72 The Data Cruncher in a Windows NT Environment: Migrating Production V6 to V8 Steven Goins We have been using SAS to process and load data to our SQL tables for intranet reporting since 1998. We have hundreds of reports for more than a dozen systems on our intranet The amount of data in a file we process varies from a hundred records to over 50 million records. This paper will cover migrating from v6 to v8, inclnding sending Lotus Notes email from within batch SAS. proc sql, proc step, sql server, sysrc, proc append, production run, drop table, libname statement, dataset source 4
73 The DATA Step in Version 9: What's New? Jason Secosky This paper presents DATA STEP language enhancements in SAS Version 9. These enhancements include: Perl regular expressions for fast search and replace in text, hash tables for searching a collection of values based on a key, and sorting values with a DATA STEP function. Performance improvements that speed existing code are discussed along with new ways to output log messages and retrieve variable values. hash table, data step, call symput, call symputx, character functions, by group processing, macro variable, macro put source 6
74 The Road to SAS Deliverance - Dueling Coders Nikki M. Carroll,
Frank A. Ferriola
There's more than one way to skin a cat. There are more ways to program in SAS than you've had hot dinners. There are more ways to program in SAS than you can shake a stick at. You take the high road and I'll take the low road. All roads lead to Rome. Six ofone ... halfa dozen of the other. All of these familiar cliches lend to the idea that there are many possible ways to program in SAS, yet still get to the same desired outcome. This paper's goal is to look at multiple illustrations where a programmer can use different SAS procedures that yield the same output. Advantages and disadvantages of each program will be discussed and actual program code will be included. if-then-else, proc step, proc sql, create table source 6
75 The SAS Powered PDA David Bell,
Lynn G. Palmer
PDAs, Personal Data Assistants, are becoming nearly as ubiquitous as cell phones in the area of managing personal data such as appointment schedules and financial management. However, in the area of disseminating and analyzing data, they tend to be underutilized. hnagine the awesome decision support one would have if one had the resources of an enterprise-level data analytical system literally "at one's fingertips"? This presentation will explore the use of open source technologies such as JAVA, XML, SOAP and other internet techologies to bring the power of SAS into the palm of one's hand. excel, proc step, flat file, data science, macro variable, format statement source 5
76 The Schizophrenic Index Michelle Nipko,
Joseph Nipko
There are many situations in which the SAS programmer can use either a DATA STEP or a PROC SQL statement to accomplish the same data manipulation. Indexes are often used with both techniques in an effort to maximize performance. As the complexity of the data manipulation increases it becomes less clear how and when indexes can help. There are many factors such as the type of join, whether or not the index is on the database or dataset, the complexity of the join, and the type of summary statistics that can have a large impact on the usability of indexes. This paper examines some of the efficiency gains and losses that can be realized by the use of an index, in addition to ways the SAS programmer can tune index usage. proc sql, cpu time, proc step, create table, dataset, index source 4
77 Think You Know Everything About Merge? Here Is Something You May Not Know Bharathi Lingala,
Kirsten Naumann Murtagh
This paper will look at two issues related to merging two datasets with a common (by) variable. Most SAS programmers are aware that if there are common variables besides the by variables in the datasets, then data from the dataset closet to the semi-colon will be retained in the merged data. When this concept is applied to datasets with repeats of by variables, it can give unexpected results. This situation happens very often in longitudinal studies where data for the same patient is coiJected at different times, which results in a dataset that contains several non-duplicate records for a patient. First, this paper will address what actually takes place when doing a merge of such datasets. Second, it will discuss in detail how merging datasets with repeated records for a by variable can inadvertently replace values and how, depending on the outcome desired, this can also prove to be a useful way to update or replace missing values in a dataset. sas programmer, missing value source 2
78 Tips and Tricks for Data Analysis Using SAS Paul A. Choate This paper presents a collection of pointers regarding various useful features of SAS for the data analyst. Each section below provides brief notes from the topics covered in the presentation. proc step, proc sql source 2
79 Use a Look-up Table instead of Nested IF Statements to Dramatically Shorten Your Code, Simplify Your Changes, and Reduce Your Verification Time Sandra Minjoe A program with nested If-Then-Else statements is time consuming to construct, difficult to read, and a nightmare to maintain. This paper uses lab ranges as an example of how to utilize a look-up table, containing both conditional statements and actions, to shorten your code, simply future changes, and ease verification. It also discusses the options of entering the look-up table directly into a SAS dataset or using SAS to import it from somewhere else. laboratory data, if-then-else, dataset source 4
80 Use of the New Version 9 ODS Capabilities to Reduce Programming Time and Costs AnnMaria Rousey Two new ODS capabilities production in Version 9 are ODS DOCUMENT and PROC DOCUMENT. These capabilities combine to allow programmers to create a document for later replay. Output can be replayed in whole or in part, and in any format available using the SAS system. Common situations are discussed where these features have proven extremely useful. These situations include re creation of an inadvertently deleted document, reproduction of the same document in a different format, and creation of a new document with selected output from the original. In any environment where analyses regularly involve large databases and many statistical procedure steps, the time savings with ODS DOCUMENT and PROC DOCUMENT can be substantial. The Output Delivery System was a revolutionary development in the movement of SAS from a good tool to statistical analysis to a viable option for data processing. A key to any useful programming language is the degree to which it can automate processes. proc step, ods pdf source 6
81 Use Your Website to Document Your Website Karen L. Wyland You've developed and put into production a great website using the SAS/INTRNET technologies. You may now be considering tackling the job of documenting your website applications and processes. Have you considered using the very same tools you're using to produce your website to create a website for your development/maintenance personnel? Decision Support Systems (DSS) at Sodexho makes extensive use of the SASfintrNet technologies to keep their development team informed. Several reasons led us to create a developer's website. We're a small team and work on individual tasks. We need to keep current on the status of our projects or "done-bys". We also need to document the procedural tasks we each perform so we have a "tum-over'' document ready at all times. It's not always possible for our team to connect to the remote server since we require secure shell access. A website using only a browser interface is perfect for our "anytime, anywhere" needs. sample, batch job, sas batch, data step, proc sql source 6
82 Using Benford's Law to Find Anomalies in Your Data Curtis A. Smith Analyzing large amounts of data looking for anomalies can be a disheartening task. You need techniques that will allow you to quickly assess the data in ways that will highlight potential anomalies while keeping you from chasing the wind. Benford's Law is one such technique. Using Benford's Law and the SAS System you can quickly identify one or more first digit patterns in numeric variables that defy statistical averages. Within this paper, the author will present SAS code that will enable you to quickly and easily find anomalies in the data you analyze. The SAS code will include the DATA STEP, the MERGE statement, and the FREQ, REPORT, and GPLOT procedures. The author will also present some findings from the data he analyzes. The technique presented is powerful, yet easy to understand and use. numeric variable, proc gplot, proc freq, sample source 6
83 Using PROC SQL for Creating a Group Variable on Census 2000 Tracts Based on Their Relationship with the Census 1990 Tracts Xiao Chen US Census Bureau provides documentation on the relationship between the 1990 and 2000 census tracts. One task that we have been asked to do by a research group in UCLA is to create a group variable on census 2000 tracts based on their relationship with the census 1990 tracts. To be more precisely, we can impose a graph structure on the 2000 census tracts, each tract being a vertex and two vertices being connected if they share at least one common 1990 census tract. The group variable will be the representation of the connected components of this graph. The group variable can be created using only SAS data steps. But it is obviously not a straightforward programming issue. To this end, we make use of SAS powerful PROC SQL and come up with a much better solution. This paper will give the details on our solution. proc sql, proc step, class variable, sample, data step source 3
84 Using SAS Integration Technologies to Interface with Enterprise Application Written in Visual C++ Joseph Nipko Utilizing SAS as an enterprise IT solution in a distributed Microsoft Windows environment centered on COM objects written in C++ can be a challenge for the best of SAS developers. SAS Integration Technologies exposes a set of COM interfaces that make integrating SAS with other custom windows applications a relatively pain free experience. This paper explores the SAS COM Object Model and demonstrates how to create an integrated application using the objects in Visual C++. Topics include instantiating and using the SASWorkspaceManager object, writing custom event handlers for 10M server runtime events, and using ADO with the 10M OLEDB Provider to access SAS data sets. dataset, proc step source 5
85 Using SAS/GRAPH and ODS to Web-enable Your Graphs Curtis A. Smith Using the SAS/GRAPH procedures and the Ou1put Delivery System (ODS) you can output your graphs to web enabled HTML files. Using the flexibility of ODS, you can include the graphs as static GIF or JPEG files, or create interactive, customi2able graphs for web distribution using ActiveX controls or JAVA applets. This is really cool stuff. I could not believe my eyes the first time I saw it in action. Jn this paper I will lead you through the ODS code statements and options under SAS version 8 for MS-Wmdows needed to turn plain SAS/GRAPH procedure output into something dazzling. No need to be a SAS/GRAPH wizard to learn this stuff ... I was not. Just wrap your existing SAS/GRAPH code with a few ODS related statements and a few other tweaks, and your HTML customers will not believe their eyes! numeric variable, proc freq, scatter plot source 7
86 Using SAS/IML to Create a Chi-squared Plot for Checking Normality Assumption in Multivariate Data Steven Hoff The Chi-Squared plot takes multivariate data of any dimension and computes squared generalized distances for sample observations, and the corresponding chi-squared quantiles for the ordered data. A plot sample, normal distribution, probability distribution, outlier source 5
87 Using SAS/IML to Perform Hierarchical Bayes Estimation for Discrete Choice Modeling David Steehard,
Nan-Ting Chou
Most methods for analyzing choice-based conjoint data do so by combining data for all individuals. There could be extreme weakness in analyzing data this way, for it could obscure important individual aspects of the data. Hierarchical Bayes Estimation is one method of estimating individual part-worths. This method can reasonably estimate individual part-worths even with relatively little data from each respondent. In this paper we provide an introduction to Hierarchical Bayes Estimation and use this algorithm written in SAS IML to perform a choice-based conjoint aualysis. Sufficient details are provided to allow the readers to easily use Hierarchical Bayes Estimation as a tool for discrete choice modeling. choice modeling, logistic regression, covariance, posterior probability, conjoint analysis source 5
88 Using the Annotate Facility to Enhance Standard SAS/GRAPH Procedure Output Debra Miller SAS software is used to create detailed stacked bar charts showing air quality data. These charts will be used by state air quality specialists to develop plans to comply with new air quality regulations. SAS/GRAPH procedures are used to generate the charts. This paper highlights the use of the Annotate facility to add annotations specific to each chart that greatly enhance the amount of information that can be conveyed. This facility allows you to dynamically place annotations on each chart with respect to other chart elements, such as the height and X -axis location of a stacked bar. Instructions for creating the annotations are stored in specific data set variables and referenced later in a SAS/GRAPH procedure such as the GCHART procedure. This paper is intended for SAS users who are familiar with SAS/GRAPH. There is no limitation with respect to operating system. bar chart, sample, proc step, proc gchart, seasonality, proc greplay source 8
89 Using Views with DB2, MS Access, and SQL Server Lynn G. Palmer With new and easier ways to access data, more users are attempting to get their data directly from the organization database. Data often requires some knowledge of the organization's "rules" for summariziog and presenting information. These rules may not be readily available to or known by all staff. One way to mange data access is to set up views which govern how the data is reported. You can create DB2 views; SAS PROC SQL views, queries, and io-line views; MSAcess queries; and SQL Server views that are transparent to your users and allow you to enforce your organization's data rules and control access to the data. proc sql, proc step, create view, sas library, sql server, dataset source 5
90 Utilizing Clinical SAS Report Templates with ODS Sunil Kumar Gupta SAS progrannners often have the responsibility of supporting the reporting needs of the Clinical Affairs Department of Phannaceutical Companies. This involves generating a variety of reports to fulfill the regulatory requirements of the clinical investigation of the medical device. By establishing clinical reporting templates using ODS for each of the functional aspects of Clinical Data Management, the SAS progranuner can dramatically improve the efficiency of developing and generating reports. With ODS, RTF and PDF files can easily and quickly be generated directly from SAS programs. Examples of these functional reports include patient listings, patient x-ray logs, monitor site visits, monthly status reports, & reports necessary for pre market approval application. Each type of report requires different layouts due to the different objectives of the organization. sample, proc step, proc report, clinical trial, proc print source 6
91 Validation Reporting System Karen Walker A Validation Reporting System will add functionality to a well-defined software development process. Because just a development process cannot stand on its own, it needs planning, execution, coordination and control to emulate organizational processes and structures with high quality. Developing computerized systems for any business process will be easier to manage, and the processes created will run smoothly with the help of a Validation Reporting System. The Validation Reporting System will assist planning, execution, coordination and control of the software development life cycle, with emphasis on validation planning. It has built in capability assigning roles and responsibilities, establishing a team to support process activity. It is imperative that documentation be written during testing of the process. Therefore, the Validation Reporting System organizes validation reports from important test data as the results are being captured. It is useful during development, use, and operations of a given computerized system. The Validation Reporting System complies with the best-demonstrated practices developing computerized systems used in a regulatory environment and will satisfy GLP, GMP, GCP, legal or business and other standards. data cleaning, proc copy, proc step source 7
92 Various Methods for Updating Oracle Tables Using SAS Access to Oracle: Evaluating Efficiency Brian Mayeux At Mercer Human Resource Consulting Inc., it is often necessary to update our Medical Insurance Claims Oracle Data Warehouse. To identify the Oracle records to be updated, identification (ID) variables are typically matched between a SAS dala set and an Oracle !able. Four methods are introduced for updating Oracle records from a SAS dala set. The processing efficiency of the four methods is quantified and sample code for each method is given. An optimal updating method is recommended. cpu time, dataset, macro variable, proc sql, proc step, macro definition source 4
93 Where in the World are Block, Choropleth, and Prism? Getting Started with PROC GMAP and Creating Interactive Maps for the Web Thomas Kunselman PROC GMAP in SAS/GRAPH can be used to create Block, Choropleth, and Prism maps. These maps can then be displayed on the Web using the SAS/GRAPHACTIVEX control or JAVA applet. The capabilities ofbothActiveX and JAVA displayed maps will be demonstrated and compared. For the SAS/GRAPH beginner, samples of SAS code to create these three types of map will be explained along with the use of the DEVICE= option with values of JAVA and ActiveX on the GOPTIONS statement. An example of a dynamically generated interactive map from SASIIntrNet will also be demonstrated along with an explanation of the SAS code. Maps and programming code demonstrated will include examples of mapping data to states and counties. proc step, proc gmap, proc means, proc sort, output delivery system source 6
94 Where to Go from Here: Learning More about SAS Helen D. Carey,
Ginger Carey
The vast amount of information on the SAS System, particularly that available through the Web, can be oveiWhelming. You can save time by knowing where to find the Information you need. This paper is about the variety of information and media available and describes where to go to learn more about SAS. output delivery system, sas programmer source 9
95 Who? What? Where? When? Why? Planning Ahead when Coding a Large Project Beth Worrall In order to design, organize, and automate a large project successfully, one needs to ask as many questions as possible. Who will ultimately be responsible for the code? What are ALL of the specifications for the project? Where will the data, programs, and output reside? When are the project's deadlines? This paper will discuss how a healthcare utilization report process was completely revamped via converting code from Focus to SAS. How the use of macros and the macro autocall facility made this process easier will be covered, as well as how the FSEDIT procedure was utilized to create a friendly interface. Most importantly, the significance of asking why as much as possible will be emphasized. macro variable, macro facility, stored macro, proc sql, autocall, proc step, macro definition source 4
96 XML: What is it, and Why Should SAS Users Care? Miriam Cisternas,
Ricardo A. Cisternas
XML (eXtensible Markup Language) has been called the next big thing in data exchange. However, most SAS users do not kuow how to apply it to their daily work. The purpose ofthis paper is to provide a quick introduction to XML, show the ways in which XML is read and written from SAS, and present examples of XML usage within SAS applications with an emphasis on ways to exchanging files with other systems. We also provide resources for further information about XML in general and its use from SAS in particular. data cleaning, web service, txt, data validation rules, proc step source 7
97 You've Got Data, Now What? Diana D. Suhr Organizing, planning, and executing procedures to examine and analyze data are essential. Researchers and programmers have the power to determine appropriate statistical tests to answer research questions and to satisfy research objectives. Data analysis can involve simple to complex statistical tests with SAS. After data investigation, findings could be used to advance knowledge and improve practices or policies. The essentials of data investigation will be discussed in this presentation. proc step, missing value, proc print, input statement, data science, proc freq source 3

Back to Conf go 2003 go 2001

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.