HOME QUICK SEARCH AUTHORS KEYWORDS HELP BUGS

SESUG 2003 Papers - Index

111 papers. Source: SESUG (SouthEast SAS Users Group) conference proceedings.

# Title
×
Authors
×
Abstract
×
Keywords
×
Extras Pages
1 A "Real" Drill-Down Java Graph Jenine Eason SAS/GRAPH software enables you to summarize your data and present a proc gchart, proc step source 3
2 A Beginner's Guide to Incorporating SAS Output in Microsoft Office Applications Vincent DelGobbo This paper provides techniques for incorporating the output from SAS software, regardless of the install platform, in Microsoft EXCEL and Word (versions 2000 and later). The paper focuses on the use of the Output Delivery System (ODS) and SAS servers excel, proc step, proc tabulate, ods html, sample, sas output, output delivery system, proc print, macro variable source 8
3 A Gentle Introduction To SAS/GRAPH Ben Cochran The power and flexibility of SAS/GRAPH software enables the user to produce high quality graphs, charts, and maps. With all this strength and flexibility, the new user is sometimes overwhelmed and discouraged from using these powerful tools. However, learning how to use the tools of SAS/GRAPH can be a pleasant experience. This paper introduces several ways to generate graphical representations of your data. Starting with the importance of understanding their data, users are lead in a step by step process that ends with the generation of high quality plots and graphs. Let us begin. Step 1: Understanding Your Data. Is some data more appropriate for generating graphical reports than other data? What data is most appropriate for plots and graphs? The first data set to be examined is the SASUSER.RETAIL table. A quick look at the first ten rows reveals only 2 columns or variables: SALES, and DATE. The SALES variable has a descriptive label associated with it. Both variables are numeric proc gchart, proc step, bar chart, proc gplot source 5
4 A Hiker's Guide to Web Development Steve James Building web applications using SAS/INTRNET Application Dispatcher is a lot like hiking. At first, it is hard. You struggle getting used to your equipment and the new terrain. Then it gets easy as you settle into a pace you like and get into a rhythm. Then it gets hard again as you tire and have to make that final push towards the finish. However, once you get there you can sit back, relax and enjoy the rewards of your efforts. If all that is true, then how should you do it? What can you expect along the way? What kind of equipment do you need and whom should you take with you? This paper is a trail guide for developing web applications with Application Dispatcher and describes the process, pitfalls and practical issues that you can expect to encounter. Specific topics that are covered include system analysis and design, learning Application Dispatcher, coding issues, usability, security, and final deployment proc step, data validation rules, data cleaning, dataset, excel, macro variable source 12
5 A Hybrid Modeling Platform to meet Basel II Requirements in Banking Jeffery Morrision regression analysis, data cleaning, response variable, dataset, predictor variable source 8
6 A Journeyman's Reference: The Writing for Reading SAS Style Sheet: Tricks, Traps, Tips, and Templates, from SAS-L's Macro Maven Ronald J. Fehd A program is a form of communication that occurs in two distinct and vastly different events: the first event is immedi- ate, when the program is submitted to the language processor for execution; the second event takes place at a later time, when the writer or another programmer returns to read that program for maintenance. A good style sheet can facilitate program maintenance. This is especially important when si- multaneously writing in two languages: SAS and its macro language. This paper discusses elements of a style sheet for SAS programmers. The intended audiences are intermediate SAS programmers and beginning macro programmers macro facility, macro definition, macro variable, %if-%then-%else, proc step source 6
7 A Pinch of SAS, a Fraction of HTML, and a Touch of JavaScript Serve Up a Grand Recipe Jonah P. Turner Proper ingredients, precise measurements, and personal attention all contribute significantly to the creation of a perfect meal - the same can be said about implementing an effective software application. By knowing some fundamental SAS, HTML, and JavaScript elements and applying the right touch of each medium, one can easily develop practical and insightful programs for managing business systems. More specifically, by making use of these three languages, one can design valuable web-based solutions that exploit a number of technologies the Internet has to offer. This paper will explain how basic components of SAS, HTML, and JavaScript can be fused together for implementing rather useful applications that function via the Internet. A background discussion on the SAS/INTRNET software will shed light on the advantages of integrating Internet technologies for realizing business solutions ods html, macro variable, output delivery system, proc sql source 6
8 A Sampler of Code Techniques H. Ian Whitlock Several short coding examples will be presented. The examples include a problem in updating a master file, the use of the ODS OUTPUT statement to build a control data set for the selection of a set of random samples, the use of NAMED INPUT, and some macro examples. Principles of simplicity, maintainability, and reuse will be emphasized. The examples are suitable to a wide range of programming experience. They require only base SAS and are operating system independent except for file definitions. Named Input Although it is documented, named input is one of the better kept secrets of the INPUT statement. The problem is that the examples do not reveal why one might want the tool. SAS goes into named input mode whenever it finds a variable name followed by an equal sign in an INPUT statement. In this mode the record is searched for each variable in the Program Data Vector (PDV), i.e., the memory area of the DATA STEP named input, macro variable, dataset, %if-%then-%else, proc freq, macro loop, sample, merge statement, proc step, macro definition source 6
9 A SAS Macro to Design Phase II Clinical Trials Alan B. Cantor,
Moffitt Cancer
This paper describes a macro, written by the author, which can assist in the design of Phase II trials. For study parameters provided by the user, the macro will generate a number of trial designs satisfying the user's requirements and produce a Word file, datasets, and graphs giving their properties phase ii, sample, clinical trial, sample size source 2
10 A Table-Driven ODS Macro Diane E. Brown Tired of coding ODS statements and SAS output procedures for every report you write and having redundant or similar code everywhere? This paper will present a plan to reuse SAS output source code using a SAS table to drive the process and macros to execute the process. A complete review of the table design and content, and the source code will be provided. User controls available in the macro include: 1) variables to output, 2) the output styles; pdf, html, txt, SAS, EXCEL, rtf, mdb, etc., 3) ODS style, 4) titles and footnotes, and 5) SAS output procedure. This routine also addresses the common problem situations: 1) Zero observations and no report output is generated, and 2) Too many observations and output is too large macro variable, macro loop, %if-%then-%else, macro definition, proc step, dataset, proc freq, sas output, macro quoting function source 8
11 A Technique for Storing and Manipulating Incomplete Dates in a Single SAS Date Value John Ingersoll date variable, sysdate9, numeric variable, raw data source 8
12 Advantages of PROC SCORE Mark Tabladillo The SCORE procedure multiplies values from two SAS data sets, one containing coefficients (for example, factor-scoring coefficients or regression coefficients) and the other containing raw data to be scored using the coefficients from the first data set. The result of this multiplication is a SAS data set containing linear combinations of the coefficients and the raw data values. Version 9 SAS/STAT extends the concept by making SCORE a statement on the LOGISTIC procedure. This short presentation outlines why this procedure has practical automated advantages over creating coefficients another way. Examples using PROC FACTOR and PROC LOGISTIC are presented proc step, proc logistic, proc factor, proc score, logistic distribution, factor analysis, regression analysis, proc reg, sample, dataset source 2
13 Am I Evil?? PROC TEMPLATE Exposed Kevin Payton Delaney As more and more people begin to use the Output Delivery System (ODS) more people also want to modify the default output it produces. To do this properly one needs to become familiar with PROC TEMPLATE. Unfortunately PROC TEMPLATE has developed a reputation for being a scary and difficult procedure. Some have even gone so far as to call him "EVIL." In this paper we will get to know PROC TEMPLATE a little better, and you will learn how to create and modify both STYLE and TABLE templates, and hopefully become more comfortable with PROC TEMPLATE. All examples were developed with SAS 8.2 on the WINPRO platform, but should be extendable to other SAS versions and operating systems. This paper assumes some knowledge of ODS and of SAS procedures typically used to produce output proc step, proc template, proc freq, proc reg, sas 9, sas output, proc print source 10
14 An Algorithm for Screening of Genes and Clusters from Microarray Experiments James E. Blum This paper presents an implementation, using the SAS System, of the "cluster scoring" method proposed by Tibshirani, Hastie, Balasubramanian, Eisen, Sherlock, Brown and Botstein (2002) for use in microarray experiments. The program is designed in a modular fashion, using SAS Macro Language, so that implementations for specific experimental cases can be added with ease. Current development accommodates two-class, multi- class, two-way factorial and quantitative response experiments. Also, the program is built with the future addition of a graphical user interface, and possible web deployment, in mind anova, sample, proc cluster, hierarchical clustering, macro facility, proc genmod, correlation, main effect, proc univariate, proc step source 4
15 An Analysis Tool for Reviewing Farm Economic Data Using SAS/AF Van Johnson The well-being of farming is of great interest to many groups. There is a great need, therefore, for accurate and timely data on farm economics. The primary source of these data is the Agricultural Resource Management Survey (ARMS), conducted by the U.S. Department of Agriculture (USDA) National Agricultural Statistics Service (NASS). To ensure that data on the farm enterprise are accurate, raw data from the survey must be reviewed and corrected if necessary before it is summarized. The complex interrelationships between factors, inherent in farm economic data, provide a challenge to this review process. This paper provides an overview of the structure and use of an Interactive Data Analysis System (IDAS) tool designed for reviewing ARMS data during and after data collection. The IDAS tool makes extensive use of graphics and numerical descriptions to depict the relationships between factors in the farm economic data sample, data science, imputation, population, outlier, proc means, data cleaning source 7
16 An Animated Guide: Proc Report: The File Behind the Scenes Russell M. Lavery PROC REPORT builds a Temporary Internal File (TIF) behind the scenes and uses that file, and a Report Data Vector (RDV), to compute new variables. Understanding the creation of the Temporary Internal File, and the flow of data through the Report Data Vector, makes programming and debugging easier. The option Output=out, on the PROC REPORT line, is the key to investigating and understanding PROC REPORT. It writes the TIF to a regular SAS file. This presentation does NOT cover formatting but will focus on: 1) The creation of the temporary internal table. 2) Relating the temporary internal table to syntax and output. 3) How PROC REPORT uses the report data vector. 4) Breaks and Rbreaks. 5) Differences among statements like: Compute before/after var Vs. Compute Before/After Vs. Compute 6) Data variables vs. Report Variables and using the automatic retain in PROC REPORT proc report, proc step, symbol table, proc means, raw data, macro variable, dataset source 10
17 An Interactive Approach to Multiple Comparison Procedures Peter P. Davis The area of multiple comparison procedures is complex and large. Many SAS procedures such as PROC GLM and PROC MULTTEST, just to name a few, are available to handle multiple inferences depending upon the data and the inference objectives. However, often in research, a quick assessment to detect differences among groups where the standard errors are known is necessary. Therefore, this paper presents a simple, interactive, multiple comparison test using %WINDOW and %DISPLAY. The user specifies N, the number of groups or treatments and ", the significance level. Then, the user is prompted N times for each group estimate and standard error. Finally, test results are available for all pairwise comparisons proc calis, macro variable, post hoc test, significance level, proc step, macro loop, macro definition, macro facility source 4
18 An Introduction to Genomics and SAS Scientific Discovery Solutions Russell D. Wolfinger The commoditization of genomics instrumentation has created a strong need for management and analysis of the resultant high volumes of complex data. This paper provides a brief description of the basic science underlying these data sources and an overview of the initial steps SAS has taken to address them in our new SAS Scientific Discovery Solutions product line. Three core SAS foundational elements--data warehousing, analytical servers, and JM--apply across the three principal foci of the central dogma of molecular biology: genetics, transcriptomics, and proteomics. The integration of these elements in a unified application provides you with unprecedented power to intelligently extract knowledge from your genomics data and make breakthrough discoveries. We highlight the technical aspects of this system using a microarray data example and then discuss several new development directions proc mixed, correlation, sample, proc step, dataset, volcano plot, data warehouse, audit trail, macro definition, normalization, main effect source 7
19 An Overview of SAS Certification and the Test Development Process Linda Althouse,
Marc Vaglio-Laurin
In 1999, SAS Institute launched the SAS Certified Professional Program. Today, there are over 3,500 SAS Certified Professionals around the world and interest in the program continues to grow. The intent of the Program has always been to provide a standardized measure to assess the knowledge and skills of SAS users. In order for this to occur, two items must be met. First, certification examinations must be valid and reliable instruments. Second, the examinations must map to credentials that meet the needs of SAS users and assess actual job roles and responsibilities within the SAS user community. This paper will describe the rigid test development process used to develop SAS certification examinations. The paper will also provide an overview of recent enhancements made to the SAS Certified Professional Program along with information on how one can begin the journey to becoming a SAS Certified Professional data warehouse, sample, sas base, sas programming source 6
20 Automated Testing and Real-time Event Management: An Enterprise Notification System Gregory S. Barnes Nelson,
Danny Grasse,
Deborah Pine
Data manipulation is a delicate activity, particularly when complex operations are performed on massive amounts of information. Accuracy of results-the forte of the SAS System-is critical for interpreting, forecasting, and decision-making. In addition, when iterative steps are required before data can be utilized, the opportunity for lost or incorrect data, including the possibility of premature processes halting, increases. As time and technology advance, the less likely we will possess prescient knowledge of myriad variables that can affect the algorithms in an enterprise- wide system. However, we can be prepared to manage problems in a timely manner. Event management is a proactive way to identify, track, and resolve these issues. This paper discusses a specific design to monitor the conditions SAS programs encounter sysrc, data validation rules source 6
21 Behind the Scenes at SAS-L F. Joseph Kelley random number generation, sample source 2
22 Bookmarks, links and it looks great printed too. Come in and see what ODS PDF can do for you Kevin Payton Delaney As part of the PRINTER family of Output Delivery System destinations the ODS PDF (Portable Document format) destination is designed to produce output formatted to best fit on a page for printing. The default style attributes for ODS PDF are adequate for many presentations, but there are also several options that can make your report more aesthetically pleasing. Examples include using the COLUMN= option to divide the output into multiple columns on a page, and the TEXT= option to insert raw text and formatting. Changes can also be made to the default ODS PRINTER style template that will modify fonts, colors and borders in the PDF document. Using this as a foundation, more advanced techniques can go beyond printed output to utilize the full functionality of the PDF destination proc step, proc print, ods pdf, proc freq, proc template, output delivery system, proc report, proc tabulate source 9
23 Building a Web Based EIS for Data Analysis Ed Confer Web based reporting has enhanced the ability of management to interface with data in a point and click architecture. In order to build an effective front-end, a structural framework design must be built on flexibility and efficiency. The data to be extracted should be stored as a collection table, to ensure that timely and accurate data can be extracted from a single source. The program should be written so that any number of parameters can be filtered in the extraction. The Web and SAS Software can deliver this reporting capability to management. Utilizing SAS Software as the data extraction tool, the user can select any number of data conditions based on reporting requirements. The data can be presented in multiple methods, such as a graph depicting data points over time, or a tabular report based on summary data. The reporting tool can be designed to provide to the user a variety of reporting capabilities and data filters proc sql, proc step source 7
24 Building Drill-Down SAS Applications Kirk Paul Lafler,
Charles E. Shipp
output delivery system, ods html, proc step, ods pdf source 4
25 Bulletproofing and Knowledge Encapsulation in Statistical Macros John K. Troxell Most SAS programmers agree that SAS macros are a wonderful tool for automating repetitive tasks. More controversial is bulletproofing (making a macro robust to incorrect parameters or data). Less commonly considered is the potential that macros offer for delivery of statistical expertise. Statistical knowledge can be built into macros with advanced rules for validating macro parameter values, implementation of good statistical practice, implementation of otherwise unavailable statistical methods, or delivery of data-driven advice and interpretation in English. Pros and cons of bulletproofing and knowledge encapsulation are discussed, and some specific techniques are presented. Many of the techniques are useful in non-statistical macros as well. Examples are drawn from macros for stepwise regression analysis and analysis of covariance regression analysis, macro put, proc step, ancova, predictor variable, proc glm, covariance, macro loop, anova, %if-%then-%else, proc genmod, autocall macro source 4
26 Charting Your Course: Charts and Graphs for IT Projects Dawn Li,
Gary M. McQuown
This paper describes the most common types of charts and graphs used for IT project management. If "a picture is worth a thousand words," then the most effective and efficient way to describe the details of an IT project is with charts and graphs. Charts and graphs allow you to present an overall view of the project and system specification and to organize your data visually to further communication among the participants of the project. Among the popular charts include Gantt charts, PERT charts for project management; Entity Relationship Diagram, Data Flowchart for system specifications; Pie charts, Bar charts and Histograms for quick visual aid for communication. We will look at each chart closely by following the lifecycle of an IT project bar chart, histogram, response variable, predictor variable source 9
27 Checking Datasets before Submitting Code Mark Tabladillo This presentation will focus on the specific two-level dataset validation used throughout the application before any code is submitted. The first level checks for dataset availability, and the second level checks for integrity within and among datasets and attributes (variables). Eight classes (based on the Strategy design pattern) use this two-level methodology. Specific examples from the SAS/AF application will be presented, but the checking methodology is of generic value to any application with submit blocks, and could be implemented using SAS Macro Language and %SYSFUNC. Extensive experience with classes or objects or design patterns is not necessary for this talk, but the presentation assumes basic knowledge of the SCL language dataset, sas base, error message, excel, macro variable source 6
28 Comparison of PROC MIXED and PROC GLM for Analysis of Repeated Measures Data Hossein N. Yarandi Repeated measures design utilizes the same subject (person, animal, plant, store, test market, etc.) for each of the treatments under study. Thus, the subject serves as a block, and the experimental units within a block may be viewed as the different occasions when a treatment is applied to the subject. A repeated measures study may involve several treatments or only a single treatment that is evaluated at different points in time. Traditionally, PROC GLM in SAS is utilized to address univariate and multivariate approaches of repeated measures analyses of variance. PROC GLM was originally written as a fixed- effects procedure that would handle models with both classification and regression variables. On the other hand, PROC MIXED procedure employs a more general covariance structure approach. In this paper, similarities and differences between the two approaches will be discussed through a numerical example proc step, proc glm, proc mixed, repeated measures, covariance, proc genmod, covariance structure, anova, correlation, response variable, compound symmetry, repeated measures anova, fixed effects, null hypothesis, partial correlation, multivariate analysis source 6
29 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 selected information from a procedure and store it in datasets. Such datasets can then be combined to summarize the results 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 information from SAS procedures when identica l or similar code is executed repeatedly on a multitude 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 blueprint 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, proc step, macro variable, call execute, do loop, confidence interval, macro loop, macro definition, macro call, out=, data step, relative risk, odds ratio, sas output, macro facility source 10
30 Create an Informative Summary from PROC T-TEST Output Jennifer K. Warner,
Marsh Affinity
When comparing two populations, or modeling binary response, PROC TTEST is a valuable tool for evaluating numeric variables and an effective technique for identifying potential model variable candidates. Once identified, the analyst can more quickly prioritize further investigation of these variables. The disadvantage to PROC TTEST is that it does not summarize all the information you need into one easy to read report. To get the whole story about a particular variable, you need to flip back and forth between three different pieces of output. When there are literally hundreds or thousands of variables to evaluate, poring through the numerous parts and pages of PROC TTEST output can be a daunting, arduous task. This paper outlines code that takes the various parts of the PROC TTEST output and summarizes all of the vital information for each variable into a SAS data set proc ttest, proc step source 3
31 Creating a Compact Columnar Output with PROC REPORT Walter R. Young In a compact columnar output, the maximum number of observations should be made to attractively fit either on the width of a single page or on the width of a minimum number of pages without losing any information. This is the neatest most heuristic way to present a data set. Various techniques using PROC REPORT will be shown to accomplish this. Everything was done in SAS/GE28.2 batch using the NO WINDOWS (NOWD) option proc report, proc step, concomitant medications source 8
32 Creating an Intranet Toolbox of Selective Oracle Metadata John Charles Gober,
Deborah Mullen,
Jana Smith
proc step, proc template, proc sql source 6
33 Dare to Compare - Tailoring PROC COMPARE Output Maria Y. Reiss proc compare, proc step, numeric variable, sysrc source 10
34 Data Acquisition Portal (DAP) Web: Web Based Data Collection Application Christina Carty,
Elizabeth R. Spence,
Norman Oals,
Linda Linzy,
Reuben Richards
In our continuing effort to provide quality services for clinical data collection, warehousing, and analysis, the Department of Veterans Affairs (VA) Cooperative Studies Program (CSP), in conjunction with SAS, is developing and beta-testing a secure web based data collection application. The Data Acquisition Portal (DAP) system utilizes relational databases that contain meta-data about questions, forms, and protocol properties for a clinical trial (study). The application is scalable as it enables the creation and management of an unlimited number of clinical trials (studies) regardless of complexity. Its interactive graphical interface is flexible, user- friendly, and offers a reusable and repeatable method for creating, storing, and managing data collected via the web. The application is divided into three models: Administrative, Study Editor, and Study Viewer clinical trial, 21 cfr part 11 source 4
35 Data Step Hieroglyphics Harry Droogendyk Have you found that most SAS DATA STEP code is quite readable? SAS statements, functions, keywords and SI supplied routines are most often given meaningful names. If the developer has been even somewhat verbose while naming DATA STEP variables, the final product can "read" quite easily. Sure it reads easy …, until you encounter the {*&%~(.:@|? spec ial characters littered throughout the code!! What in the world do those things mean? Do we really need the funny characters? This paper will examine 10 implementations of special characters, each of them specially placed in the SAS language for your coding pleasure. Special characters, properly utilized, allow you to write code more quickly, more efficiently, and, believe or not, more simply data step, macro variable, input statement, &variable, character variable, macro definition, options statement, trailing @ source 10
36 Data-driven Validation Rules: Custom Data Validation Without Custom Programming Don Hopkins One of the most expensive and time-consuming aspects of data management is the programming of validation rules to check for data values that may be incorrect. Validation rules - also known as "edit checks" - are essential for cleaning data that has been captured on paper forms (or via any method that allows invalid values to be recorded). The pharmaceutical industry, for example, relies heavily on validation rules to clean research data captured on paper forms at hospitals and clinics. There are many kinds of validation rules, including range checks, valid value checks, missing value checks, and checks for consistency between two or more variables. Implementing these kinds of checks through custom code is standard practice in many organizations, despite the high cost of creating and validating custom programs. A data-driven approach - especially one that handles multivariate consistency checks - can radically decrease the time and expense involved in creating custom validation rules data validation rules, data cleaning, proc sql, proc step, sample, where statement, macro variable, dataset, excel, sample weight, macro loop, macro definition, create table, macro facility, %if-%then-%else, sas base, unique key source 8
37 Demand for Analysis-Ready Data Sets. An Introduction to Banking and Credit Card Analytics Bikila bi Gwet credit migration, proc sql, credit card, sample, macro variable, txt, data cleaning source 10
38 Developing a Marketing Geographic Segmentation System Using SAS Software Kellie M. Poulin,
Allison N. Freeman
Today's marketers are challenged by decreasing response rates and increasing competition. In order to continue to thrive in the industry, the successful marketer must move away from traditional mass marketing and toward a one-to-one customer- based approach (Peppers and Rogers, 1997). In order to make this change, marketers must be able to find and effectively use low-cost information to improve their level of customer insight. One popular approach is to implement an intelligent marketing segmentation system. This paper presents a low-cost, efficient solution integrating publicly available data and the marketer's own customer database to create a segmentation system that will aid in identifying, locating, and reaching customers effectively. The example presented in this paper will highlight the process of creating a ZIP code segmentation system with Base SAS, SAS/STAT and the SAS Bridge for ESRI proc step, proc fastclus, factor analysis, outlier, correlation, proc factor, dataset, missing value, standard deviation, centroid, scree plot, cluster analysis, proc univariate, sample, out=, proc standard source 10
39 Developing and Deploying Java Applications Around SAS: What They Didn't Tell You in Class Jeff Wright Java is one of the most popular programming languages today. As its popularity continues to grow, SAS' investment in moving many of their interfaces to Java promises to make it even more prevalent. Today more than ever, SAS programmers can take advantage of Java applications for exploiting SAS data and analytic services. Many programmers that grew up on SAS are finding their way to learning Java, either through formal or informal channels. As with most languages, Java is not merely a language, but an entire ecosystem of tools and technologies. One of the biggest challenges in applying Java is the shift to the distributed n-tier architectures commonly employed for Java web applications. In this paper, we will focus on guiding the programmer with some knowledge of both SAS and Java, through the complex deployment steps necessary to put together a working web application dataset, proc step, data cleaning source 10
40 Dictionary Tables and Views: Essential Tools for Serious Applications Frank C. DiIorio,
Jeffrey M. Abolafia
proc sql, macro variable, dictionary tables, macro facility, proc step, create table, proc contents, character variable, proc print, sas log, select, options statement, macro definition, macro put source 10
41 Dynamic SAS Programming Techniques, or How NOT to Create Job Security Steven Beakley,
Suzanne D. McCoy
dictionary tables, macro variable, proc sql, job security, proc step source 7
42 DYNAMICALLY ASSIGNING TREPLAY STATEMENTS FOR PRODUCING MULTIPLE PLOTS PER PAGE Alice Lail,
Karen Wade
Often in clinical trials, it is of great interest to create plots of each individual subjects' data. When there numerous subjects in the study, placing more than one plot per page saves space and paper. Bu t what do you do for those subjects who have all missing data for the variable of interest? This poster presents ideas on how to handle situations in which one or more subjects may be missing all data for the given variable of interest. This poster will compare a brute force method for producing multiple plots per page and a more refined solution. The refined solution includes the use of ma cros that cycle through each subject and dynamically writes TREPLAY statements for the PROC GREPLAY needed to place multiple plots per page proc step, macro variable, proc greplay source 5
43 EFFECT_CI: A SAS Macro for Constructing Confidence Intervals Around Standardized Mean Differences Around Standardized Mean Differences In recent years, researchers in a variety of fields have increasingly recognized the importance of (a) effect size statistics to communicate the magnitudes of treatment effects, and (b) confidence intervals to communicate the extent of uncertainty in parameter estimates due to sampling error. Although confidence intervals are frequently used for simple statistics such as means and correlation coefficients, the sampling distributions of effect sizes present greater challenges for constructing accurate interval estimates. Steiger and Fouladi (1992, 1997) described an interval inversion approach that provides a method for constructing confidence intervals for a variety of complex statistics, including sample effect sizes. By transforming the sample standardized mean difference effect size ( d) into a noncentrality parameter, the noncentral t distribution is used to identify values of noncentrality for which the sample effect size is expected to occur (for example) 2.5% of the time and 97 effect size, sample, confidence interval, sample size, type i error, significance level, bootstrap, student t distribution, proc calis, correlation, inferential statistics, power analysis source 6
44 Efficient Way to Learn SAS with Virtually No Cost Mirjana Stojanovic Often people ask how, "How can I learn SAS?" This paper is intended to help answer this question by providing an extensive list of web resources that I accumulated while I was unemployed and pursuing additional SAS training. I realize that it is no t enough to just read about SAS programming. Experience with SAS software is necessary for a clear understanding of the material presented, especially the intermediate and advanced mate rial. It is essential to have access to SAS software for practice and practical experience. The SAS Learning Edition is a great resource for this purpose and it is affordable. Information on the SAS Learning Edition can be found at http://support.sas.com/rnd/le/index.html . I hope that this list will be useful to all SAS users, both new users and those who are continuing their education sas programming, sas base source 6
45 Excel Exposed: Using Dynamic Data Exchange to Extract Metadata from MS Excel Workbooks Koen Vyverman Dynamic Data Exchange (DDE) can be used on the Windows platform to create fully customized MS EXCEL and MS Word files, all from within a Base SAS program. But it also comes in handy for gathering useful metadata about your EXCEL files! When automating the reading from, or writing to an EXCEL workbook, life becomes a lot easier if you have access to certain facts a bout the workbook you're manipulating. Such as the names of the worksheets it comprises; the type of each worksheet - data, graphics, or macros; the num ber of rows and columns that are in use on each data-sheet; whether a given column contains numerical, character, or mixed type values ; and so forth. In this tutorial we will go through the necessary DDE-movem ents that allow the extraction of such EXCEL workbook metadat a. Wrapping up, a SAS macro is shown to load these metadata into a SAS data set for easy reference in the manner of a dictionary table excel, macro variable, macro definition, dataset, data step, xls, dictionary tables, filename statement, sample, proc step, missing value source 10
46 Getting What You Want Out of a Many-to-Many Merge Sonal Pathak Many-to-many data merges in any system can be very tricky and challenging, especially when dates are involved. In SAS, using the RETAIN statement, selecting the intended record using FIRST. (or LAST.), and INITIALIZING new variables can help alleviate some specific problems that often arise. When merging two datasets with multiple event dates, or records, per person in both datasets, it is difficult to ensure the subsequent many-to- many merge provides the information the coder is looking for. This can be resolved in a 3-step process. To begin with, use the RETAIN statement to identify and keep the new variables that will be used in the DATA STEP. Then, the FIRST. (or LAST.) variable can be used to select the desired record. Next, INITIALIZE the new variables that were identified in the RETAIN statement. These 3 steps will make working the many-to-many merge a little easier proc sql, retain source 5
47 Greetings from the Edge: Using javaobj in DATA Step Richard A. DeVenezia Both SAS and Java are systems with wide and deep foundations that can be used to perform sophisticated analysis and implement complex designs. Version 9 of SAS brings to us the DATA STEP Component Interface and Object Dot Syntax 1 , "providing a mechanism for instantiating and accessing predefined component objects from within a DATA STEP program." One of the predefined components is the Java Object. Javaobj is a gateway to hybrid solutions where Java does the things that SAS can't. In this paper you will be guided through several Java Object examples. The final example is "Accessing a Postgresql database from DATA STEP." proc sql, data step, dataset, macro definition source 10
48 How Regular Expressions Really Work Jack N. Shoemaker Regular expressions are a powerful and ubiquitous tool for manipulating text and data employed by many Unix editors and utilities like sed, awk, perl, vi, and emacs. This paper is divided into two parts. So the reader can begin to understand how regular expressions work in general, the first part will describe the basic parts of a regular expression: character classes, meta-characters, quantifiers, grouping, and anchoring. The second part will focus on the specific SAS implementation using a real-life example culled from a SAS-L discussion list thread. </P> variable, data step source 4
49 How to Get What You Need - Part 1 Christopher Toppe,
Independent Sector
proc genmod, if-then-else, proc step source 3
50 How to Get What You Need - Part 2 Christopher Toppe,
Independent Sector
source 3
51 How to Implement the One-Time Methodology Mark Tabladillo This tutorial will demonstrate how to implement the "One-Time Methodology", a way to manage, validate, and process survey data with a SAS/AF application. This methodology allows developers to plan an application's data sources based on two factors - whether or not the user will modify the data, and whether or not there is a "large" amount of data to store. This presentation will demonstrate an example of how to plan the data sources, and guidelines on how to integrate the resulting elements (enumerated constants, frame variables, standardized and customized SAS datasets) in a SAS/AF application. Extensive SAS/AF development experience is not required, though it will help to have had exposure to the basics of SAS/AF and SCL dataset, character variable, proc step, excel source 5
52 Identifying Person Duplicates of Short Geographic Distance by Computer Matching Thomas Mule The Census Bureau conduct ed evaluations of person duplication in Census 2000. Duplicates of short geographic distances were identified by both clerical and computer matching. The evaluations showed that for these short distance duplicates that the computer matching algorithms were not able to find all of the duplicates identified by the clerks. However, the computer matching algorithms in the previous evaluations were primarily developed to identify duplicates of longer distances. This report analyzes the potential of computer matching when the focus is on short distance duplicates. I used the Bureau's record linkage software to do the computer matching. Using SAS, I was able to compare the computer matching proc hpsplit, sample, data cleaning source 10
53 Information System for State Trauma Advisory Committee - An application of SAS/IntrNet Xiao (Michelle) Zhuang,
Sharon Schiro
The North Carolina Trauma Registry collects data from the trauma centers and hospitals in North Carolina, and generates reports for State Trauma Advisory Committee and individual hospitals. In order to provide an easy to use, efficient, and secure system, the registry now is developing the Information System for State Trauma Advisory Council (ISSAC). We have used SAS/INTRNET and base SAS to develop an online system for data collection and reporting. The Application Dispatcher component of SAS/INTRNET allows a client to run a SAS program on demand and get the results to the browser. Due to sensitivity of the data and the concern of HIPAA, development of a secure system is our highest priority. The security system includes user authentication, and a log file that records the user's identification, date and time, and page visited. This paper covers the implementation of security and data reporting sample, proc freq source 4
54 Keeping Up With the FUN: New Functions in SAS 9 Deb Cassidy This presentation will cover some of the many new DATA STEP functions found in SAS 9. Some of these functions will add new functionality. Other functions will be faster - either in the processing time or less typing. Some new functions are very similar to functions found in other languages. (Note: In the actual presentation, this was not presented in the traditional lecture format. It was done in a FUN format to fit the title.) sas 9, proc step source 7
55 Libname: Start Your Engines Janet E. Stuelpner A LIBNAME associates a library reference with a SAS data library. An engine is a part of SAS software that reads from or writes to a file. New in version 7 and greater is the ability to assign a libref to a DBMS like DB2 or Oracle. This paper will show you how to do it and explore the benefits and pitfalls of its use relational database, libname statement, dataset, proc step, proc sql, if-then-else source 2
56 Machine Reading of Warranty Claims for Classification Robert McCurdy,
Mack Trucks
A newly-developed SAS program reads the free- form text of warranty claims for specific facts to better identify part failure causes, reducing the need for a person to read the claims. Parsing the text is challenging because there is no standard writing style. For example, a typical claim could read "inspected cam," "cam shaft inspected," "install new cam," or it could appear in other more complex forms. This program was developed (1) to determine whether the part was replaced; (2) to identify part failures due to an inherent weakness of the part; (3) to classify specific failure causes such as, "broken in half" or "lobe worn"; and (4) to flag ambiguous claims for human review. The program recognizes verb key words (replace, R&R, install, renewed); object key words (cam, camshaft, cam shaft); as well as noun key words (cam, camshaft, lobe); and adjective key words (bad, damage, worn), and matches them. Then an internal score card determines various classifications index, sas base source 3
57 Macros - Basic Destiny Corporation (a company) macro variable, automatic macro variable, symbol table, macro definition, macro parameter, %macro parameters, put statement, macro put, macro quoting function, proc step, title statement, keyword parameter, missing value, macro facility, proc print, macro call, options statement 14
58 Macros - Intermediate Destiny Corporation (a company) macro variable, symbol table, call symput, local symbol table, data step, global symbol table, put statement, macro put, character variable, sas log, work library, macro definition 13
59 MACROS: Tips, Techniques, and Examples Andrew M. Traldi Most SAS users are aware that SAS has a macro facility but might be unsure of how they can use it or are fearful that macros are too difficult. Although macros can be complex, they can be very helpful in writing general-purpose SAS programs; in some instances, they are absolutely critical to an application macro variable, macro put, proc step, proc print, macro call, cpu time, macro definition, data step, keyword parameter, macro parameter, %macro parameters, macro loop, macro facility, proc sql, %if-%then-%else source 10
60 Management of CABG Patient Mortality Using SAS Logistic Regression by Cohorts: Age, Sex and Cleveland Clinic defined risk factors Five years of data and analysis compressed onto a 3 X 5 pocket guide Lucinda Jenkins,
Bing Li,
Mike Mueller,
Steve Hadzima
In this environment of dwindling healthcare reimbursement dollars and heightened focus on quality, it is important to optimize outcomes as well as other quality indicators, particularly in your most profitable product line(s). Coronary Artery Bypass Graft (CABG), which is an open- heart procedure, is just that at Christian Hospital NE, part of the BJC Healthcare System in St. Louis. We needed a quick and easy way to assist our cardiovascular surgeons in assessing a patient's mortality risk for this procedure at presentation logistic distribution, logistic regression, regression analysis, goodness of fit, odds ratio, sample source 7
61 Merge Processing and Alternate Table Lookup Techniques Destiny Corporation (a company) proc sql, macro variable, array, data step, pdv, proc step, lookup, dataset, by group processing, modify statement, proc format, char., key=, master data management, data merging, user-defined format, character variable, format statement 7
62 METAPERM: A SAS Macro for Permutation Tests of Linear Models in Meta-analysis Jeffrey D. Kromrey,
Kristine Y. Hogarty
With the growing popularity of meta-analytic techniques to analyze and synthesize results across sets of empirical studies, has come concern about the sensitivity of traditional tests in meta-analysis to violations of assumptions. Such violations are particularly distressing because the tenability of such assumptions in primary studies is often impossible to evaluate. Permutation tests for linear models may provide a robust alternative to more traditional tests. A variety of permutation strategies for linear models have been proposed in the literature, and recent research (Kromrey & Hogarty, 2002; Hogarty & Kromrey, 2003) suggests that such approaches provide superior Type I error control when assumptions of normality and homogeneity of variance are violated effect size, regression analysis, permutation test, sample, correlation, partial correlation, sample size, type i error, type i error control, dataset, null hypothesis, weighted least squares, permutation, macro definition source 6
63 Methods of Dealing with Values Below the Limit of Detection using SAS Carry W. Croghan,
Peter P. Egeghy
Due to limitations of chemical analysis procedures, small concentrations cannot be precisely measured. These concentrations are said to be below the limit of detection (LOD). In statistical analyses, these values are often censored and substituted with a constant value, such as half the LOD, the LOD divided by the square root of 2, or zero. These methods for handling below-detection values results in two distributions, a uniform distribution for those values below the LOD, and the true distribution. As a result, this can produce questionable descriptive statistics depending upon the percentage of values below the LOD. An alternative method uses the characteristics of the distribution of the values above the LOD to estimate the values below the LOD. This can be done with an extrapolation technique or maximum likelihood estimation. An example program using the same data is presented calculating the mean, standard deviation, t-test, and relative difference in the means for various standard deviation, maximum likelihood estimation, likelihood function, sample, normal distribution, regression analysis, censoring, probability distribution, data science, proc step source 5
64 Missing Data Values: Analyzing their Effects on Rainfall Forecasts Using PROC EXPAND and the SAS Time-Series Forecasting System Richard A. March Missing values are a common problem faced in the analysis of time-series data. Many SAS time-series procedures (PROC ARIMA, PROC VARMAX, etc.) are intolerant of missing values, particularly when these missing values are embedded in the time-series, rather than occurring at the beginning or end of the series. PROC EXPAND is designed to convert time series from one sampling interval or frequency to another and to interpolate missing values in the time series Daily rainfall data from the National Climatic Data Center (http://www.ncdc.noaa.gov/oa/ncdc.html) and the DBHYDRO database of the South Florida Water Management District (http://sonar.sfwmd.gov:7777/pls/dbhydro_pro_plsql/sh ow_dbkey_info.main_page) contain rainfall (and other) data with irregular patterns of missing values. This rainfall data has a marked seasonal pattern, with less prominent trend and cyclical components missing value, proc step, imputation, time series analysis, missing at random, proc freq, multiple imputation, neural network, seasonality source 4
65 Multithreading Applications in Version 9.1 Destiny Corporation (a company) proc step, libname statement 2
66 Musical Macros: A Soothing Solution for a Recurrent Data Step Headache Philip J. d'Almada The problem was to vertically concatenate an excessive number of data sets/tables, each with a varying number of sequentially named variables/columns that were to be horizontally concatenated into one variable/column in a final concatenated data set/table. The macro facility of The SAS System was the tool of choice. Through SAS macro processing, the number of SAS statements in the source code was drastically reduced. SAS macro processing also allowed the elimination of repetitive portions of SAS code that would normally appear in t he SAS log. The user was rewarded with a shortened SAS macro program that has a single rather than recurrent DATA STEP, the component statements of which are visually symbolic of a type of musical scale. Further, the user is mentally and visually relieved of the task of perusing a very lengthy SAS log character variable, macro variable, dataset, macro definition, macro function, &variable, raw data, %if-%then-%else, macro loop source 3
67 New Technologies for Delivering Data to Internal and External Clients Sigurd W. Hermansen Back in the Big Iron era, programmers captured, stored, and delivered data in the same form. Files were all we knew. Now we have visual representations: Web data entry forms, MDBB's, Web page browsers, and electronic codebooks. What we consider the same 'data' have different shapes and struc tures in container objects than in an RDBMS or in an XML stream. So, how do we get from forms to data? How do we serve data to internal or external clients? To explore these questions we trace a set of data from capture to database to delivery. Blaise, Oracle Clinical, Web server pages, and SAS FS/AF/SCL forms illustrate alternative DE programs. 'Flat files', 'drill downs', RDBMS schema, and tagged fields in data streams serve as examples of data products. We will illustrate methods that preserve essential data as they pass through a series of transformations via several scenarios data standard, relational database source 5
68 Passing Along SAS Data - SET, MERGE, and UPDATE Andrew T. Kuligowski Once a SAS dataset is created, the user will often want to modify it or combine it with other datasets. This presentation will cover three basic commands that can be employed to use, reuse, and combine existing SAS datasets: SET, MERGE, and UPDATE. The following topics will be covered in this presentation: The LIBNAME statement - permanently storing your SAS dataset. The SET statement - reusing a SAS dataset. The MERGE statement - bringing two SAS datasets together. The BY statement - controlling the order of integration. * The UPDATE statement - changing an existing SAS dataset. The goal of this presentation is to provide the attendee with the background necessary to permanently catalog and reuse their SAS data. LIBNAME Statement All SAS datasets are stored in SAS Data Libraries. In fact, the standard spec ification for a SAS dataset contains two levels - the SAS Data Library name, and the individual SAS dataset name, separated by a period, or "dot" if you prefer dataset, libname statement source 9
69 Pivoting Data. An Alternative to ACROSS Variables of the REPORT Procedure Bikila bi Gwet proc report, class variable, macro put, macro facility, macro variable source 10
70 PROC MIGRATE: How to Migrate Your Data and Know You've Done It Right! Diane Olson,
David Wiehle
Migrating your data to a new version of SAS presents challenges; depending on the attributes of your data libraries, your migration can be relatively simple or complex. Some issues to consider when adopting SAS 9 include the version of SAS in which your data currently resides, what member types exist in your libraries and whether you must move members from 32- bit libraries to 64-bit libraries. To address these issues, Version 9.1 includes a new utility procedure, PROC MIGRATE. PROC MIGRATE streamlines the process of moving libraries forward to a new release. This paper introduces PROC MIGRATE and discusses pitfalls of migrating with the traditional methods - PROC COPY, PROC CPORT/PROC CIMPORT and PROC CATALOG. Base SAS also provides tools that can help you guarantee the content and attributes of your data after conversion. We discuss how PROC DATASETS, PROC CONTENTS and PROC COMPARE were used in Validation Tools to validate the integrity of your data proc step, data cleaning, audit trail, proc compare, constraint, sas 9, sas output, proc contents, sas log, proc sql, sample, libname statement, ods output, output delivery system, sas library, macro definition, proc sort, data integrity, dataset source 11
71 PROC SQL: Why Use It When Simple IF/THEN Statements Work? Susan Myers,
Inga Allred
Efficiency is an important concern for computer programs that undertake large tasks, especially when the programs are used many times. We compare two methods for updating values in a large database. The first method uses standard SAS "datastepping" with IF statements. The second proc sql, proc step, call symput, macro definition source 4
72 Processing Large Lists of Parameters and Variables with SAS Arrays and Macro Language Eugene Tsykalov Use of SAS arrays and Macro language is demonstrated to automatically handle large lists of variables and parameters in normalized (vertical) datasets without using the names of the variables (parameters) again and again. Practical examples include manual transpose of normalized datasets and validation of Laboratory parameters in a clinical trial data macro variable, conditional do loop, array source 3
73 Programming for Failure: When Programs Faw Down and Go Boom Gary E. Schlegelmilch Programs fail. Despite the best efforts of the best programmers, a non-working combination of data, software, and processing is invariably going to happen - and the program is not going to run. Typical result is a sometimes instantaneous, sometimes arduous effort to find where the program has failed - and fixing it. This paper attempts to cover two major topics: (1) a few ideas for finding the elusive bug, and (2) planning and structuring a SAS program so that perhaps a few less of them happen macro definition, %if-%then-%else, if-then-else, macro variable source 8
74 Pruning the SASLOG - Digging into the Roots of NOTEs, WARNINGs, and ERRORs Andrew T. Kuligowski You've sat through constant design meetings. You've endured countless requests for "just one more little change". You even managed to find a creative solution to that nagging technical problem. But, you persevered, and despite all of the obstacles, you've managed to eliminate the final syntax error in your newest SAS routine. Time to sit back and relax -- uh, not quite ... The primary focus of this presentation will be on techniques to ensure comprehension of your input data. We will look at several messages that are often found in the SASLOG, such as: NOTE: MERGE statement has more than one data set with repeats of BY values. that imply that there may be gaps in your knowledge of your data! Special emphasis will be placed on the use of ad-hoc queries to assist in finding data anomalies that can cause problems with your SAS code input statement, numeric variable, proc step, merge statement, out=, index, data cleaning, infile statement, proc means, dataset, e., sample, put statement source 10
75 Reading and Writing Data from Microsoft Excel/Word Using DDE Dana Rafiee excel, data step, dataset 6
76 SAS Consultants: A Sheep in Wolf's Clothing Gary M. McQuown Thinking of hanging out your shingle and going it alone? Look before you leap and make sure you know both the risks as well as the rewards of being a SAS Consultant. Although employees and consultants may write identical code; their behavior, responsibilities, risks and rewards can be very different. This article will explore the fundamental differences between SAS Consultants (independent contractors or 1099's) and SAS Programmers (employees or W2's), and address the most common questions dealing with self employment and the transition process. Disclaimer: The following information is general in nature and intended for informational purposes only. It is not to be construed in any way as tax or legal advice. You should consult with a trained professional familiar with the laws and regulations of your area for specific advice. A Sheep in Wolf's Clothing Working as a SAS Consultant carries certain risks as well as rewards source 8
77 SAS Dating Tips - A Beginner's Guide to SAS Dates Erik S. Larsen Do you want to be the life of the party at SESUG 2003? Being proficient at using SAS dates and times may not make you instantly popular, but it will make your programs work better and allow you to use the power of SAS dates to manipulate data and make your reports and graphs look more professional. We will explore the basics of how SAS stores dates and times internally and how you can use them to calculate values in terms of days, weeks and years. Finally we will explore some date functions and formats to make your reports look so good you will never want to look at a Microsoft EXCEL spreadsheet again. First off, let's get down to basics. How are dates stored in SAS? Generally speaking, SAS has two types of variables it stores in its data sets: numeric and character sysdate9, date variable source 2
78 SAS Formats: Uses and Abuses Carry W. Croghan SAS formats are a very powerful tool. They allow you to display the data in a more readable manner without modifying it. Formats can also be used to group data into categories for use in various procedures like PROC FREQ, PROC TTEST, and PROC MEANS (as a class variable). As with many powerful tools, there are some 'gotchas' to be aware of. Formats can crash a program without specific options. They can produce misleading information; this is especially true for picture format. There are many aspects of formats to consider, including 'built-in' or 'user defined' formats. A format may be temporary or permanent. The PUT and INPUT functions can be used to generate new variables using formats. If you have several format libraries, managing the formats can be difficult. The SAS dictionary tables are useful in managing the different formats. Code and output examples demonstrate the various uses and potential abuses of SAS formats proc step, proc format, input statement, character variable, format statement, numeric variable, proc freq, sysdate9 source 6
79 SAS in the Office - IT Works Peter W. Eberhardt The Microsoft Office suite is ubiquitous in most large organisations these days. And regardless of how and where the enterprise intelligence computing goes on, the suite of Office products needs to be able integrate with this enterprise intelligence. With the release of SAS Integration Technologies the unrivalled analytical and business intelligence capabilities of SAS can now be delivered to the desktop using the Microsoft Office suite. This paper will introduce some components of SAS Integration Technologies, and then show how to use these components to integrate SAS into Microsoft Office Products without the need for SAS on the user's computer. This paper is geared for any SAS programmer who has a good grasp of VBA. There are few SAS programmers and/or analysts who have not heard the refrain 'Can I have that in an EXCEL spreadsheet?'. And, once provided, the additional and inevitable refrain 'Can you run it again with this one change?' excel, ods html source 7
80 SAS Macros are the Cure for Quality Control Pains Gary M. McQuown Quality control should be an important part of all projects. Even though we all know "Garbage In .. Garbage Out"; Quality Control is almost always under appreciated, often under funded and occasionally even overlooked. Macros are the ideal tool for automating these essential but tedious tasks, saving both time and money, and promoting the task so that it gets the attention it deservers. This presentation will cover macros designed to detect and report on data quality errors and will hopefully be useful to anyone interested in the topic quality control, data controls, macro definition, outlier, sample, data cleaning source 6
81 SAS System on Network Appliance Darrell Suggs The goal of this paper is to help customers maximize SAS application performance while reaping the benefits of network attached storage. Specifically, this is a guide for performance tuning in an enterprise class environment containing the SAS application and using a Network Appliance NAS (network attached storage) subsystem (aka Filer). The recommendations include configuration and parameter changes to the SAS environment, the platform specific Unix operating system, NFS (Network File System) client, and the NetApp Filer subsystem. This version of the paper covers only Solaris and HP-UXchanges. A complete set of tuning recommendations for other operating systems is contained in the full version of this paper located on both SAS's and Network Appliance's company web pages dataset, memory usage, proc sort source 6
82 SAS To EXCEL: An Integrated Reporting System Fran Cohen Often we need to pr oduce reports from a set of data. Frequently the set of reports gets expanded upon or the programmer is asked to modify the reports already written. Instead of writing new SAS programs for each request, the programmer can use this approach to efficiently and more easily create camera-ready output. This paper describes an integrated approach to creating formatted Microsoft EXCEL reports from SAS data. A driver program builds all possible combinations of specified analysis variables for a set of reporting variables. Individual report programs read in pre- formatted EXCEL templates specifying the variables to be written on each report and write the EXCEL reports. Commands to open, close, write to an EXCEL file, and save as output EXCEL files are given in SAS via DDE. Since all the processing is done at the front end, only minor changes are needed to modify and add reports excel, class variable, proc step, macro variable source 5
83 SAS/IntrNet and Census Mapping: How Low Would You Like to Get? Lakshmi Pandey,
William Joseph Smith,
David Sjoquist
This paper details the steps involved with using SAS procedures and program components to create a web- enabled Geographic Information System. With the increased availability of geographic data via the Internet, data managers are put into a position of trying to make the available data user-friendlier. Access to data now entails more than physically obtaining columns of numbers. It means presenting the data in an understandable way to individuals with little or no technical knowledge. This paper shows how an intermediate SAS user, utilizing features integrated in to the base SAS System can easily produce maps of geographic data, and with the addition of ODS (Outpu t Delivery Services) can cr eate live and interactive reports on the web that can be used by individuals without any knowledge of SAS, HTML or any other markup or programming language proc step, proc gmap, macro variable, data step source 10
84 SD17 Preparing Data Using PROC SQL and SAS Macro for Paired Sample Comparison on Intervention Study Wei Zhao Intervention study is one of the study methodologies in epidemiology research. Appropriate data management and statistical analysis play an important role when evaluating the efficacy of an intervention and converting data into valuable information. SAS is the most powerful data management and statistical analysis tool to better serve this need. This paper demonstrates an example of preparing a SAS data set using PROC SQL and SAS macro for a paired sample comparison on an intervention study to test the changes before and after intervention. The study used the same questionnaire to assess HIV patient risk behaviors for HIV infection before and after a risk reduction intervention. The statistical analysis plan entailed a paired sample proportion comparison using the McNemar test for binary variables and paired sample t test for numeric variables which requires two point data to be one to one match merged. Therefore, all the variable names on one of the data points had to be renamed macro definition, proc sql, proc step, data science, sample, macro variable, dataset, macro facility source 4
85 So You Want To Write A Paper? That Paper About Writing A Paper Dianne Louise Rhodes You just attended your first user's group conference, and you come out of one really good session thinking, "Hey, I could write a paper like that about My Project!" That's what happened to me after I attended my first NESUG in 1996. And it has happened to others, just recently, in fact, a colleague asked me where he could find "That Paper about Writing a Paper." We couldn't find anything providing specific guidelines on how to approach the process. This paper will introduce the paper writing process: choosing a topic, researching it, developing an outline, and actually writing the paper. I'll also walk through developing a presentation from an outline created in PowerPoint. That's the best way I've found to ensure that the presentation and paper are in sync. I'll go over tips on making an effective presentation. Finally, in the reference section I'll provide other resources for writing good papers and giving good presentations source 4
86 Special Education Practice and Policy: What Principals Know and Need to Know Wendy B. Dickinson,
Tanice Knopp,
Janice Fauske
The changing demographics of public schools across the nation have channeled attention and resources toward meeting the needs of a student population that is diverse in many ways. Students categorized as having special needs have captured much political attention, resulting in increased expectations for both the schools and school leaders (principals). Federal law requires the 'inclusion' of special education students into the classroom as educationally appropriate. The purpose of this study was to examine the special education knowledge base (with regard to inclusionary practice and policy) in four Florida school districts. Sampling consisted of all Principals currently serving in 4 school districts, providing for a census sample survey (N= 121). A written survey instrument was constructed, consisting of 41 Likert-type items with a four- point response scale ranging from strongly disagree to strongly agree. A mid-scale (neutral) position was not included proc step, data science, proc gplot, proc greplay source 7
87 SPREADING THE NEWS: USING SYSTEM OPTIONS Deb Cassidy Have you ever wanted to send out a message to all SAS programmers at your site? Then the NEWS system option may fit your needs. Using this system option, you can have your news written to the SAS log at the start of a SAS session. This paper will briefly cover how to specify system options using NEWS as an example. You will also learn where to find out more information about the many, many options that are available options statement, proc options source 2
88 Statistical Analysis of Genotype X Environment Interaction in Agricultural Research K. Bondari In agricultural experimentation, a large number of genotypes are normally tested over a wide range of environments (locations, years, growing seasons, etc.) and the underlying statistical and genetical theories used to model this system may be rather complicated. The occurrence of the genotype (G) X environment (E) interaction effect further complicates the selection of superior genotypes for a target population of environments. In the absence of G X E interaction, the superior genotype in one environment may be regarded as the superior genotype in all, whereas the presence of the G X E interaction confirms particular genotypes being superior in particular environments. A variety of statistical procedures are available to analyze the regression analysis, anova, proc mixed, proc step, interaction effect, main effect, proc princomp, restricted maximum likelihood source 6
89 Sublime Secrets of the SAS SQLheads Sigurd W. Hermansen A clever application of pure science with a hint of magic, SAS SQL reduces solutions to many complex database programming problems to a few well-chosen phrases. In this look behind the scenes we go beyond the usual demonstrations of how SELECT and JOIN queries work and reveal the sublime secrets of SAS SQLheads. Did you know that true SQLheads organize datasets ahead of time to make SQL queries look simpler and more effective than SAS DATA STEP programs? Or that, under the right circumstances, SQL solutions rely on nothing more than grade school math? Shocking, yes, but it does not end there. SQLheads communicate with many different database systems using the ANSI SQL language. Find out why SAS DATA STEP experts are defecting to the SQLheads at an alarmingly high rate. Examples of SAS SQL in action show methods for identifying duplicate records, data filtering, linking SAS datasets on partial and inexact keys, data summaries, querying SAS metadata, and testing efficiency of queries proc sql, group by, connection string, sql server, structured data, missing value, dataset, create view, inner join, relational database, proc step, data step, create table, macro definition source 6
90 Table Lookup By Direct Addressing: From V8 To V9 Paul M. Dorfman Table lookup is one of the most, if not the most, important and frequently performed data processing operations. The SAS System supports this assertion with a roster of built-in searching techniques, such as merges, joins, formats, indexes, and search-specific operators and functions. It is therefore all the more surprising that until the advent of Version 9 the fastest, i.e. direct-addressing searching algorithms, such as hashing and bitmapping, have not been available in a built-in form. This gap has been partially covered by SAS programmers crazy enough to hand-code their own hash-based schemes using the power of the SAS Language. In Version 9, however, the situation has finally changed. Not only has it made direct addressing available in the form of a built-in hash table (associative array) object, which can be searched much faster than any other SAS lookup structure, but with it, Version 9 has also introduced the first truly run- time dynamic, memory-resident DATA STEP structure hash table, key, sample, composite key, character variable, hash iterator, memory usage, lookup, data step, conditional do loop, length statement, data wrangling, proc sql source 13
91 Tedious Template Made Easy Cindy Stroupe In the age of electronic submissions to the FDA, standardizing the look of the output across multiple ODS destinations has become more of a challenge. SAS has given us a method of customizing our electronic output through the TEMPLATE procedure. This procedure allows the customization of all aspects of the report from column headers to the font size of the footnotes. However, when producing many files for the same document, creating a template for each file can be a tedious process. The creation of a macro that calls in header and footnote information, sets a standard style across all columns, and outputs a similar looking file regardless of the output destination is an easy and innovative way to avoid the tedium. In this paper, an overview of the TEMPLATE procedure, with style options for customizing your output will be presented. Additionally, a macro for using your template for all files whether you have 1 column or 10 columns will be discussed macro variable, proc template, proc step source 3
92 Ten Things I Wish I Knew Before I Became an Independent SAS Software Consultant Andrew H. Karp calendar year, data mart source 8
93 The Dataset Attribute Family of Classes Mark Tabladillo This presentation will specifically present the dataset attribute family, an abstract parent and its twenty-five children. This family of classes provides information on and from SAS datasets, and the structure is based on the Analysis Matrix design pattern (Shalloway and Trott, 2002). The structure is of generic utility for any application which accesses SAS datasets. Extensive experience with classes or objects or design patterns (Gamma, et. al., 1995) is not necessary for this talk, but the presentation assumes knowledge of how to code a class and instantiate an object with SCL. The core techniques apply to any operating system and any object-oriented language dataset, where statement, numeric variable, class variable, proc step source 6
94 The Evolution of a Macro Converting your SAS files to a Different Version John Charles Gober,
Deborah Mullen,
Jana Smith
proc copy, proc step source 2
95 The Revised NTP TDMS System Gabriel Cano,
Kevin McGowan,
Jean G. Orelien
The Toxicology Data Management System (TDMS) for the National Toxicology Program (NTP) is sponsored by National Institute of Environmental Health Sciences (NIEHS). This is a reporting system that is used to analyze the toxicity of chemical agents by performing long-term and short-term studies of their effects on rats and mice. The current system has been in existence for approximately 20 years. Originally, this was a batch reporting system. In the past 2 years the system has developed into a web reporting system. Formerly this system was a multi- generational development of various programming languages and applications, including SAS. Its revision has long been needed. This system has been revised to use current technologies. The statistical reporting compunent for this system was implemented on a Linux operating system using SAS. An Oracle database was used to access data and store the final report from SAS oracle, proc sql, proc step, data step source 6
96 The Utter Simplicity and PPoowweerr of the TABULATE Procedure Daniel E. Bruns proc step, proc tabulate, proc freq, label statement source 7
97 Too Many Choices! The IMPORTANCE of Rank-Ordering Independent Variables Prior to Exploratory Data Analysis Gregg Weldon predictor variable, response variable, missing value, exploratory data analysis, data science, correlation, proc step source 5
98 Track Your SAS Jobs with Tracker Philip James Busby Tracker is a little SAS subsystem you can stick into programs you want to track. It writes an observation for the start of the job, and another when the job ends, so you can see the results of all of the jobs you care about sas enterprise guide, macro variable source 3
99 Tricks of A Truly Lazy SAS Programmer Christopher Toppe,
Independent Sector
proc step, proc sql, proc print, sample, out=, macro variable, proc means source 9
100 UltraEdit - The Editor for SAS Programming Eugene Tsykalov The use and features of UltraEdit, a powerful and practical Program Editor application, are described for creating, editing and saving SAS program code when working on the PC and remote servers. UltraEdit is a Windows application, which runs on a PC and has a familiar and user-friendly interface. It has common for-Windows-editors features like text highlighting with the mouse and shift-arrow keys; same commands for copy, paste, cut; etc. What makes UltraEdit unique is its ability to work with files on any remote server transparently for users, as if you are working with files on your local hard drive. Using a built-in FTP engine, UltraEdit allows programmers to easily open/save/reload files residing on any PC-based or mainframe server and in any operating system (Unix, VMS, Windows NT, etc.). While some other editors (MultiEdit, SlickEdit) provide similar FTP features, UltraEdit has by far the most convenient, intuitive and complete implementation of remote work with files sas programmer, sas programming source 6
101 Using an Array as an If-Switch Nazik Elgaddal,
Edward Heaton
Do you sometimes find yourself using nested IF statements or nested SELECT blocks? Does the code become more difficult to develop, read, or maintain as the nesting gets deeper? Multi-dimensional arrays can replace that code with an array declaration and a simple assignment statement. Have you ever used multi-dimensional arrays? They really can make your work more elegant. This paper will explore the nature of multi-dimensional arrays as it develops what Ian Whitlock calls an array implementation of a master IF-switch. SAS allows 28 dimensions to its arrays. We doubt you would ever need that many dimensions; and your computer probably doesn't ha ve the memory to process such an array. We recen tly suggested to a fellow SAS programmer that there was probably never a reason to use an array of more than three dimensions. Less than an hour later, we developed a job that used a four- dimensional array! It accomplished, in 59 lines of easy code, a task that used 289 lines of SELECT blocks cpu time, array, if-then-else, variable list source 9
102 Using DDE and SAS/Macro for Automated Excel Report Consolidation and Generation Mengxi Li,
Sandra J. Archer,
Russell E. Denslow
Each week, the Sodexho Cam pus Services finance team receives 80 EXCEL files containing weekly financial reports from its operating units via email. System commands are used to read the names of the files and generate macro calls. Since the files are all in the same layout, DDE (Dynamic Data Exchange) is used to pull the data from each EXCEL file into SAS data sets. Base SAS code is used to consolidate the data. DDE is used again to output the consolidated data into standard EXCEL templates for reporting purposes. SAS code autom atically distributes the reports via Outlook. This paper describes the process, including some example code. SAS version 8 is used, along with EXCEL and Outlook 2000 in a Windows 2000 operating system excel, dataset, macro call, put statement, macro variable, txt, data step, infile statement, macro definition source 6
103 Using SAS and Other Tools to Move an Institutional Research (IR) Office from Hardcopy Reporting to a Web-Based Environment Sabrina Andrews At a minimum, university constituents want timely and accurate data. The focus now is the demand for user-friendly reporting. More specifically, in today's fast-paced, technology-enhanced world, users want a friendly, web-reporting environment. As these demands increase, it presents challenges for the IR office. At the University of Central Florida (UCF), a major metropolitan university, we are meeting some of these challenges by converting legacy-based reports into dynamic and interactive Web applications using SAS tools, specifically SAS/INTRNET , and other desktop applications. We will demonstrate two applications: * The Enrollment Profile uses SAS/INTRNET, Base SAS, SAS/GRAPH, SAS/MACRO Language, HTML, JavaScript, and Microsoft Access to provide the university community with current and historical student enrollment headcount information excel, dataset source 10
104 Using SAS and Other XML Tools Effectively Scott E. Chapal SAS programmers who have XML processing needs, face a bewildering array of tools and standards to consider. The XML tools in SAS include ODS MARKUP , PROC TEMPLATE, and the LIBNAME XML engine with XMLMap. However, particular applications might be enhanced by the use of other tools and approaches also. There are many other technologies available for XML document modeling, processing and presentation. This paper attempts to sort through some of the standards-based XML tools to provide a view from a SAS-centric perspective. The utility of these XML supporting technologies will be considered in relation to the functionality of the SAS XML tools. Emphasis will focus on Java-based examples proc step, proc template, output delivery system source 10
105 Using SAS Macro Language to Develop User-Written Functions Deb Pine SAS Macro Language is a powerful tool that can be used to write macros that work very similar to SAS functions for the most common repetitive tasks. For example, a macro can be written that works just like a SAS function to return a value from a key in a lookup table. This approach to development paves the way for code reusability, an internal toolbox, and code standardization macro facility, macro definition, lookup source 2
106 Using SAS system in very limited time/resource environment Milorad Stojanovic The paper will describe and comment on the use of the SAS system with significant constraints from two sides. First, a relatively short time was available for processing a relatively large amount of data. Second, the hardware was moderate both in speed and in capacity. The program used moderately complex macros, data _NULL_ steps, POINT data set option, and array processing. SAS data steps and PROC SORT were used for generating reports only. Processing in memory allowed the data to be handled quickly in comparison with the usual method of sorting and merging txt, dataset, proc step, array, macro variable, data step source 2
107 Using the SAS System to Construct n-Values Plots Peter S. Wludyka Often a statistical test is performed in which the observed outcome favors the alternative but the evidence in favor of the alternative is not statistically significant. Suppose that, for example, a researcher tests the hypothesis that the mean is 10 versus the alternative is less than 10 using a z-test. Suppose further that based on a sample of size 8, the p-value is 0.078 (hence the null hypothesis is not rejected with level of significance 0.05 ). Given the observed mean (X-bar) how large would the sample have to have been in order for the hypothesis to be rejected? An n-values plot can be used to answer this question. This plot has vertical axis n (sample sizes) and horizontal axis alpha (level of significance). Points forming an n-values line containing combinations of (alpha, n) with the minimum n required to rejected at alpha are plotted. A horizontal line at n =8 in this example would be plotted (the n-values line will intersect the n = 8 line at alpha = 0.078 sample, sample size, null hypothesis, macro definition, anova, standard deviation source 9
108 Version 9 ODS - Basics Destiny Corporation (a company) ods html, proc step, output delivery system, sas output 12
109 Version 9 ODS - Intermediate Destiny Corporation (a company) proc template, proc step, sas log 14
110 What is Missing in SAS? Imelda C. Go Dealing with missing values is an essential part of data processing and analysis. There are currently a total of 28 ways to represent a numeric missing value. The paper discusses how missing values affect input, output, and processing. Topics include the sort order of numeric missing values, the DATA STEP's MISSING statement, the INFILE statement's MISSOVER option, reading delimited missing data correctly, the MISSING= system option, BY-group processing with missing values, how procedures treat missing values, the propagation of missing values, and single imputation. Dealing with missing data is an inevitable fact of data processing and analysis. A missing value in SAS means there is no data value. There are 28 different ways to represent a numeric missing value. There are also many ways to represent a character missing value. A character missing value is a blank enclosed in quotes missing value, proc step, proc freq, infile statement, proc print, imputation, sample, standard deviation, by group processing, list input, proc sort, regression analysis source 5
111 Working with SAS Date and Time Functions Andrew H. Karp sysdate9, datetime variable, date variable, datepart, time variable, datetime, raw data, dataset, subsetting if, time series analysis, proc freq, input statement, numeric variable, sas programming, sas 9, time source 9

Back to Conf go 2004 go 2002

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.