HOME QUICK SEARCH AUTHORS KEYWORDS HELP BUGS

SUGI 2001 Papers - Index

254 papers. Source: SAS Users Group International conference proceedings.

# Title
×
Authors
×
Abstract
×
Keywords
×
Extras Pages
1 "Just the Facts Ma'am "Meets "Is It Safe?" David H. Johnson As larger data sets are processed into Data Warehouses, the time to build and analyse the data is increased. The information provided by the data is needed earlier so decisions can be made speedily to respond to issues or react to market forces. The faster delivery times means load processes are tuned for speed, and interventions in the process are removed. But the long run times also mean rework time can impact business delivery sas log, sas analyst source 5
2 %ToC: A Macro for Generating Table of Contents from SAS Output Hong Chen In studies where a detailed display of data is required, such as in pharmaceutical research or clinical trial studies, reports will usually contain many statistical summary tables and data listings. Naturally, a table of contents is expected to accompany these tables and listings for easy reference. This was traditionally done either by typing/copying the titles and manually assigning the page number, or by embedding table of contents codes in a word processing package and then executing a built-in procedure within the package. However, both these methods are time consuming and error prone. To avoid this labor-intensive process a SAS macro, utilizing the SAS DATA STEP and REPORT procedure, was developed to automate the generation of a table of contents from SAS output and executed totally within SAS sas output, clinical trial source 4
3 50 Ways To Merge Your Data - Installment 1 Kristie L. Schuster,
Lori L. Sipe
When you need to join together two datasets, how do you go about it? Do you use your tried and true methods or do you evaluate multiple methods and determine which is going to be the most efficient for your application? The following paper compares four different ways to merge together two different datasets and compares the system resources used for each cpu time, elapsed time, proc sql, proc step, merge statement, proc sort, order by, proc format source 5
4 A Basic Mathematical Explanation of SAS/QC and PROC SHEWHART James F. Edgington standard deviation, type i error source 3
5 A Beginner's Tour of a Project using SAS Macros Led by SAS-L's Macro Maven Ronald J. Fehd SAS Macros and the SASMacro Language are simple yet powerful tools. Once you understand how to use and write macros, your next task is to understand how to you use them consistently and more importantly, intelligently, from a programmer's point of view. This tutorial presents the basics of project design with an macro variable, proc step, data dictionary, macro conditional, proc freq, macro definition, macro put, sample, macro loop, output delivery system, macro facility source 9
6 A Case Study in Data Warehousing and Data Mining Using the SAS System Mary K. Tucker Since January 1999, Royal & SunAlliance Insurance Company's MIS (Management Information Systems) unit has been concentrating on the formal process of data warehousing after being in the business of informal data warehousing since the department's inception. As a unit, they possess an enormous amount of business and systems logic knowledge, regularly accessing, transforming, summarizing and reporting data from almost every enterprise data source. A next logical step in their evolution as application developers has been to create a uniform way to access, store, manipulate and present data, metadata, business rules and process documentation, or in other words - Data Warehousing. Requiring a robust, departmental, client/server physical environment, an open architecture and logical design for integration into enterprise solutions and browser based end user interfaces, they chose the SAS System data warehouse, data mining, data validation rules, view, management reporting, raw data source 3
7 A Case Study in the Use of XML to Integrate SAS with Third-Party Applications Michael C. Palmer,
Cecilia A. Hale
SAS sometimes provides an optimal environment for part of an assignment but third-party applications provide a better environment for other parts. The creation of report-quality statistical tables is such a situation. SAS is optimal for statistics but clumsy for publishing report-quality tables. XML offers a new way to integrate SAS with publishing software. To implement, SAS was taught a standard XML vocabulary for tables. This means adding three capabilities to SAS: importing the vocabulary, exporting the vocabulary, and manipulating the XML vocabulary as XML. SAS has an experimental capability to import and export some XML vocabularies but no capability to manipulate XML as XML. The work reported used no experimental features. SAS programs were written to provide a general capability for the import, export, and manipulation of the XML vocabulary used. With these programs, SAS and publishing software converse about table content and style xml, proc tabulate source 4
8 A Correction for Unbalanced Kappa Tables Philip E. Crewson dataset, proc freq, proc step source 4
9 A Dynamic Imagemap Generator Carol A. Martell proc step, create table, ods html, %if-%then-%else source
10 A Macro Program for ANOVA or ANCOVA, Using PROC GLM or PROC MIXED Zaizai Lu,
David Shen
Two-way Analysis of Variance (ANOVA) and Analysis of Covariance (ANCOVA) are the two most commonly used statistical analysis procedures for continuous variables in clinical trial projects. The most common SAS procedures to conduct ANOVA or ANCOVA are PROC GLM and PROC MIXED models. The paper introduces a macro program which enables the user to choose between PROC GLM and PROC MIXED, between ANOVA and ANCOVA, between CONTRAST statements and ESTIMATE statements. The program also gives the user a choice between an option with LSMEANS and without LSMEANS, with CONTRAST statements and without CONTRAST statements proc genmod, proc step, response variable, macro variable, proc glm, proc mixed, anova, ancova, class variable, covariance, predictor variable, interaction effect source 4
11 A Macro to Center Text in a DATA _NULL_ Step Erik S. Larsen macro variable, proc step, macro definition source 3
12 A Meta-Data Approach to Problem Solving John R. Gerlach,
Cindy Garra
Assume you have a data file such that a record represents a collection of rates juxtaposed with their respective categories, as follows: [item]<category><rate> Under more typical circumstances, the file would be structured such that the rates would be located in their appropriate field denoting the categories, which would become the variable identifiers. In this case, however, the value of the category denotes the appropriate variable that would contain the respective rate. Moreover, the categories are nominal; in fact, neither ordered nor sequential, hence, array processing is not readily apparent. Even worse, not all categories are represented for a given record. So, then, how do you read the data properly without using a myriad collection of IF statements accompanied by lots of hard-coded values? Most discussion about meta-data concerns the access and use of the dynamic aspects of a SAS session; such as: the WORK library, user-define formats, and macro variables dataset, macro variable, dictionary tables, proc format, proc step, proc sql source 4
13 A Non-mathematical Introduction to Regression Concepts Using PROC REG Mel Widawski This paper will help you build a competence and confidence in linear regression as a technique through simple examples. We will start with a simple 7-observation data set and see how PROC REG ferrets out the relationship between the variables. You will develop a feel for Linear Regression as a technique through subsequent manipulations to this small data set regression analysis, proc reg, response variable, proc step, anova, estimate, predictor variable, correlation, p-value source 7
14 A Novel Approach to Developing a Patient Profile Reporting Application Steven Light,
Paul M. Gilbert,
Guy Genereux
This paper describes a novel approach used to develop a patient profile reporting application using Base SAS in the Windows NT Operating System. A patient profile report is a display of the clinical study data that is collected for an individual patient, organized by time and data category. Patient profiles are often used to report clinical study information to the FDA as part of a regulatory submission. The approach used was to publish the patient profile report as data (to a SAS dataset), containing all of the appropriate titles, data, footnotes and pagination information. This approach is significantly different from using conventional reporting procedures or data null- based reporting. This paper discusses the development methodology employed in this project, the patient profile report requirements and patient profile application architecture source 6
15 A Pattern for Dynamic Web Content: SAS Server Pages Jack E. Fuller As more and more applications move to a web environment, it becomes increasingly critical to have a reusable and tested design to build applications. This paper presents a pattern that can be used by the advanced application developer to implement a consistent, tested and extensible design for using SAS/AF in collaboration with other technologies such as HTML and JavaScript to dynamically generate web pages sample, lookup source 6
16 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 if-then-else, proc step source 5
17 A Practical Introduction to the Power of Enterprise Miner Michael S. Lajiness Enterprise Miner (EM) is one of the most exciting products to be produced by SAS Institute in its entire history! EM facilitates the analysis of data in a straightforward and logical way. It can be used by statistical neophytes and experts alike. This paper will attempt to give a basic introduction to this product, describe many of it's features and provide some practical hints and suggestions on how to best utilize the software. Some examples will be given to illustrate the power of EM and clearly demonstrate why Enterprise Miner is simply the best product of its kind today! response variable, data mining, regression analysis, proc hpsplit, neural network, sample, in=, score code, test set, dataset, data cleaning, macro variable source 7
18 A Reader's Guide toVisualizing Categorical Data Michael Friendly Visualizing Categorical Datapresents a comprehensive overview of graphical methods for discrete data- count data, cross-tabulated frequency tables, and discrete response data. These methods are designed to complement traditional numerical summaries and sta- tistical models, expose patterns in the data, and to aid in diagnosing model defects. They are illustrated with real data problems, and implemented in a large collection of SAS macro programs avail- able with the book. A number of these methods are somewhat novel, and the macro programs may take some effort to use effectively with your own data. In this paper I present an overview of these methods and illus- trate the use of the macro programs for graphic analysis to reveal features of the data not apparent in traditional numerical summaries. The goal is to translate "theory into practice," and enable readers to use these techniques productively with their own data logistic regression, proc freq, regression analysis, logistic distribution, proc corresp, binomial distribution, poisson distribution source 8
19 A SAS Based Correspondence Management System Bernd E. Imken The tracking and management of correspondence, especially customer complaints, has become a high priority for most organizations. The recent focus on Customer Relationship Management has augmented this requirement. The application discussed in this paper was developed using SAS/AF. The application resides on a Windows NT based server and uses SAS/SHARE with TCP communicationsl. The paper discusses the ways in which a correspondence management system may be developed using SAS/AF Version 8 software dataset, proc step, audit trail, constraint source 6
20 A SAS Macro Program for Star-Plots Chuanchieh Hsu,
James M. Hardin,
Zhongwei Zhou
In a variety of research settings including clinical trials, education, and psychology, it is very common to compare a composite score, consisting of several individual items, across the treatment groups. However, often the researcher also wishes to compare differences in the individual items comprising the composite score across the various treatment groups. A useful graphical technique to assist the researcher in visualizing and interpreting the results of such comparisons is the Star plot. The Star plot displays multivariate data by coding the values of the variables into the lengths of the rays emanating from the center of the plot. This paper illustrates how to use SAS/BASE macro variable, proc format source 4
21 A SAS Macro to Isolate All Date Values from a Data Library into a SAS Dataset Michael L. White This paper will describe a method we devised to accumulate a dataset containing all SAS date variables' values in a SAS data library. With the resultant dataset, we were able to make comparisons with a baseline date such as randomization or date of initiation of study treatment and isolate dates that were recorded or entered incorrectly. We used SQL and SAS Macro language. The paper is appropriate for SAS users with a basic knowledge of the SAS Macro facility date variable, proc step, proc sql, randomization, macro definition source 2
22 A SAS Program for the Computation of Seroconversion Rates in a Prospective Study of HIV Discordant Couples in Lusaka, Zambia Ilene K. Brill,
Maurizio Macaluso,
Jareen K. Meinzen-Derr,
Susan A. Allen
A SAS program was designed to monitor HIV seroconversion (i.e., the transition from HIV seronegative to HIV seropositive status, indicating a new infection) in a prospective cohort of HIV discordant (one partner HIV+, the other HIV-) cohabiting couples in Lusaka, Zambia. Couples are followed up every three months. The investigator was interested in computing seroconversion rates during specified time intervals: 1) during each 3-month follow-up interval, 2) during progressively longer periods (e.g, 0-6 months, 0-9 months, etc.) and 3) for specified combinations of these same three month intervals (e.g., from month 6 to month 12). The program consists of three macros implementing the three calculations described above. Total person months and number of seroconvertors are calculated by sex and for both sexes combined among at-risk (i.e., HIV-) subjects. Seroconversion rates are expressed as the number of seroconvertors per 100 person-years of follow-up macro variable, confidence interval, data step, do loop, poisson distribution source 7
23 A SAS Program to Perform Adaptive Randomization Carey G. Smoak,
Jin-Sying Lin
In small to moderate size clinical trials, it is possible for simple randomization (with or without consideration of stratification factors) to result in imbalance of prognostic factors among treatment groups. This imbalance could potentially influence the outcome of the trial. For example, if a greater proportion of "very ill" (as indicated by covariates for severity of illness) subjects are assigned to a particular treatment group, then the outcome of the trial could be influenced by this imbalance. Baseline adaptive randomization improves the chance of having balance among treatment groups with respect to known prognostic factors. This paper describes a SAS program that is a modification of a baseline adaptive randomization procedure proposed by Frane (1998). The procedure is modified to allow for unequal allocation ratios among multiple treatment groups for categorical covariates randomization, clinical trial source 2
24 A SAS V8 Web Application Utilizing ODS, FTP Files from MVS, and SAS PROC GREPLAY in Batch Mode Jon A. Patrick IBM's semiconductor fabricator in Burlington, VT creates mega data each day that is stored in numerous db2 tables on our MVS host system. The data is in the form of Etest, process (date, time, tool), probe, final test, etc. Our manufacturing engineering characterization team makes extensive use of our Intranet. This proc step, macro variable, proc greplay, proc sort, output delivery system, proc sql source 4
25 A SAS/IML Macro for Goodness-of-Fit Testing in Logistic Regression Models With Sparse Data Oliver Kuss The logistic regression model has become the standard analyzing tool for binary responses in a variety of disciplines. Methods for assessing goodness-of-fit, however, are less developed and this is especially pronounced in calculating goodness-of-fit tests with sparse data, when the standard tests (deviance and Pearson test) behave unsatisfactorily. In our paper we show two solutions to the problem that are implemented in the LOGISTIC procedure in SAS software, and introduce five additional testing procedures from the statistical literature. By means of a simulation study we show that these additional tests are valid instruments for assessing goodness-of- fit in logistic regression models, even with sparse data. Finally, we present the SAS/IML macro %GOFLOGIT which allows calculation of the introduced tests and illustrate the macro with an example from occupational epidemiology on hand eczema in hairdressers logistic distribution, logistic regression, regression analysis, proc logistic, proc step, null hypothesis, alternative hypothesis, estimate source 5
26 A Sort of a Mess - Sorting Large Datasets on Multiple Keys David L. Cassell One of the most useful features of SAS is its capabilities for handling large datasets. However, a sort of a very large dataset on many keys can present difficulties. Disk space or temporary space may be inadequate. The time needed may be enormous. The proc step, proc sort, proc sql, cpu time source 4
27 Accessing and Utilizing the Win32 API From SAS Christopher A. Roper format statement, sas programmer source 7
28 Add a Common Look and Feel to Web Applications Easily Steve James Having all of your output pages of your SAS/INTRNET application with the same look and feel is an important aspect of making your web applications more useful. But adding all of the HTML code to each page can be challenging, as well as difficult to maintain. By using an HTML template file, you can easily add the same banners and links to each output file your application produces. This technique leads to easy maintenance, does not require an extensive knowledge of HTML, but still allows some customization. This paper assumes a working knowledge of SAS/INTRNET proc step, proc print source 4
29 Advanced Macro Topics Steven J. First The SAS macro language continues to be an integral part of the SAS system, and can be a wonderful tool or an overcomplicated solution. This paper will be of interest to macro users that would like to more fully understand the macro system. This paper will discuss the following topics: 1. Macro data structures and timing 2. Local and Global referencing environments 3. Quoting 4. Macro and DATA STEP functions and call routines 5. Debugging and tracing techniques 6. Autocall facilities 7. Design considerations 8. Alternatives to SAS macros 9. Changes and enhancements with Version 7 and 8 macro variable, macro facility, proc step, data step, macro put, macro definition, proc print, macro loop, call symput, put statement, run, sysrc, autocall macro, macro function, macro quoting function, %if-%then-%else source 8
30 Advanced SAS String Functions and a Little Recursion Protect Against Run-Time Errors Amy Swinford A custom query tool written for a broad audience presents certain problems for the programmer. Some users are content with the point and click interface while power users want to type in code. In variable transformations such as logs and ratios, both approaches can result in errors if the data is at all dirty. We wanted to protect our system against mistakes in user-entered code as well as data problems, while still providing the flexibility of user defined variables. The new string functions rxparse and rxsubstr provide a clean approach to the problem that is easy to implement. This paper presents two SCL methods that utilize these functions to generate code-saving code: checks that prevent defined run-time errors log, string functions source 3
31 Adventures in Building Web Applications: A Tutorial on Techniques for Real-World Applications Jason T. Gordon,
Michael L. Davis,
George P. Sharrard
The authors recently completed their first web-based application, a Dashboard reporting system for the Card Services a GE Capital Company. Along the way, they discovered how SAS/INTRNET software operates differently than they originally thought. They also developed some tools and not so obvious strategies to build and maintain a web site with well over a hundred pages. This presentation is an attempt to share those experiences. Among the topics covered: maintaining a test site using automated st ring replacement automating web site updates through block replacement validating user input without Javascript or Java logging what users do without hit counters or server logs using PUT statements to _webout -- not what you thought returning SAS/GRAPH output to a web browser The presentation will feature some on -line demonstrations to illustrate how these techniques are used in real-world applications macro variable, dataset source 10
32 An Introduction to Computing and Interpreting Cronbach Coefficient Alpha in SAS Chong Ho Yu In spite of the ease of computation of Cronbach Coefficient Alpha, its misconceptions and mis-applications are still widespread, such as the confusion of consistency and dimensionality, as well as the confusion of raw Alpha and standardized Alpha. To clarify these misconceptions, this paper will illustrate the computation of Cronbach Coefficient Alpha in a step-by-step manner, and also explain the meaning of each component of the SAS output covariance, correlation, effect size, sas output, sample, missing value, proc princomp source 6
33 An Introduction to MDDBs and Publishing Them on the Web Dana Rafiee,
Stan Andermann
source 10
34 An Introduction to PROC SQL David E. Beam PROC SQL is a powerful Base SAS Procedure that combines the functionality of DATA and PROC steps into a single step. PROC SQL in many cases can be a more efficient alternative to traditional SAS code. PROC SQL can be used to retrieve, update, and report on information from SAS data sets or other database products. This paper will concentrate on SQL's syntax and how to access information from existing SAS data sets. Some of the topics covered in this brief introduction include: Write SQL code using various styles of the SELECT statement. Dynamically create new variables on the SELECT statement. Use SQL options to control the appearance of reports. Use CASE/WHEN clauses for conditionally processing the data. Joining data from two or more data sets (like a MERGE!) proc sql, proc step, select, group by, order by, where statement source 10
35 An Introduction to SAS Macros Steven J. First The SAS programming language has a rich "tool-box" of features that can offer a lot of power to the user. The use of macro variables and macro code is difficult to learn without some training. This workshop will introduce the user to a few of the very powerful techniques possible using macro variables and macro programming. The user will also see examples that are easy to understand Some of the topics to be covered include: 1. What is a macro variable and what does it do? 2. Examples of some of the standard SAS macro variables 3. How the SAS macro processor handles macro variables 4. Passing information to other steps in a program using macro variables 5. What is a macro? 6. Creating and invoking macro code 7. How to "conditionally" run SAS steps based on the logic in your program 8. Changes and Enhancements to the macro language in Version 7 & 8 macro variable, proc step, proc print, macro definition, macro facility, sas log, sysrc, sas programming, macro loop, macro put, %if-%then-%else source 6
36 Analysis of Count Data Using SAS Alexander Pedan Count data is increasingly common in clinical research (Gardner, Mulvey and Shaw (1995); Glynn and Buring (1996)). Examples include the number of adverse events occurring during a follow up period, the number of hospitalizations, the number of seizures in epileptics, etc. It is straightforward to analyze the count data by using PROCEDURE GENMOD of SAS/STAT, but as it is going to be shown below, correctly specifying the statistical model is of the utmost importance in getting proper inferences. In this paper, we review the statistical methodology and present a SAS macro that creates convenient output for the presentation of count data poisson distribution, regression analysis, proc genmod, proc step, poisson regression, goodness of fit, estimate, binomial distribution, probability distribution, negative binomial regression, response variable, likelihood function, proc mixed, proc calis, degrees of freedom, numeric functions, treatment effect, sample, adverse events source 6
37 Analyzing Network Management Data with the SAS System Tracy L. Lord,
Charles E. Keeler
Network Management challenges are growing at a rapid pace. With more businesses becoming dependent on their network infrastructure, the need for proactive network diagnostic analysis is becoming a necessity. Network problems and outages have devastating impacts to businesses. The methods of collecting and analyzing network data continue to be an integral part of maintaining "network harmony". This paper describes a method for analyzing Network Management data including the building of an Information Warehouse, data interrogation, and report presentation via the Web. Sharing this data with network administrators and technicians has saved IBM time and money and has helped turn reactive network maintenance into proactive network monitoring network data, ascii source 3
38 Anyone Can Learn PROC TABULATE Lauren E. Haworth proc tabulate, proc step source 9
39 AppDev Studio Release 2.0 Carl LaChapelle Version 2 of AppDev Studio is shipping! What is AppDev Studio you ask? AppDev Studio provides a single interface for the development of thin- and power-client business intelligence applications. It is the first suite of application development products tailored specifically for developing information delivery applications. It draws upon the proven strengths of SAS software, including an open architecture for developing solutions on every major Web standard on both the server and the client side. This presentation will highlight many of the enhancements that have been made to this release of the software with live demonstrations of new features available in webAF and webEIS, two of the components that make up the AppDev Studio bundle. A copy of the finished paper can be found under the Reference link on the AppDev Studio Developer's Site (www.sas.com/rnd/appdev) business intelligence, class variable source 1
40 Approximations to Distributions of Test Statistics in Complex Mixed Linear Models Using SAS PROC MIXED G. Bruce Schaalje The MIXED procedure of SAS has made use of the linear mixed model accessible to researchers. However, a sticky problem for the procedure has been the specification of appropriate denominator degrees of freedom for test statistics for fixed effects in both balanced designs with simple covariance structures and complex designs involving complicated covariance structures, unbalanced data and/or small sample sizes. This paper compares the denominator degrees-of-freedom options in PROC MIXED proc mixed, covariance, type i error, sample, significance level, covariance structure, proc step, degrees of freedom, sample size, fixed effects, likelihood function, maximum likelihood estimation, compound symmetry, f distribution, correlation, repeated measures source 6
41 Array Tutorial (2) $ Beginning Intermediate; Marge Scerbo This tutorial will present the basics of array statements and show easy to intermediate examples of usage. Arrays are SAS DATA STEP statements that allow clever programmers to do a great deal of work with little code. These statements provide a method to process the identified variables as a group rather than individually, therefore saving both machine and programmer time. This paper should help lower the attendee's anxiety level when using arrays array, do loop, missing value, input statement source 7
42 At Home and Abroad with PROC GMAP: A Global Atlas of InfoGeographic Design For Effective Visual Communication LeRoy Bessler source 5
43 Automating the Process of Listing the Most Frequent Values of Thousands of Variables in Large Data Sets Haiping Luo,
Philip E. Friend
Listing variable values with high frequency for large datasets which have thousands of variables can be a time-consuming process. Using common procedures like 'PROC FREQ' and 'PROC TABULATE' involves individually identifying possible value range, data discretion and/or class group before running the procedure. This %getfreq macro automates the process of listing the most frequent values of all or selected variables in a dataset. The value list can be tailored to reflect only those values with desirable frequencies and percentages, in the selected value ranges, and by certain groups. The resulting value list can serve as a useful proc freq, numeric variable, character variable, mode, proc step, response variable, by group processing, %if-%then-%else, macro definition, macro loop source 5
44 Avoiding a (Graphic) Identity Crisis with ODS HTML Styles Jaclyn M. Whitehorn The new SAS Output Delivery System (ODS) enables any SAS programmer to produce professional-quality output. In particular, the ability to generate HTML output directly from every SAS procedure was highly anticipated by the SAS user community. However, it is doubtful that the default HTML output fulfills any site's Web publication standards. The capability of defining a custom ODS style is provided through PROC TEMPLATE, but it is not for the faint-of-heart. There are a number of new concepts to learn, and the amount of documentation is small (but growing). Furthermore, there are some odd inheritance structures in the default templates provided by SAS Institute, which makes editing them a greater challenge than necessary. This paper is intended to serve as a "getting started" guide for those users that need to modify the default templates in order to create their own styles. It also introduces an alternative style inheritance structure ods html, output delivery system, proc template, proc step, sas output source 5
45 Avoiding E-Overload: Personalizing Web Content through Security, E-Intelligence and Data Mining Gregory S. Barnes Nelson Today, the worlds of high-tech with high-touch are quickly converging. The landscape of this new frontier in business intelligence and customized content has challenged the traditional models of delivering knowledge to diverse constituents. To make the most effective use of these delivery methods, business needs detailed intelligence on how people use information from these sources. In this paper, we will explore the analytical techniques, technologies and tools used to answer real-world business questions, accelerate knowledge transfer, and foster more profitable relationships with customers, partners, employees and suppliers. Specifically, we will explore the business and technology underpinnings of personalization. Then we will examine the analytic and technical approaches to understanding that data as delivered through eIntelligence, click-stream and log analysis techniques market basket analysis, customer satisfaction source 10
46 Building an Integrated Informational Backplane Mark Moorman In today's world where customers are suppliers, and competitors are partners; where understanding the cause and effect relationships of business is key to survival, is it really smart to have standalone data warehouse systems? The problem with uniting these information systems is how do you integrate all of these disparate business applications together? When a contract means one thing to Sales and something different to Finance; where customer is aligned along one hierarchy in Distribution and another in Marketing; where cost is allocated differently in Traffic than it is in HR, how do you bring them into one integrated system? The answer isn't always easy, but the value is great. This paper will discuss how to build an Integrated Information Backplane (IIB). By properly designing the IIB you will be able to build a system that can grow and accommodate any number of business applications data mart, data warehouse, data standard, star schema, fact table source 7
47 Catch the Errors Early - On Generating Checking Routines Automatically Markku V. Suni It is widely accepted that a company needs a Data Ware- house. Equally widely accepted is the principle that a company should not warehouse dirty data. Only clean and error-free. To define "error-free" can be quite a demanding task. Even more demanding task is maintaining all sorts of checking routines that find the errors in the input. A method was developed to generate checking routines automagically. This paper discusses our methods, means, aims and experiences on generating checking routines automagically class variable, policy source 4
48 Changes &Enhancements for ODS by Example (through V8.2) Sandy McNeill The purpose of this paper is to show through example some of the new ODS features and options that have been added for SAS Version 8.2. Some of the highlights are: production PDF destination; template options which allow the invocation of a macro or evaluation of an expression using values from other columns on the same row; in-line formatting for the PRINTER and RTF destinations which allows a finer control over page breaks, subscripting, superscripting, formatting of particular words in a cell instead of the entire cell; and style control for titles and footnotes for the PRINTER and RTF destinations. This paper will talk about each of these topics along with some examples proc step, title statement, proc print, footnote statement, proc template, output delivery system, user-defined format, proc report, ods rtf, proc sort source 7
49 Clinical Trial System - A Front End SAS/AF Application Quan Ren The procedure of clinical trial is becoming more and more standardized, especially when prepared for NDA submission, that makes it possible to build a commonly used system to perform the routine and standard data analyses. SAS System almost dominates the pharmaceutical and clinical trial research industry. However, with the stiff study curve, it's hard to comprehend such a powerful but complicated tool. Building a front end computer system to perform the standard data analyses should be considered for several reasons: 1. Convenience 2. Reduce training time and cost. Users don't need to be SAS professionals. 3. Reduce programming time and increase productivity 4. A quick tool for QC/QA 5. Produce quick reports to management groups With the powerful features of SAS System, especially SAS/AF, such a front end system became feasible. This paper is to introduce some ideas to build a front end system based on the standard clinical research procedure adverse events, clinical trial, proc means, survival analysis, anova, data science, class variable, vital signs, proc genmod source 7
50 Coding Across the Boundaries David H. Johnson One of the challenges facing a consultant in the SAS System is the need to deliver a 'fast start' on a new contract. One of the ways to achieve this, is to start an assignment with a toolkit of common utilities. If a utility is developed for the Windows platform to find and store the characteristics of files, a similar macro can be developed for the Unix or MVS environments. If the same name and set of parameters is used for the macro on each platform, then programs developed around the macro for one platform can be quickly deployed to a different platform. This allows the consultant to more quickly focus their attention on the main variable between assignments: the nature and structure of the business data macro call, macro definition source 6
51 Communicating Data Effectively with D-Data and D-Notes Sy J. Truong Wouldn't it be nice to share SAS data with anyone in the world even if they don't have SAS? Delivering and communicating information pertaining to SAS data across the Internet can be a challenge. The data may be too large to be delivered across slow modem connections. Even if the data were successfully compressed and sent via email, it is difficult to discuss and view the details of the data if team members have different ways of browsing the data. This paper will explore the use of two new tools, e-Data and e-Notes, which combine the ability to view SAS data and conduct discussions over the Internet. These tools are available over the Internet and do not require SAS to view data, so they are ideal for delivering data to large audiences. They have features similar to SAS System Viewer which enables quick access and search capabilities of SAS data. e-Notes combines Internet audit trail, relational database source 7
52 Comparing Pairs: The Array's the Thing Mary F. MacDougall As SAS programmers, we are accustomed to working with data from top to bottom, one row at a time. However, when we need to investigate the relationships between multiple events, it may be preferable to have all the data about those events available at the same time. This paper describes an example of a manufacturer that needs to compare the defect rates of several different machines over time. The solution, which is applicable to all platforms and can be adapted to solve similar comparison problems, involves using base SAS tools to summarize and restructure the data. The array's the thing that enables us to move back and forth across the data, examining each different pairing of machines raw data, do loop source 3
53 CONNECTing with SAS Version 8: Virtually Transparent to the User Lawrence W. Altmayer Whether used to connect from home to office or personal computer (pc) platform to mainframe network, it is straightforward with SAS version 8. We know it can be more efficient in many ways to store large data sets in a mainframe environment, and access them from the pc. This paper looks at using pc SAS/CONNECT to access SAS course data sets from a UNIX mainframe, a concept readily extended to larger data sets in practice. We will also touch on the basic configuration for accessing a SAS/AF application when clicking on a SAS icon on a Windows desktop. Next we look at ways to verify the data are being read from the UNIX mainframe. Finally, we make a small change to the properties of the main menu 'Exit' push button to immediately return to the desktop, upon exiting the application. We will also see that it is easy to convert current version 6 applications to version 8, using Destiny course materials as a starting point libname statement, proc copy, proc step source 6
54 Converting CP World Application to SAS V8: A Discussion of Issues and Hurdles Encountered Fang Dong The CP World reporting system is a SAS-based multi-platform application that runs on a Windows NT Server and a Unix host. It makes extensive use of Base SAS, SAS Macros, SAS/ACCESS, SAS/CONNECT and SAS Output Delivery System. It is used to report early phase clinical trial data at the Ann Arbor Laboratories of Pfizer Global Research and Development. The system design and features are originally presented in SUGI 25. In converting the CP World application into SAS V8, our primary goal is to take advantage of the new Output Delivery System features. A secondary goal is to simplify SAS coding by taking advantage of long character variable values and explore assigning LIBNAME to oracle database versus use SQL Passthrough to extract data from oracle database. The strategy we used is a two-step approach. The first step is to migrate the application into SAS V8 excel, oracle, output delivery system, clinical data, character variable, clinical trial, macro variable, proc step, proc sql, sas base source 4
55 Cool New Stuff in Version 8 SAS for MVS Curtis A. Smith The SAS Institute recently released SAS version 8 for MVS. This long awaited upgrade from version 6.09 boasts many new and improved features. There are now several functions that you can use to handle external files and SAS data sets. There are also several new options to help you take better control of your SAS session. Guess what? The much loved Output Delivery System is also supporedt. Now, among other things, you can save your output to HTML and print to a high resolution printer, and you can create output SAS data sets from every procedure. Is that all? No way. There are several enhancements that are sure to excite you. For example, improved indexes, improved data set compression, expanded formats and informats, and expanded naming rules. This paper will provide an overview of the author's favorite new stuff found in version 8 for MVS dataset, output delivery system source 2
56 Creating a Consolidated Report from Several SAS Outputs Using DATA _NULL_ and PUT Statements Anne Horney,
Gail F. Kirk
We often find it necessary to combine output values from several procedures into one table or page of a report. When we need a p-value from one procedure, and means and standard errors from another and frequencies from a third procedure, the separate pieces of information must be brought together in one DATA STEP before using PUT statements to print the table. The problem of how to get the data/output/information ready to print is particularly difficult for inexperienced programmers. We will show examples using several different methods such as PROC FREQ, PROC MEANS, PROC UNIVARIATE and DATA steps. In addition to creating PUT tables these methods can also be used to create delimited ASCII files that can be merged into word processing or spreadsheet packages. PROC SORT; by treatmnt; proc step, proc freq, standard deviation, sample, anova source 6
57 Creating Maps in SAS/GRAPH Jeffery D. Gilbert This paper will give an introduction to creating graphs using the PROC GMAP procedure in SAS/GRAPH. Instruction will be given to create basic maps using map tables provided by The SAS Institute. In addition, some special topics will be discussed, including SAS/GRAPH global statements and the annotate facility when using proc gmap, proc step source 5
58 Cycle Down to Launch: Streamlining Production at Lockheed Martin Martin Dave Jennings,
Radhika V. Kulkarni
Lockheed Martin's Astronautics Division uses the past due, sample source 8
59 Data Analysing in SAS, Graphs Guilding in SigmaPlot, Outputs in PowerPoint Sherry Q. Zhang SAS provides you a lot of nice features to do statistic analysis. Sigmaplot gives you abilities to build high quality statistic graphs. But your presentation has to be done in Powerpoint. Wouldn't it be more helpful to integrate all those three parts into one handy macro. Then, you could re-use your mature codes on the desktop by making simple modifications to meet a new requirement and the particular task at hand. This paper illustrates an easy way to transfer a SAS output to EXCEL, through Sigmaplot building graphs, getting output in Powerpoint in two easy steps. Even more advance, they are integrated in SAS sas output, excel source 4
60 Data Cleaning 101 Ronald P. Cody proc step, proc univariate, standard deviation, numeric variable, missing value, proc freq, character variable, put statement, dataset, outlier, proc print, proc means, adverse events, if-then-else, macro variable, sas output, data cleaning, proc format, proc sort, set statement, verify, box plot source 10
61 Data Cleaning and Base SAS Functions Caroline C. Bahler date variable, character variable, sysdate9, data cleaning, input statement, character functions, substr function source 6
62 Data Modeling in Clinical Data Analysis Projects Gajanan Bhat Development of data model in clinical trial management environment is an ongoing process but of utmost importance for a good clinical information management. Companies are trying to come up with efficient global standards in data modeling to work with. Global standards are also important and imminent in view of the new electronic submission guidelines of Food and Drug Administration (FDA) for New Drug Application. Most important factors to consider when designing the analysis and reporting data structure are standard data structures, metadata, documentation, and data normalization. Often, the normalized data structure is in conflict with the raw data structure obtained from several clinical data sources. The main objective of this paper is to provide a data model for the analysis-ready data using transformed data structure explaining several levels of data normalization from the Data Warehousing perspective normalization, clinical data, data standard, key, clinical database, star schema, raw data, snowflake schema, data science, dataset source 6
63 DATA Step vs. PROC SQL: What's a Neophyte to Do? Craig Dickstein "What's all the buzz about PROC SQL? I am just now beginning to understand the power of the DATA STEP within the SAS System and I am being told that it can all be done bigger and better in the SQL procedure. Do I have to use it? Should I use it? When and where is the appropriate use for PROC SQL?" For the beginner/novice SAS programmer, this paper will answer the above questions and attempt to demystify the must use, should use, and nice to use aspects of the DATA STEP as it compares and contrasts with Structured Query Language (SQL). General efficiencies of machine resources and programmer resources, as well as the proficiencies of the programmer, as choice criteria need to be considered. Business functions/needs and technology standards may also play a role as they apply to developing data management routines. Primary data management tasks to be considered are: creating, inputting, sub-setting, merging, transforming, and sorting proc sql, proc step, sas base, create table, order by, dataset, group by, proc sort, inner join, set statement, data governance, relational database, sas programmer, by group processing, right join, select source 9
64 Data Visualization of Outliers from a Health Research Perspective Using SAS/GRAPH and the Annotate Facility Nadia Redmond SAS/GRAPH is a powerful tool for customizing the box plot to detect and identify outliers. This paper shows how to use the ANNOTATE facility and annotate data set to customize box plots and profile plots of outliers using data from a dietary-health study. This paper assumes: A working knowledge of basic SAS/GRAPH procedures. The ability to display or print graphics on your operating system. A thorough understanding of the DATA STEP, since the ANNOTATE facility requires SAS data set. An understanding of SAS/BASE global statements (e.g. TITLE, FOOTNOTE, OPTIONS, etc.). SAS skill level of this paper is intended for beginners to intermediate programmers box plot, proc gplot source 5
65 Data Visualization of Phase 1 Clinical Studies - by "Big Al's Worlds " Richard F. Synowiec Data visualization via graphs, colorful tables and the Web can accelerate and simplify the review of data from Phase 1 clinical studies. The Output Delivery System (ODS) capability contained within Version 8 of the SAS system provides the means by which data visualization can be achieved quickly and cost effectively. Pfizer Global Research and Development Ann Arbor Laboratories' Phase 1 data visualization utility ("Big Al's World") is an application that runs on Windows NT workstations and uses a Unix host. This application makes extensive use of base SAS, SAS Graph, the REPORT procedure, SAS macro language and the new ODS capability. Output from this system's execution is stored in html files on a shared server that is accessed via the Pfizer Intranet by interested clients (physicians, clinical scientists, study coordinators, and medical writers) adverse events, proc report, proc step, clinical trial, phase i, vital signs, study day, data visualization, proc freq, proc means source 6
66 Data Warehousing at Baylor University: The Second Year Phil Rhodes,
Sue Herring
The office of Institutional Reseach and Testing at Baylor University began a data warehousing project in the spring of 1999. First year activities included data modeling and software selection and customization, along with the creation of several data marts. The second year of the project has resulted in a large increase in the number of users, along with the number of data marts available to users. This paper presents a brief data mart, data warehouse source 3
67 Data Warehousing Helps Enterprise Improve Quality Management Xiao Ji,
Shichun Zhou,
Jay Cao,
Jianli Shao
Data warehousing is playing a more and more important role in Baoshan Iron & Steel Corporation, China. It collects and processes OLTP data from all functions of the company, and stores them in the Quality Management Data Warehouse subject by subject. The product quality engineers can now easily use the related data in the data warehouse to analyze product quality. After careful analysis of the product data, they can find theunderlying rules and patterns and thus help both the management and the qualityanalysts to make better decisions in quality management. This paper presents how data warehousing helps improve quality management in the company. The paper is intended for intermediate SAS users. Currently the system runs on RS6000/SP, using SAS/WAREHOUSE Administrator, SAS/STAT, SAS/MDDB, SAS/QC and SAS/INTRNET. Key Words Data Warehousing, Quality, Data, Information data mart, fact table source 4
68 Database Access Using the SAS System Frederick E. Pratter proc step, proc sql, dataset, libname engine, relational database, where statement, create table, sql pass-through, excel source 5
69 Delivering Information Everywhere Using JSP and SAS Pat M. Herbert With the advent of the Internet and the increasing mobility of its users, it has become necessary to allow immediate access to data and reports from non-desktop (wireless) devices such as palm pilots and phones. In this paper we will show how SAS technology in conjunction with JSP and Servlets will keep your users connected to their business information on demand source 2
70 Delivering Information to the People Who Need to Know Carol Williams Rigsbee One of many things that SAS software enables you to do is to deliver the information you have used SAS software to discover. Come and see how SAS allows you to create and generate reports and get them delivered to the right people giving them The Power to Know sas enterprise guide, proc sql, dataset, format statement, excel, proc step source 6
71 Develop in GUI, Run with Grunt David H. Johnson Development and testing of code is usually simplified by working in a Windows or similar Graphical User Interface (GUI) environment. The results of individual steps can be checked, and additional analysis performed on the data before further manipulation is performed. Problems in the code can be resolved and a final code version developed that is both tuned for performance, and robust enough for the production environment. However, the quantity of data that may be manipulated in a production environment is sometimes too large for the Windows platform. So the production process may need to be run on a mid range or mainframe platform cpu time, proc step, macro put, macro function, sample, macro variable, %if-%then-%else, record count, proc freq, macro definition source 8
72 Digging for Gold: SAS Tools for Extracting Clinical Study Information from Oracle Clinical Nancy Brucken Back in the "old" days, information such as study titles, locations of commonly collected fields and treatment group labels was hard-coded into SAS programs written to summarize data for a single clinical study. During the process of developing standard cross-therapy area reports to summarize data for any clinical study, we found that retrieving this information directly from the database allowed for much more flexibility in coding the programs and reusability across multiple studies. This paper demonstrates tools we have developed using SQL and the SAS SQL procedure to extract study titles, view creation dates, the names of the views containing specific questions, treatment group labels and treatment group print order, and other items macro variable, macro definition, proc sql, clinical trial, proc step, data cleaning source 3
73 Dynamic Ad-Hoc Reporting via the Web: Real-World Comparison of MDDB Report Viewer and AppDev Studio Colin J. Harris There is no question that user access to warehouse information is moving more and more to Web delivery mechanisms. This paper reviews and contrasts SAS Institute's two main Web OLAP offerings, MDDB Report Viewer (part of SAS/INTRNET software) and the recently introduced AppDev Studio. Both promise fast implementation of OLAP reporting with minimal development and maintenance. In the New Zealand Ministry of Social Policy, Web technology has opened up a vast amount of warehouse information to all staff - over 8,000 desktops. Previously this was only available to a few dozen specialists familiar with SAS software. This reporting mechanism has been in production for over 18 months, and has been enthusiastically received with peak usage of over 1,000 hits per day. It currently uses the MDDB Report Viewer. AppDev Studio is being extensively evaluated to replace or complement the current solution excel, time series analysis, proc step source 10
74 Dynamic Applications to Satisfy an Ever Changing World Bernard R. Poisson Today, business and government organizations thrive on information. They are totally dependent on their continued ability to rapidly and efficiently access information in order to function. Remove or reduce the capacity to access needed information and the organization slows to an ebb or worse, stops dead in its tracks. The changing nature of information required, and the need to leverage costs while at the same time increasing the availability of information, makes the design and coding of applications a progressively more daunting task. Using a few powerful SAS functions and a modest change in design approach, you can create applications capable of satisfying the continually changing information needs of your organization, decrease costs, and increase information availability. Two equally important derived benefits that we cannot overlook are those of increased application portability, and quick recovery after system failures sample, raw data source 4
75 Dynamic Web-Based Applications Using SAS/IntrNet Software Dana Rafiee source 8
76 E-Volution of the Customer: Increasing Customer Loyalty Through An Intelligent Campaign Solution Ellen Joyner In today's world of marketing, selling and servicing customers, organizations have seen a paradigm shift in how potential prospects and customers expect to be treated. This evolution of the customer has gone from days of mass marketing to mass customization in an effort to attract and keep good customers. The once dime-a-dozen customer has now become one of the organization's most valuable assets. To be competitive today, successful companies realize they have to focus their entire organization around the customer. Customers want to be treated as individuals, they want to know if they spend the time to communicate with your company, you will listen and personalize your product or service to meet their specific needs. Wireless and digital communications have given the customer today access to all types of information and knowledge about your products as well as your competitors financial services, data cleaning source 6
77 Efficient Statistical Programming? - Let SAS Do the Work Keiko I. Powers SAS software is a statistical package that is flexible in both data management and statistical analyses. Even with the advanced SAS capabilities, however, applied statisticians often have to go through time-consuming programming steps to perform various analyses. In many years of using SAS software, I have learned that there often are much easier programming methods to handle the same computation tasks, in such cases as calculating different group means or proportions, performing mean substitution for missing values or obtaining predicted values using a regression model. These more efficient computation setups take advantage of SAS procedures, such as PROC STANDARD, or PROC SCORE from SAS/STAT software. These experiences taught me that applied statisticians should always keep learning various features of SAS software to see if there are more efficient programming approaches to obtain the same results proc step, data science, missing value, proc score, proc means, proc reg, regression analysis, proc freq, data governance, proc standard, mean imputation, estimate, class variable, binary variable source 4
78 Eight PROC FORMAT Gems Jack N. Shoemaker The SAS system shares many features with other programming languages and reporting packages. The programming logic found in the ubiquitous DATA STEP provides the mechanisms for assignment, iteration, and logical branching which rest at the core of any procedural language. Analytic data displays, like the humble frequency cross- tabulation produced by various procedures - PROC FREQ, PROC MEANS, PROC REPORT may be replicated with varying degrees of success using any number of other products. PROC FORMAT is another matter. Somewhat like an enumerated data type; somewhat like a normalized and indexed reference table; it really has no exact analog in these other products and packages. There's a lot you can do with PROC FORMAT. And, there's a lot to know about PROC FORMAT. The aim of this paper is to provide insight on at least eight gems found in PROC FORMAT proc format, proc step, user-defined format, work library, char., proc catalog source 5
79 Ensuring SLAs and SLOs - How to Commit Computer Resources to SAS Applications, Jobs and Users Udo Schmitt HP has developed a system management software product called HP-UX Workload Manager (WLM). HP-UX WLM is a dynamic front-end tool to HP's Process Resource Manager (PRM). HP-UX WLM automatically adjusts PRM parameters so that system resources are reallocated in response to changing conditions, time of day, and varying workloads. With HP-UX WLM, applications are partitioned into various workloads (groups). In addition, the system administrator specifies goals for the various groups, priorities of the goals (i.e. all priority 1 goals are met before priority 2 goals are addressed), conditions under which goals are met, and means to measure to what extent goals are being met. As the system runs, the workloads are monitored according to user-specific metrics in order to determine whether they are meeting defined objectives. Additionally, HP-UX WLM can adapt the CPU allocation in response to virtually any other measurable event on your system key performance indicator, resource allocation source 4
80 Enterprise-Wide SAS Administration is a Full-Time Job - Here's How Paul D. McDonald There are many great things to do with the SAS Software System. The STAT package is full of toys for statistician's glee! The AF package can make a developer drool, and web-heads can use the IntrNet tools to really make their applications come alive! This paper is about none of that, nor about any of the other neat stuff or cutting-edge technologies that the SAS Institute is developing. This paper is about making all that stuff work together effectively. Readers will learn how to design build a strong SAS infrastructure across multiple platforms, develop the basics of an in-house SAS Software training system, create an easy way for SAS to work with other applications, and prepare their system for new technologies that come out in the future. In other words, this paper will show you how to be a SAS administrator and make people think you don't do any work because you do it so well call execute, cpu time source 6
81 Error Trapping Techniques for SCL Andrew S. Rosenbaum An often-overlooked aspect of applications programming is error trapping. There are always unexpected situations and a good program should catch as many errors as possible. There are two new classes in Version 8 of the SAS System to assist the applications developer in error trapping. These are the SCLException class and the ProgramHalt class. This paper will introduce these classes to the SCL programmer. Also discussed will be a simple technique for detecting errors within SUBMIT blocks. Finally, mechanisms for communicating error messages to the user will be discussed data step, put statement, error message, macro variable source 5
82 Escaping Flatland: Chernoff's Faces Revisited Wendy B. Dickinson mahalanobis distance, sample, data visualization, correlation source 12
83 Everything I Need to Know About Data Warehousing I Learned From A U.S. Army Survival Guide Mary K. Tucker Three years ago, after eight years of experience supporting business needs in a SAS mainframe environment, I embarked on a new journey, formal Data Warehousing using SAS Client/Server tools and Data Warehousing methodologies. Two years ago, my colleagues and I began the physical implementation of our new Client/Server SAS environment. Since then, we have made tremendous strides towards meeting our objectives. Making the switch from informal data warehousing in a mainframe environment to formal data warehousing in a Client/Server environment is not easy. It's worth it, but it's not easy. The US Army survival guide referenced is concerned with providing the essentials needed in life and death survival situations. Certainly data warehousing is not, in the real sense, a life or death issue. However, in a business sense, the success or failure of current data warehousing initiatives can mean life or death to an initiative, a division, a product or job data warehouse, sas base source 4
84 Farewell to Documentation Despair! The Development of a Documentation System Using PROC FSEDIT and PROC FSBROWSE Amy M. Carey Careful documentation is a universal need of critical importance. This paper presents a documentation application, developed in excel, dataset source 4
85 Fast and Easy Ways to Annoy a Statistician: The Sharing and Presentation of Data Between a SAS Programmer and a Statistician Richard M. Mitchell Although even the best novice SAS programmers may adapt quickly to their work environments, it often takes many years of hard work and m illions of lines of SAS code before one may fully understand some of the best and most effective ways to annoy a statistician. When one is having a bad day, or is just plain bored, it is often fun to generate abundant amounts of output where statisticians are forced to sift through page after page for their precious analysis results. It is also amusing to provide as little amount of output and documentation as possible to help clarify discrepancies or oddities of the data for which one knows the statistician will surely question at some point down the road. This paper discusses how a SAS programmer may "make or break" a relationship with a statistician based on the effectiveness of what data are shared and how data are presented proc step, missing value, sas log, sas programmer, proc logistic, regression analysis, odds ratio, logistic distribution, proc freq, proc print, label statement, sample, proc univariate, frequency analysis, sas output, interval variable, logistic regression, response variable, covariance, normality test, proc contents, outlier source 10
86 Fast and Effective Text Standardization (Coding) Without the Latest Stuff Erik H. Dilts Computer equipment and software packages are being upgraded and revised at a remarkable rate, with each component driving the other. This makes many new things possible, and can make old things faster or otherwise more effective, but it can also make those old things obsolete. The cost of keeping even a small company's equipment "up-to-date" can be very high. Therefore, it is important to write applications that will be workable on existing hardware for as long as possible. This paper demonstrates the concepts of a flexible coding system for adverse events, medications, or any other character data that requires standardization, and can be used on a low-end computer system running SAS version 6.12. It is intended for an audience with some experience in application design proc sql, character variable, proc step, proc sort source 7
87 Findings and Sizing Considerations of an Integrated BI Software Solution in an AIX 5.0 Environment and Windows NT Environment Edward Hayes-Hall,
Stephen Krause
This paper presents the first in a number of discussions concerning the implementation and capacity management of Business Intelligence software solutions. This paper discusses capacity management implemented on two distinct architectures. The architectures are 64 bit AIX running on IBM's line of pSeries servers and of 32 bit Windows NT running on IBM's xSeries servers. The software environment consisted of the SAS 8.2 core application. The paper identifies some of the distinct properties associated with these very different architectures, the performance characteristics of these configurations and the relative advantages of the configurations for various business intelligence workloads business intelligence, elapsed time, capacity planning, proc freq, dataset source 6
88 Fitting Generalized Additive Models with the GAM Procedure Dong Xiang This paper describes the use of the GAM proce- dure for fitting generalized additive models (Hastie and Tibshirani, 1990). PROC GAM, production in Re- lease 8.2, provides an array of powerful tools for data analysis, incorporating nonparametric regression and smoothing techniques as well as generalized distribu- tional modeling. Compared with other regression pro- cedures such as PROC REG and PROC GLM, the methodology behind PROC GAM relaxes the usual assumption of linearity, enabling you to uncover hid- den structure in the relationship between the indepen- dent variables and the dependent variable. Moreover, you can use PROC GAM to model not only Gaussian data, but also data from binary, Poisson, and other non-Gaussian distributions proc step, proc gam, regression analysis, response variable, binomial distribution, logistic distribution, poisson distribution, proc reg, proc genmod, predictor variable source 8
89 Format Challenges with PROC REPORT Lisa M. Schneider PROC REPORT is a very useful tool in the production of tables, particularly if the data to be presented in the column contain the same kind of information for all rows in the table. A more challenging situation arises when different types of data (i.e., discrete and continuous variables) are used in the same column to represent dissimilar information that often needs to be differentially displayed. If the report also requires the use of a classification variable to define columns of the report, more complications can occur. The use of COMPUTE statements and an ACROSS variable to handle these conditions is explored. COMPUTE statements conditionally assign different formats to the various data presented in the same column based on the values of variables used to distinguish the rows in the table. An ACROSS variable is used to define the classification structure for the columns proc report, proc step, interval variable source 6
90 Getting Data from SAS to Your Palm Jack Hamilton A PalmOS Personal Digital Assistant (PDA), such as the Palm III, is a compact device for viewing and entering data. This paper provides an overview of what these devices can do, and suggests a few methods for getting data into a Palm using SAS as an intermediate step. This paper does not address wireless devices, and does not provide detailed SAS code txt, dataset source 6
91 Getting Started with PROC LOGISTIC Andrew H. Karp logistic distribution, logistic regression, proc logistic, predictor variable, proc step, regression analysis, response variable, odds ratio, estimate, proc reg, proc genmod, confidence interval, data science source 5
92 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
93 Getting the Most Out of Your High-End UNIX and NT Server with SAS Margaret A. Crevar,
Leigh A. Ihnen,
Gary Mehler
numeric variable, proc step source 9
94 Growing Genetic Cows with SAS: Using Low Cost Parallel Processing With Linux - MS/NT Networks to Search Genomes Haftan M. Eckholdt Using SAS to manage and run a LINUX / WINDOWS-NT based cluster of workstations (COW) to simulate a parallel processor puts the price of supercomputing well within most research budgets. The criteria for using COW's will be discussed in terms of their job symmetry and intermediate solution timing. Special problems, and their solutions are discussed including the fact that all COWs need: lots of smoothed electricity, lots of cool breezes; and lots of hard drives. Using three layers of file monitoring, job distribution, and data analysis, SAS can provide clever and cost effective paths to COW management and usage [X command, liquidity gap, parallel processing, macro variable, macro definition source 6
95 Hip, Hip, ARRAY... Duplicating and Modifying Records With an ARRAY Jeanina M. Worden,
Lauren L. Shinaberry
This paper demonstrates how observations can be added to or modified within a dataset by using a combination of an ARRAY and IF…TH EN…DO statements if a single observation meets a specified criterion. The criterion discussed here requires a comparison be made to verify whether a start period and an end period of an event are the same, and the action taken using BASE SAS v.6.12 if they are not do loop, missing value source 3
96 How Many Observations Are In My Data Set? Jack Hamilton This paper presents a macro which returns the number of observations in a SAS data set or view, with an optional WHERE clause, and an additional macro which indicates only whether the data set or view is empty where statement, macro variable, data step, proc step, proc print, proc sql, macro definition source 6
97 How the SAS System Can Be Used for Teaching Statistics Barbara G. Schneider This presentation offers ideas and examples for using the SAS System in teaching statistics to students in medicin and to physicians. Two parts will be discussed. The first part describes features already available in the SAS System. The second part introduces an educational application. This application is a visual demonstration of elementary statistical notion. Topics such as the influence of changing the parameters of a distribution on the shape of the distribution and the variability of a point estimator are discussed. The demonstration is developed on a PC (Windows) using Base SAS , SAS/GRAPH , SAS/INSIGHT and SAS/AF. SAS Version 8.1 SAS code will be shown. The presentation is aimed at people who are interested or involved in teaching statistics binomial distribution, normal distribution, probability functions, regression analysis, macro variable source 4
98 How to Build Human-like, Fuzzy Applications with SAS/AF Markku V. Suni In this paper there are three points to direct our attention to: people, computers, and people and computers together. People do not usually think in exact terms. Instead of having a fixed amount in mind, they tend to ponder, whether a car, an insurance policy, a house, or something, feels expensive. The customer might be willing to go somewhat higher in terms of price if the offer is otherwise interesting. On the other hand, a not so interesting offer may feel expensive even at a lot lower rate. This is well known by all salespersons. On the other hand, computers are most exact in their thinking - or should we say, reasoning. When building applications of the people, by the people, and for the people, we should keep in mind those differences in thinking. As the raw processing power has become relatively cheap, we can afford to concentrate on making applications to imitate the human way of thinking data step, financial services source 3
99 How to Create Dynamic HTML and Javascript using your Data Jennifer R. Sinodis With increasing information technology the Internet/Intranet offers an accessible channel for displaying and viewing meaningful information. By using SAS to generate HTML and JavaScript you can create great looking, maintenance-free, dynamic web pages for your users. This paper will show how to use SAS/BASE to build HTML output to your web site using SAS Version 7 and Version 8, with HTML formatting macros and ODS (Output Delivery System). It will also show how SAS/BASE can produce JavaScript to generate drop-down menu options built directly from your data, validate drill down options and dynamically access web output. The paper will also describe how SAS/INTRNETTM software can create this output dynamically from your web site. For the purpose of this paper most of the SAS programs shown are simplified. Some of the programs use macro code , thus basic macro code knowledge is assumed. This paper will also show HTML, but it will only briefly explain some of its code for clarity if-then-else, retail banking source 6
100 How to Publish Your Old Reports on the Web without SAS Web Facilities Claude Rhéaume,
Gilles Turgeon
You would like your reports to be available in HTML format for a better diffusion, as ODS allows you to do with the new version of SAS. But what if your company uses an older version of SAS? What if reports are produced using software other than SAS? Or what if ODS just can't do the right type of report requested? Here is a portable, platform-independent solution which will allow you to translate all your reports to HTML, regardless of the software used to create them, using only the SAS/BASE software source 5
101 How to Visualize the Dance of the Money Bees Using Animating Graphs in SAS/INSIGHT Mang-King W. Cheung proc step, excel, scatter plot, proc transpose source
102 HTML for the SAS Programmer Lauren E. Haworth sas output, footnote statement, title statement, proc step, ods html, proc template, sas programmer source 9
103 I'll Have the TABULATEs a la ODS Please, With a Table of Contents On the Side Ray Pass The advent of the Output Delivery System (ODS) in Version 8 (all right, it was really introduced in V7, but I still refer to V7 as V8 beta) of the SAS System is truly monumental in scope. It required rewriting all SAS procedures that produce output (not all do) and splitting out their "data components" from their "table definitions" (presentation format templates). We now have the ability to combine these components into customized "output objects" and to send them to different output "destinations", including casting them as HTML pages. When we do use the HTML destination, we also have the ability to produce our main content output as one component frame of a multi-frame page, the other possible component frames being either procedure or page oriented Tables of Contents. Although there are proc step, proc print, proc tabulate, macro variable, output delivery system, title statement, ods html, dataset, proc template, excel, raw data source 9
104 Improving Productivity with MP CONNECT Wen Lin Have you ever complained that you can not have your SAS applications take advantage of the multi-processors available in your client or server platforms in order to get more done in the same amount of time? If so, and your system has already upgraded to SAS V8, then the problem can be solved easily. A new feature in V8 of SAS now allows your SAS jobs to take advantage of your MP/SMP hardware. The feature is part of the SAS/CONNECT module and is called MP CONNECT(Multi-process CONNECT). MP CONNECT allows your SAS jobs to be divided into multiple independent units of work and execute in parallel, so that these jobs can be performed in less time than they are performed sequentially. This paper presents the concept of MP CONNECT and its benefits. It will also introduce that how the author made modification/additions to the existing time-consuming batch jobs so as to improve productivity with MP CONNECT in the daily grind mp connect, batch job source 3
105 Informational System for Planning and Consolidation Eugene A. Grishenkoff Data processing model for MDDS editing was developed after analysis of planning and consolidation business processes, and was tested by prototype implementation of the Informational System using SAS/EIS customization and SAS/AF tools. The sense of new approach consists in using SAS Multidimensional Report object not only in passive mode for browse data, but also in active mode for dynamically modification both data and dimension values, for formulas building. Special rules are stated for edit value in any cell of any report. They are based on balance keeping and allow changing aggregate tables data in any order with keeping data mismatch at levels of RESERVE, which are below in hierarchy. User may create and modify own multidimensional database beginning just from one cell, to fill it by data and dimensional values from EXCEL tables with hierarchical header and left side-header with arbitrary tree structure, by computed values, manually edit and distribute values by some ways proc step, proc means, excel source 7
106 Input File Cleaning and Screening Using a SAS Macro Mike D. Tangedal Building a thorough logic table noting all screening and quality checks to be put in place for data input files of a known structure can pay great dividends. Using Base SAS and the logic in the table, t h i sm a c r os e r v e st oh e l pb u i l dad e t a i l e dq u a l i t ye n h a n c e m e n tt o o l with minimal effort. The key is to apply generalizations in terms of standard SAS code based on summary category codes. Format tables as well as capturing output from PROC FREQ and PROC MEANS is also used. The result is a input file summary table listing each variable along with the number of missing observations and summary information such as range, list of values, and number of values equal to zero. The result of this macro is a data set containing the input file information plus flags set by the logic table. Also created are reports showing examples of anomalies in the input file and frequency reports of categorical variables proc step, proc freq, proc means, nominal variable, temporary array, numeric variable, macro definition source 7
107 Integrating SAS and OMR Data Scanning Technology to Improve Efficiency with Database Management Peter H. Coulson Administrators rely on management information systems when making important decisions. The management information system may not contain all the data elements necessary to make informed decisions. When the management information system does not contain the necessary data, research projects are conducted to complement existing data. These research projects can be labor-intensive and time consuming. Combining Optical Mark Recognition (OMR) technology with SAS can expedite the process. OMR technology is the scanning of forms with darkening dots. OMR technology enables researchers to customize the information gathering forms, develop multi-page booklets, and program the scanner to recognize obvious errors. OMR and SAS can provide more accurate data without keypunching and with minimal time devoted to database creation. Automating database creation and expediting data collection can provide more accurate data with less labor mis, management reporting, sample, flat file, dataset, proc sql source 3
108 Integrating SAS in Corporate IT John M. LaBore,
Thomas H. Burger
Applied users widely recognize the value of information delivery using SAS software. Integrating SAS into the business increases and streamlines productivity. However, limited awareness may exist in corporate IT of the role these tools play in knowledge formation for business solutions. The undervaluation of SAS stems from historical use by researchers, rather than IT developers enamoured by new technology. This can be remedied by raising corporate IT's awareness of cutting- edge SAS tools and the value of their adoption for timely solutions to a growing range of tasks. We discuss issues associated with raising corporate IT's awareness of the power of SAS software clinical research, insurance source 6
109 Integrating SAS with an Open World: Java, JSP, LDAP, and Oracle Jay L. Stevens,
Brian Santucci
The world of business technology is no longer the sole domain of proprietary systems and protocols; it is now a world of open standards and collaboration. While it has its roots in the "big Iron" of the mainframe world of yesterday, SAS has more than kept up with the incredibly rapid rate of technological change accompanying the Internet revolution. By providing industry-standard interfaces between its software and open technologies such as Java and LDAP, SAS have given businesses new ways to de liver information. THINKologies develops cutting-edge technology-based solutions to identify, measure and predict the dynamics of business relationships, helping companies monitor and enhance their relationships with customers, employees, and business partners. THINKologies required world-class data warehousing, reporting and analysis tools that integrated with the latest open technologies available proc sql, sas base, sas enterprise guide source 5
110 Intelligent SAS Log Manager Paul D. Sherman The SAS log generated during program execution is one of the richest sources of application health, especially when dealing with macros which build and invoke code dynamically. Explicitly sending messages to the Log Manager at critical steps throughout the application one may disable all low-level SAS feedback and present only relevant, highly specialized information to the SAS log. One is led immediately to the source of both compile-time and run-time errors. Resulting is a clean, well-structured and specific trace of application flow throughout the entire job submitted sas log, call execute, macro call, &variable, proc step, macro definition, proc sql, %if-%then-%else source 4
111 Internet and Web Resources for SAS Programmers and Statisticians Wei Cheng The Internet is playing a more and more important role in exchanging information and helping people meet. It is a library, a shopping mall, a mailbox, and a research tool. For SAS programmers and statisticians, the Internet is also an important resource for communicating with the community of SAS users, for accessing various SAS documents, and for getting consulting help. The resources of the Internet and the World Wide Web are already enormous and still expanding. This paper is designed to help SAS programmers and statisticians know what is on the Internet and where it is. It can be kept as a reference guide clinical trial, macro definition source 6
112 Introducing External Data to the SAS System - The Interactive Session Andrew T. Kuligowski One of the first challenges that a new SAS user encounters is to enter their data into the SAS System. Manual entry is obviously not usually the answer; however, it is often unclear just how to best accomplish this task. This Hands-On Workshop will utilize an interactive approach to illustrate various tools that will bring assorted types of files - sequential, CSV, EXCEL, and others - into SAS for further processing input statement, infile statement, proc step, character variable, proc import, proc sql, filename statement, excel, column input, list input, length statement, sample, dataset source 10
113 JavaScript Tutorial by Example Izabella Peszek This/i32paper/i32presents/i32a/i32code/i32walk-thru/i32for/i32a/i32useful JavaScript/i32application/i32designed/i32to/i32construct/i32a/i32call/i32for/i32a SAS/I32/i32macro./i32It/i32is/i32intended/i32to/i32help/i32you/i32learn/i32the/i32basics of/i32JavaScript/i32by/i32example./i32It/i32is/i32not/i32a/i32comprehensive JavaScript/i32tutorial:/i32you/i32are/i32encouraged/i32to/i32consult/i32books on/i32JavaScript/i32to/i32read/i32more/i32about/i32the/i32presented techniques./i32Some/i32good/i32references/i32are/i32given/i32at/i32the/i32end/i32of the/i32paper. You/i32can/i32use/i32the/i32code/i32"as/i32is"/i32without/i32understanding HTML/i32tags,/i32/i32but/i32the/i32paper/i32will/i32be/i32easier/i32to/i32follow/i32if/i32you have/i32some/i32familiarity/i32with/i32HTML/i32syntax macro call, data cleaning, keyword parameter, %macro parameters, macro definition, macro parameter source 7
114 JMP and JSL Used to Create a Visual Application Andy Mauromoustakos,
Kevin C. Thompson
dataset, proc freq source
115 Joining SAS and DBMS Tables Efficiently Garth W. Helf A common task in Data Warehouse applications is joining a SAS data set with tables in a relational database (DBMS), such as DB2, Oracle, or Teradata. For example, you work for a company that manufactures televisions, you have a SAS data set that contains serial numbers of 100 televisions returned for warranty repair, and you want to look up information for these 100 televisions in a DB2 table that contains the manufacturing history of all 1 million TVs you made last year. SAS versions 6.12, 7, and 8 provide tools in the SAS/ACCESS Software for Relational Databases product to transparently join SAS data sets with DBMS tables in the SQL procedure or DATA steps. This paper, intended for intermediate and advanced SAS users, describes these tools, explains why performance can be very poor when you join a SAS data set with a large DBMS table, and presents some solutions to make the join more efficient proc sql, dataset, proc step, libname statement, where statement, create table, macro variable, macro definition, macro call, options statement, macro loop, %if-%then-%else source 6
116 Know and Respond to Your Web Customers Ben Zenick Time and business needs have changed many things in the new economy, but one of the constants has been data. Businesses continue to have overwhelming amounts of data available to them to assist in making strategic business decisions. Over the years, another constant has been SAS' place as an industry leader in Data Warehousing and Decision Support Applications. By applying these time proven techniques they have begun to provide companies a very effective way for understanding the taxonomy of their web channels, as well as the behavior of customers browsing these various channels. This web channel, when utilized properly, can become one of the most important data sources of customer information and behavior. This data must be integrated into their strategic CRM vision in order to allow a business to quickly adapt and respond to market demands product affinity, business intelligence source 3
117 Let's Go to School and Discover the OOH in SCL Michael A. Mace Call it SAS Screen Control Language or the SAS Component Language, SCL is the programming language which helps to make SAS/AF and SAS/FSP applications so powerful. This paper will provide an introduction to the many features of SCL, starting with its elements and rules and structure (doesn't that sound like we are in school again) and moving on to its use in SAS/AF and SAS/FSP@ applications. There are an amazing number of things that SCL can do - and we will not try to cover them all; this paper is simply a primer, hopefully taking away some of the mystery, and providing a good basis for getting started, further study, and exploration. Now, let the class begin … Lesson I: What are the Elements of SCL ? SCL and the base SAS language share many of the same elements, such as: statements, functions, operators, variables, macro capability, and CALL routines dataset, macro variable, where statement, catalog, sysrc, length statement source 10
118 Long Names and Other V8 Tips Arthur L. Carpenter,
Tony Payne
With the advent of the Nashville releases of the SAS System (Versions 7 and 8), a number of new opportunities have been added to the toolboxes of Job Security afficionados. In previous presentations and papers (Carpenter, 1993; Carpenter and Payne, 1998) a series of tips and techniques have been foisted on the unsuspecting SAS user community with the objective of increasing the job security of SAS programmers by making them indispensable to their bosses. The list of tips continues to grow. And now with the added features of the Nashville releases, the list is greatly expanded. One area of special interest for job security specialists has revolved around the naming of variables and data sets. Now with the relaxed restrictions for SAS names comes a large number of both challenges and opportunities. New system options and the advent of the Output Delivery System, ODS, also provide a number of techniques that will surely become favorites in the future proc step, proc format, proc sort, %if-%then-%else source 7
119 Macros for Euclidean Distances Robert O. Bernstein This paper describes how SAS software was used to Measure the Euclidean distances between observations for data on every school in California. Distances were measured in order to test a method of identifying sets of the 100 most similar schools for each particular school. Results could be used to compare school performance measures between similar schools in California. Macros were written to do the repetitive calculations on each school. Simple, but effective, macros were used. The power of macros has increased drastically since 1985 when I published my last SUGI paper, which also covered the use of macros. The program used in this report uses only base SAS. While it was written using the SAS system for PCs, it should work on all operating systems. Macro code is presented for any level SAS user, but is aimed for SAS users that are beginning SAS macro programmers sas base, distance measure source 5
120 Make Your Life a Little Easier: A Collection of SAS Macro Utilities Peter J. Lund macro variable, sysdate9, macro definition, macro put, date variable, macro loop, %if-%then-%else, proc step, proc sql source 10
121 Managing the Development of SAS Applications with SAS Frank Poppe The change to SAS version 8e has important consequences for the application development process. An application is no longer limited to SAS but can involve things as a broker configuration, HTML-code, CSS-files, JavaScript-code, applets, etc. This paper investigates the consequences for an applications development management tool. SAS always has been a system that not only provided ready to use solutions, but also the means to develop applications (from small macros to large packages). The development of large applications within SAS calls for tools to manage the development process. These are not standard available, and therefore the 'SAS Applications Environment' (SAE) was developed. Key functions of SAE are the following: different roles and rights (co-ordinator, developer, etc.). automatic locking when an element is downloaded for editing; testing stand-alone or in combination with other elements; programming tools like catalog wide searching, neat layout of code, etc catalog entry, catalog source 4
122 Merging Disk Datasets to Large Unsorted Tape Datasets without a Sort Step, Using Indexed SAS Files William E. Benjamin Jr. At times external flags or data need to be added to large unsorted tape files. The data may come from different systems or time periods, but need to be added to be able to represent relationships not available alone. Tape files with several million records and nearly a thousand variables take a long time to sort, if they can be sorted. Indexed SAS files can be used to find a sparse set of records that require updating and apply data to the output records, by reading data from the indexed disk file without sorting the tape file. This is, of course, slower than a merge but it can usually be faster than a sort. In this way data from any disk based file can be added to the tape data set. This is a process available in Base SAS to all levels of skill proc sql, proc print source 3
123 Merging Small Datasets to Large Unsorted Tape Datasets without a Sort Step, Using SAS Formats William E. Benjamin Jr. At times external flags or data need to be added to large unsorted tape files. The data may come from different systems or time periods, but need to be added to be able to represent relationships not available alone. Tape files with several million records and nearly a thousand variables take a long time to sort, if they can be sorted. The SAS FORMAT Procedure can be used to build a SAS data FORMAT to find a sparse set of records that require updating. The data can be added to the tape file records, using a SAS DATA STEP to find affected records without sorting the tape file. This is, of course, slower than a merge but it can usually be faster than a sort. In this way small amounts of data can be added to the tape data set. This is a process available in Base SAS to all levels of skill sas base, format statement, proc format, proc step source 3
124 Merging Tables in DATA Step vs. PROC SQL: Convenience and Efficiency Issues Gajanan Bhat,
Raj Suligavi
The main objective of this paper is to discuss the convenience and efficiency of processing various types of data merges using DATA STEP and PROC SQL. The paper shows strengths and weaknesses of both approaches in various types of merges and how and where to use them. DATA STEP is an easy, convenient and safer proc step, proc sql, proc sort source 4
125 Metadata: Everyone Talks About It, But What Is It? John E. Bentley Everyone agrees that metadata is important. But then why do so many data warehouse and data mart users complain about the unavailability or completeness of their metadata? At least part of the reason is that there's no agreement on just exactly what is "metadata". The simple definition-"data about data"-is too fuzzy and in most contexts simply inadequate. Unfortunately, most contextual-specific definitions are unworkable or inappropriate for business users. This paper provides a definition that can be incorporated into a metadata solution for those who often need it most-the business users. Disclaimer: The views and opinions expressed here are those of the author and not those of First Union National Bank. First Union National Bank does not necessarily subscribe to any philosophy, school of thought, approach, definition or process the author describes data warehouse, data cleaning source 5
126 Migrate to Oracle? I Need My SAS!! Dianne Louise Rhodes Recently we have heard SAS users asking, "My shop is moving to Oracle|Sybase|Informix. They tell me I can't use SAS anymore. They tell me I don't need SAS anymore. I don't know SQL and I don't want to write SQL pass through. I need my SAS! What can I do?" This paper introduces you to some basic relational database management systems (RDBMS) concepts. It discusses some design considerations used to construct RDBMS. And it answers the questions presented above. Why you still need SAS. How to use SAS with an RDBMS. Easy ways to write SQL and make the connection to Oracle; create SAS datasets from Oracle; and join SAS data and Oracle data proc sql, normalization, dataset, key, relational database, oracle, sample, time series analysis source 5
127 Migrating Your SAS ODBC Application To ADO David Shamlin Do you use the SAS ODBC driver to incorporate SAS data into your applications? You can simplify your applications by using Microsoft's ActiveX Data Objects (ADO) and additional features supported through the SAS/SHARE Data Provider. This paper describes how to convert your ODBC data sources to ADO Connection objects, how to use these objects to access SAS data and how to leverage SAS/SHARE servers using ADO proc sql, select, missing value, update statement source 7
128 Migration from OpenVMS to Windows NT: Issues and Considerations for Programmers Adrien Ndikumwami OpenVMS has been the operating system of choice for deploying SAS system in many educational and research institutions. The advent of Windows NT, coupled with uncertainties surrounding the future of OpenVMS, is propelling organizations to migrate SAS System applications from OpenVMS to Windows NT. This migration challenges administrators and SAS programmers. An appreciation of the differences and similarities operating systems as they relate to SAS System facilitates the transition process. File structure, file editing, program execution, data sorting, numeric data representation, invoking host-specific commands, magnetic tape processing, and application integration are discussed sas programmer, batch job, proc sort source 3
129 MISSOVER, TRUNCOVER, and PAD, OH MY!! Or Making Sense of the INFILE and INPUT Statements Randall Cates The SAS System has many powerful tools to store, analyze and present data. However, first programmers need to get the data into SAS datasets. This presentation will delve into the intricacies of reading data from sequential (text) files using the DATA STEP and INFILE and INPUT statements. Discussion will focus on the different options available when reading different types of text files. For example, when should you use the MISSOVER option and when is the TRUNCOVER option more appropriate. This paper assumes the audience has basic knowledge of reading text files using the DATA STEP (Base SAS ) and is appropriate for users on any Operating System, although some options may be restricted input statement, infile statement, filename statement, dataset, list input, txt source 6
130 Mixing It Up with the SAS System William C. Murphy All of the subjects have been examined. You have acquired a mountain of data. The data has been read into the SAS system and the basic demographic tables have been outputted. Now how do you proceed? You are trying to model an effect, but you have dozens of variables. The selection of a discrimination model is both an art and a science. Often, the choice of the most suitable model involves a consideration of the sensitivity and specificity of potential model candidates. PROC DISCRIM provides an easy way to find these quantities for variable combinations, but you still must come up with those combinations. What you need to do is run PROC DISCRIM for hundreds or even thousands of combinations of variables. A SAS macro program can readily generate these combinations and execute the procedure by employing the self-calling feature of version 8 macros. To avoid the massive number of pages generated, the SAS Output Delivery System (ODS) can be used to extract the pertinent information macro loop, do loop, proc discrim, proc step, macro parameter, macro variable, sas output, macro definition source 3
131 Model Fitting in PROC GENMOD Jean G. Orelien There are several procedures in the SAS System for statistical modeling. Most statisticians who use the SAS system are familiar with procedures such as PROC REG and PROC GLM for fitting general linear models. However PROC GENMOD can handle these general linear models as well as more complex ones such as logistic models, loglinear models or models for count data. In addition, the main advantage of PROC GENMOD is that it can accommodate the analysis of correlated data. In this paper, we will discuss the use of PROC GENMOD to analyze simple as well as more complex statistical models. When other procedures are available to perform the same analysis, we will highlight the options from these procedures that may be missing in PROC GENMOD but might be of interest to the user. An example is given showing how PROC GENMOD is used to analyze various types of endpoints (continuous and count data) from a toxicology experiment proc step, proc genmod, proc glm, logistic distribution, correlation, anova, proc logistic, regression analysis, proc reg, logistic regression, proc anova, predictor variable, proc mixed, poisson distribution source 6
132 Modeling Lifetime Value in the Insurance Industry C. Olivia Parr Rud Acquisition modeling for direct mail insurance has the unique challenge of targeting responsive customers while minimizing risk. In addition, factors such as the probability of a paid premium and customer profitability all effect the Lifetime Value of a prospect. This presentation will detail the steps to develop a Lifetime Value, which can used to optimize the selection of prospects. Topics covered include how to structure and prepare data for analysis to model construction and validation. Additional directions for overlaying a risk segmentation model and product profitability are described. A final discussion will cover criteria for final name selection based on company sample, logistic distribution, logistic regression, missing value, regression analysis, data cleaning, univariate analysis, interval variable, response variable, predictor variable, proc logistic, standard deviation, proc step, gain chart source 8
133 Monitoring Usage of UNIX Software Stephen B. Taubman Fifteen software packages are frequently used by 350 UNIX users at our site. Most of this software is either statistical, such as Gauss and S-plus, or word processing, such as WordPerfect and Interleaf. Each month, usage reports, in the form of graphs and charts, are produced. They show the number of distinct users, number of executions, and other information for each package. This paper will describe how SAS /C0082 software is utilized to produce these reports and graphs. These reports are used to help determine the future status of our software environment. BASE SAS and SAS/GRAPH/C0082 software are used to produce these reports. A novice SAS user should understand most of this paper output delivery system, sas base, proc step source 4
134 More Than Just VALUE: A Look into the Depths of PROC FORMAT Peter J. Lund It doesn't take long for even novice SAS programmers to get their feet wet with PROC FORMAT. It usually consists of a VALUE statement to recode a race or gender variable, or assign a state name to an abbreviation. It might have even been real fancy and used ranges to collapse ages into groups. All too often that's as far as the use of PROC FORMAT goes, which is a shame because there's a lot of power at your fingertips if you dig a little deeper. This paper covers some of the lesser-used aspects of PROC FORMAT, including the PICTURE statement, CNTLIN/CNTLOUT datasets, nested formats, multi-level (overlapping range) formats, and permanent formats and the FMTSEARCH option. There are some things that are new to Version 8, others that just seem to be some of those undiscovered gems, and a few "gotchas" to be aware of. A basic knowledge of PROC FORMAT and VALUE/INVALUE statements are assumed proc format, proc step, char., proc tabulate, sample, format statement, date variable, proc sql source 10
135 Mouse-Clicking Your Way to Viewing and Manipulating Data with Version 8 SAS Terry Fain,
Cyndie B. Gareleck
Version 8 of the SAS System offers several powerful ways to view and interactively manipulate data. This paper will focus on four such methods: PROC FSEDIT, PROC FSVIEW, Viewtable, and the Analyst Application. We will examine the strengths and limitations of each approach, with an emphasis on their most powerful features and ease of use. While the examples illustrate either a Microsoft Windows 2000 or Microsoft Windows NT Workstation 4.0, SP6 system, the concepts are equally applicable to other operating environments proc step, where statement, sas base, dataset, proc sort source 6
136 Multi-Process Connect - What, When, Where, How, and Why John E. Bentley SAS Software Version 8 supports parallel processing on symmetrical multiprocessor (SMP) systems. Part of mp connect, parallel processing, proc sql source 10
137 Multivariate Methods for Process Knowledge Discovery:The Power to Know Your Process Bob Rodriguez Knowing the relationship between the input and out- put variables of a process is critical to process mon- itoring, prediction, and optimization. Powerful meth- ODS for multivariate process modeling, which address the large volumes of data available in modern man- ufacturing environments, have been developed by chemometricians and are being applied within the chemical process industries. This paper provides an proc princomp, sample, proc step, regression analysis source 12
138 New Methods for Modeling Reliability Using Degradation Data Jose G. Ramirez,
Gordon Johnston
Engineers and researchers use life tests in a wide variety of industrial applications to determine how well critical components and materials will perform under different operating conditions. By estimating the failure time distribution, decisions can be made that influence the design, improvement, and storage of products so they meet customer requirements. Manufacturer warranty decisions may also be influenced by knowledge of product reliability performance. Traditional life tests are often not the most efficient way to obtain reliability information because few, if any, actual failures are observed. On the other hand, it is often possible to obtain pseudo- failure data using degradation measurements. Consequently, there is growing interest in studying the degradation of product performance or material properties over time. In this paper we describe two methods for the analysis of such data sample, proc step, confidence interval, estimate, bootstrap, proc mixed, weibull distribution source 7
139 New Visualization in V8.2 Himesh Patel Looking for a pain-free way to combine tables and graphs on the same page? Well, the search is over - with the new ODS RTF option, combining graphics and tables is easy. We did not quit there, now you can also print your client-side graphs and tables using the new ODS PRINTER option. Along with the enhancements we have made to ODS, we have added several new options to the existing SAS/GRAPH procedures. This paper also highlights several new visualizations that are part of the solution based SAS products such as WebHound proc step, bar chart, time series analysis, sample, ods pdf, ods rtf source 7
140 Now There Is an Easy Way to Get to Word, Just Use PROC TEMPLATE, PROC REPORT, and ODS RTF Bob J. Hull Getting SAS System output into Word documents dynamically and easily can be a great benefit to both you and your company. A great deal of effort has gone into getting SAS output into Word documents. This is because SAS output is not in a format that can be used in reports. People prefer to be able to cut and paste into their reports. This tends to be much easier to do from Word. However getting files into Word, or another word processor, has not been easy. Anyone with a system already in place to create Word output might be hesitant to switch over immediately. However, the speed at which rtf files can be created will sway many people to try this wonderful new technique. This paper is designed to get you started using PROC TEMPLATE, PROC REPORT and ODS RTF to deliver quality RTF output quickly proc step, proc report, ods rtf, proc template, sas output source 4
141 ODS and Browser Interaction Solutions Steven H. Feder While SAS ODS readily produces HTML files, some difficulties remain in using the output. Browser interaction in some cases formats default output so that it is difficult to read. Back- end browser manipulation offers solutions, but redirecting the output through PROC REPORT still works better for some applications proc step, label statement, proc report, proc means, ods html, proc template source 3
142 ODS for PRINT, REPORT, and TABULATE Lauren E. Haworth proc step, proc print, ods html, proc tabulate, proc report source 9
143 ODS for Reporting with Style Susan J. Slaughter,
Lora D. Delwiche
proc step, proc tabulate, ods html, output delivery system, class variable, proc template, ods rtf, format statement, proc print, dataset, sas output source
144 ODS, YES! Odious, NO! - An Introduction to the SAS Output Delivery System Lara K. Bryant,
Ray Pass,
Sally M. Muller
ODS (originally pronounced 'odious', but now pronounced 'ya gotta love it') is the new SAS System facility, starting with Version 7, that you can use to format your PROC and DATA output in ways just recently only dreamed about. ODS offers greatly enhanced flexibility and ease of use for both new SAS users and experienced SAS users new to ODS. This paper will discuss the basics of ODS, emphasizing proc step, output delivery system, file statement, proc univariate, proc reg, run, ods html, output, ods output, proc freq, ods listing, dataset, sas log, anova, ods trace, proc print, data step, sas output source 10
145 OLAP Best Practices - What You Need to Consider When Building and Deploying an OLAP Application Greg Henderson SAS/OLAP Server Software is a powerful, flexible and scalable OLAP solution. It's hybrid OLAP (HOLAP) architecture provides the flexibility to store data in whatever format is most appropriate based on the characteristics of the data and how the data will be used. This also means, however, that choices must be made as to what is the most appropriate data model for a successful OLAP application. This paper will identify and discuss the issues that need to be taken into account when designing and deploying an OLAP application access control, star schema, proc step, sas enterprise guide source 7
146 On the Development of Data Mining Certificate Program at the University of Central Florida With SAS Morgan C. Wang,
Mortaza Jamshidian,
Ying Zhang
A certificate program in da ta mining with the a im of training students to master SAS Enterprise Miner software and be ready to joint the data-mining work force upon graduation has established in the Department of Statistics at the University of Central Florida (UCF). Th is program is strongly supported by SAS Institute and local business community such as Sodexho Marriott and United Space Allian ce. SAS training courses covered in this program include SAS Programming I, SAS Program II, S QL Processing with the SAS S ystem, SAS Web Tools: Static and Dynamic Solutions Using SAS /IntrNet, SAS Web Tools: Advanced Dynamic Solutions, Predictive Modeling Using Logistic Regression, Enterprise Miner: Decision Modeling, Enterprise Miner: Neural Network Modeling, Statistics I source 3
147 One Engine, Three Apps - Rapid Application Development By Not Writing Code Amy Swinford The original business need was to develop a customized query tool for a data warehouse that did not yet exist. The data was expected to be large - millions of observations with thousands of variables. Another department was creating the database and their design for efficient data storage made getting information cumbersome for the uninitiated. The solution was a data-driven, custom query tool that did not require a degree in database engineering to use. Users were able to answer questions that previously took weeks and a programmer to resolve, as well as some that couldn't even be approached. The added benefit turned out to be an interface that could be easily configured for other datamarts. The interface works on any Windows based system, and has been successfully tested on Unix systems as well. The data it grabs has, at various times, been located on Windows, Unix, and MVS servers. The same engine has now been in use for 3 different applications and a fourth is on the way sample, excel source 4
148 Outliers, Inliers, and Just Plain Liars - New Graphical EDA+ Techniques For Understanding Data Dave L. DesJardins Graphs, the natural language of mankind, offer even novice data analysts a quantum leap in their data editing/analysis capability. In our dynamic, rapidly changing world, we are faced with a virtual flood of data -- often from very vital/complex systems. Unfortunately, this flood of data can likewise be a real challenge to understand/analyze/edit. Many of our traditional/conventional data analysis/editing methods generate fixed-formula printouts requiring an analyst to review and correct the fields of records that are thought to be erroneous. There are many limitations to these conventional methods -- even when well designed. They sometimes overlook basic methodological problems, they typically channel the reviewers in a manner that either may not allow a number of the errors to be found, or they focus on traditional (outdated?) relationships, and they often do not account for changes in the data data science, predictor variable, outlier, imputation, response variable source 6
149 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 workshop is intended to teach attendees how to convert tired and old output listings into beautiful Web pages for the whole world to see. Attendees will work with base-SAS software, ODS, Microsoft Explorer, and HTML to create exciting Web output sas output, ods html, proc univariate, output delivery system, file statement source 5
150 Output Delivery Tips, Tricks, and Techniques Using SAS Output Delivery System (ODS) Kirk Paul Lafler proc univariate, sas output, output delivery system, proc format, ods rtf, ods html, file statement, proc step source
151 Partitioned Mahalanobis D^2 to Improve GIS Classification Lynette K. Duncan,
James E. Dunn
Recent work has pointed out the utility of using a k-component partition, say D 2(k), of Mahalanobis D2 in order to sharpen the quality of GIS-based habitat maps. This paper reviews the mathematical basis of the partition, and uses two examples from ecology to illustrate how the approach is implemented using proc step, proc princomp, factor loading, proc calis, correlation, factor analysis, macro variable, confirmatory factor analysis, logistic regression, feature selection, sample, logistic distribution, regression analysis, data cleaning, macro definition source 6
152 Performing Multiple Statements for Each Record in a SAS Data Set Edward J. Moore A mainstay of database languages is the SCAN loop. This feature allows a programmer to loop through a table and perform tasks using the information in each record. SAS has similar functionality with the built-in loop of the DATA STEP. However, the constraints of DATA STEP programming greatly limit what tasks a programmer can perform. A programmer cannot, for example, begin a PROC STEP or another DATA STEP while looping within a DATA STEP. The limitations inherent in the DATA STEP can be frustrating constraints, but it is possible to create a work-around using macros and the %DO loop. To do this, a SAS program must pull one record at a time from a data set and then store any fields of interest within macro variables. Any program step can now access the contents of a record. Performing these tasks within a %DO loop provides a good simulation of the SCAN loop available in other database languages call symput, macro variable source 2
153 Point and Click Web Pages with Design-Time Controls and SAS/IntrNet Vincent DelGobbo,
John Leveille
SAS Design-Time Controls (DTCs) are a powerful and exciting addition to SAS Web Technologies. These add-in software components integrate back-end SAS software functionality with your desktop HTML editor. You can now create Web pages that contain SAS content in a WYSWIG, point-and-click fashion using any one of several popular HTML editors. In most cases, you do not have to write a single line of code dataset, output delivery system source 7
154 Power and Sample Size Determination for Linear Models John M. Castelloe,
Ralph G. O'Brien
This presentation describes the steps involved in per- forming sample size analyses for a variety of linear models, both univariate and multivariate. As an an- alyst you must gather and synthesize the information needed, but you should be able to rely on the ana- lytical tools to accommodate the numerous ways in which you can characterize and solve problems. Ex- amples illustrate these principles and review relevant sample size, sample, correlation, anova, proc genmod, regression analysis, power analysis, proc mixed, standard deviation, covariance, multiple regression, partial correlation, fixed effects, proc reg, null hypothesis, one-way anova, primary endpoint source 13
155 Predictive Modeling in the Insurance Industry Using SAS Terry J. Woodfield Insurance companies, third party insurance administrators, state insurance funds, state regulatory agencies, insurance industry consultants, and application service providers (ASP) use SAS software in a variety of predictive modeling situations. SAS Enterprise Miner provides tools for modeling continuous responses, such as monetary losses and time off work, and discrete responses, such as fraud, third party subrogation, and litigation. Enterprise Miner includes a rich set of menu driven modeling solutions as well as an underlying array of SAS procedures for modeling insurance data. This paper will address two problems, predicting losses and detecting fraud. Two possible solutions will be presented for each problem, and additional solutions will be suggested. The paper is intended for actuaries, business analysts, and insurance managers who are interested in solving predictive modeling problems in the insurance industry data mining, workers compensation, neural network, regression analysis, proc hpsplit, property and casualty, network optimization, logistic regression, casualty insurance, insurance, logistic distribution, outlier, data step, proc lifereg source 5
156 Preemptive DATA CLEANING: Techniques Malachy J. Foley Data cleaning is a necessary evil... Or is it? Many techniques exist that prevent data errors at data gathering and/or at data input. The use of these techniques eliminates or minimizes the errors that actually get into your computer files. One such technique is check digits. Check digits can eliminate up to 99% of all transcription and keying errors. Other techniques include proper form design, data monitoring, double keying, and hash totals. This tutorial examines these error-prevention techniques through examples and where applicable, it includes SAS code hash total, data wrangling, data cleaning source 9
157 Preparing the SAS Software Programming Environment for Regulatory Submission Sunil Kumar Gupta For pharmaceutical companies, there is a push to prepare SAS programs for clinical study reporting and analysis. By utilizing a clinical data warehouse design strategy, SAS programs can be set up in advance of the study completion to facilitate the generation of the final study analysis, tables, listings, and graphs. Issues in data warehouse structure and technology and industry standards will be discussed. This paper reviews the process of establishing a standard method to prepare the SAS software programming environment proc step, clinical trial, clinical data, data cleaning, data science, regulatory submission, sas programmer, macro definition, data warehouse, proc sql, macro variable, quality assurance, raw data, view, proc print, proc tabulate, quality control, dataset, sample, proc freq source 9
158 Presentation Graphics Using the ANNOTATE Facility Joseph L. McCormick Since its introduction, users have sought ways to create specialized graphic output with the SAS/GRAPH product. Creative manipulation of data can often produce the desired picture, but the Annotate facility permits you to customize any SAS/GRAPH procedure output to enhance your graphic presentation. This presentation will demonstrate how to program the Annotate facility using simple examples, and it will show the many benefits of using Annotate in a production environment. This tutorial will show actual SAS code and provide many examples of possible Annotate applications that can turn your information graphics into presentation graphics dataset, footnote statement, proc step, macro facility source 5
159 Probabilistic Hindsight: A SAS Macro for Retrospective Statistical Power Analysis Kristine Y. Hogarty,
Jeffrey D. Kromrey
Statistical power analysis is useful from both prospective and retrospective viewpoints. Prospectively, statistical power analysis is used in the planning of research to estimate sample size requirements. In contrast, retrospective power analysis provides an estimate of the statistical power of a hypothesis test after an investigation has been conducted. Several techniques for retrospective power analysis have been suggested in the statistical literature, including both point and interval estimates of power. This paper presents a SAS macro that calculates three point estimators (a plug- in estimate, an unbiased estimate and a median unbiased estimate) and a confidence band estimate of the power of a hypothesis test using sample estimates of the noncentrality parameter of the test statistic. The macro was written to evaluate the power of an F test (obtained through an analysis of variance, multiple regression analysis, or any of several multivariate analyses) sample, power analysis, effect size, degrees of freedom, sample size, confidence interval, f-test, anova, probf, proc glm, macro variable, macro definition, proc genmod, regression analysis, proc step source 10
160 PROC GLM or PROC CALIS? Diana D. Suhr Traditional statistical approaches to data analysis use PROC GLM whereas Structural Equation Modeling (SEM) techniques use PROC CALIS. Similarities and differences between traditional and SEM approaches will be discussed. Regression, analysis of variance (anova), and repeated measures anova are traditional proc step, proc glm, anova, repeated measures, proc genmod, proc calis, latent variable, repeated measures anova, covariance, estimate, regression analysis, correlation, sample source 3
161 PROC SQL - Is It a Required Tool of Good SAS Programming? H. Ian Whitlock No one SAS tool can be the answer to all problems. However, it should be hard to consider a SAS programmer well versed in SAS, who does not use DATA steps. SQL should be classified with the DATA STEP rather than procedures because it is really a programming language in itself. In the past many good SAS programmers have resisted learning PROC SQL on the basis that it is a database tool and that they can get along without it. It is time (or past time) to reconsider the question and change that belief. SQL has dramatically changed the nature of what good SAS macro code looks like. It can simplify and standardize a number of common SAS programming patterns involving combinations of the DATA STEP, PROC proc sql, proc step, group by, create table, sas programmer, proc print, macro variable, order by, proc freq, macro loop, macro definition source 6
162 Pulitzer Programming: How Investigative Reporters are Using SAS Stephen K. Doig,
Richard O'Reilly
A new breed of newspaper reporters who practice "precision journalism" are using SAS software to do major investigative stories based on analyses of large data sets. These stories have examined votes in the disputed 2000 presidential election, damage from Hurricane Andrew, homicide patterns, census data, school test scores, municipal election fraud and many other issues source 1
163 Quality Design Based on SAS/EM Wenming Chen During the past two decades, our company Baosteel (the Baoshan Iron and Steel Corporation, Shanghai, China) has accumulated enormous data and information. Much knowledge, such as relationship, rules and patterns among these raw data, is hidden. It was very hard to reveal completely the knowledge since no advanced tools existed. Here we thank SAS Institute for providing us powerful tools to solve these problems. A lot of useful information in our project has been mined after SAS Enterprise Miner tools are used. This paper focuses on using SAS software to control and improve the quality of products in Baosteel. According to the results of mining, the engineers can make their decisions more accurately and easily and change their traditional methods of improving quality by qualitative or by testing. The SAS products include SAS/BASE cluster analysis, neural network, data mining, standard deviation source 4
164 Querying Star and Snowflake Schemas in SAS Bart Heinsius Star schemas, and sometimes snowflake schemas, are often used in Data Warehouses as the storage structure for dimensional data that is to be queried efficiently. In Data Warehouses built using SAS Software, star and snowflake schemas can also be implemented. Star and snowflake schemas in SAS can be queried using SAS SQL or the SAS DATA STEP. Tests have shown that using the DATA STEP can result in significant performance gains over SQL. This paper will discuss the use of star and snowflake schemas in SAS and will look into the performance issues that arise. Then, a number of techniques are discussed that address these issues. They involve bitmap indexes and DATA STEP code generation from dedicated metadata. Then, the Star Class is introduced, which implements these techniques. This paper should be of interest to Data Warehouse architects and builders and to OLAP application builders working with SAS Data Warehouses used for dimensional querying proc sql, fact table, star schema, sample, snowflake schema, dimension table, proc step, sas base, index, foreign key, lookup, bitmap source 5
165 Quick and Dirty Data Laundering: A Scalable Solution for Range Checking Data Michael J. Yee Data cleaning is a crucial component of statistical analysis. Collected data is rarely provided ready to analyze, and therefore must be range checked to ensure its integrity. Range checks are a common means of determining whether a given value falls within a defined range. A SAS software technique for checking data was developed at The Lewin Group that is not only universally applicable to a wide variety of data sets but also capable of adapting dynamically to changing data dimensions. The technique would need to be able to accommodate the addition of new observations (vertical scaling) as well as the adoption of new range checks (horizontal scaling). BASE SAS and SAS macros are used to systematically create a range checking macro program that will output an error level data set. This technique was adapted to the Windows OS and can be easily implemented by the intermediate SAS programmer with a working knowledge of macros dataset, sas base source 2
166 Quick Disk Table Look-up via Hybrid Indexing into a Directly Addressed SAS Data Set Paul M. Dorfman When a large, disk-resident, periodically refreshed lookup table has to be frequently searched, a natural way of providing a quick access to the data is to store the table as a SAS data set with a SAS index built on the search key. The speed of SAS index lookup depends on the nature of the key. More often than not, the key is not perfect for being indexed, i.e. discriminant, uniform, and ascending. Besides, even a 'good' indexed key may not be quick enough for some time-sensitive applications. In this paper, it is proposed to structure the lookup file for rapid direct addressing via a hash index, which is 'good' regardless of the search key distribution: Each discrete index value points to about the same number of search keys. Such a cluster of keys is loaded into memory via a single direct read as a prehashed table, where the search key can be located or rejected immediately index, hash table, key, dataset, group by, lookup, sample source 6
167 Quick Sorting an Array Paul M. Dorfman The article is a walk through a DATA STEP implementation of one of the most versatile, fast, and well-rounded sorting algorithms - Quicksort. Although a need in array sorting frequently arises in practical SAS programming, Base SAS does not provide a function or call routine to serve the purpose. However, the SAS Language is flexible and powerful enough to implement just about any algorithm. In this paper, Quicksort is presented as an encapsulated macro routine with simple invocation rules. Compared to a similar routine presented at SUGI 24, the one given below has been recoded from ground up. As a result, it has become more robust, richer on features, and about twice as efficient proc sort, proc step, sas log source 6
168 Reducing Bias in a Propensity Score Matched-Pair Sample Using Greedy Matching Techniques Lori S. Parsons Matching members of a treatment group (cases) to members of a no treatment group (controls) is often used in observational studies to reduce bias and approximate a randomized trial. There is often a trade-off when matching cases to controls and two types of bias can be introduced. While trying to maximize exact matches, cases may be excluded due to incomplete matching. While trying to maximize cases, inexact matching may result. Bias is introduced by both incomplete matching and inexact matching. Propensity scores are being used in observational studies to reduce bias. It has been shown that matching on a propensity score can result in similar matched populations. This paper will describe how to reduce matched-pair bias caused by incomplete matching and inexact matching. Cases will be matched to controls on the propensity score using the presented matching algorithm. SAS/STAT/Ge2 LOGISTIC procedure code will be given to create the propensity score propensity score, sample, logistic distribution, logistic regression, regression analysis, response variable, proc logistic, proc step, macro definition source 6
169 Reduction of Symbols in Plots and Generation of Accompanying Legend Using Annotate Dean D. Clous You've been given a large amount of data to be displayed graphically using PROC GPLOT and you've successfully accomplished this. You're told that the resulting graph looks "cluttered". Various basic methods of changing the graph's appearance are judged as inadequate. The suggestion is made to display each plotline and only have every nth symbol on each plotline; this will satisfy your client's need to "unclutter" the graph. This paper will attempt to detail the process of generating a graph with the reduced symbols accompanied by an appropriate legend. It is hoped that this presentation will benefit the novice and intermediate SAS user on all platforms proc gplot, proc step, sample source 3
170 SAS and Electronic Mail: Send E-mail Faster, and DEFINITELY More Efficiently Roy I. Fleischer With every new software package I install, I look for some application that will enable me to simplify or improve the efficiency of my day to day processes. After all, technology is supposed to make things better, more able, and somehow remove manual processes. This is exactly what happened when I was introduced to SAS' e-mail capabilities. I suddenly found I could, when completing a task, e-mail out the resulting file with the click of a button. I would not need to leave SAS to open e-mail, find the name of the person(s), attach the file(s) after searching for the correct subdirectory, then hit send. Instead, I was able to replace a lengthy administrative task with a single, repeatable one excel, filename statement, cdisc source 5
171 SAS Application Performance Monitoring for Solaris Gary Hutchinson,
Ed Trumbell
Understanding individual SAS application system resource utilization can be a daunting task and has been the topic of several SUGI papers. For example, last year a SUGI25 paper by Maureen Chew "Peace between SAS Users and Solaris/UNIX Systems Administrators: Finding a Middle Ground" (http://www.sas.com/partners/sun/technology/performance/index. html) explored system resource management and effective resource sharing. It dramatized the job of sharing systems with a multitude of SAS tasks on systems with finite resources. However, large enterprise usage of SAS applications often leads to extremely unpredictable results as more and more users are added to the system. The simultaneous and collective application requests of any given subset of concurrent users starts to resemble "chaos" theory in terms of system resource utilization, capacity planning, and application service level view, proc sort source 4
172 SAS Consulting: New Beginnings Charles E. Shipp,
Kirk Paul Lafler
Trends in corporate America include using top quality short-term resources such as subscription online software services, DP outsourcing, system development outsourcing, in-house consulting and contract programming. SAS consultants are in a favorable position to take advantage of the high demand for their services. Is your energy and skill set up to the challenge? If so, there are benefits and rewards to consider. This paper presents and discusses how you can become involved in the exciting world of SAS consulting and build a successful business as well sas consultant, sas programmer source 6
173 SAS Formats: Making the Best of a Bad Situation Michelle L. Pritchard A common problem for SAS programmers when working with categorical data is how to utilize SAS format capabilities that associate labels with the values of a variable. It is often hard to decide whether to permanently associate the format with the variable. Sometimes you want to work with the formatted values and sometimes you want to work with the underlying numeric values. Also, this decision could have implications for quality control. Other issues to consider are: 1) Should the original value be included in the format? 2) When is it appropriate to reorder categories using formats? 3) How can format libraries be transferred to other operating systems? and 4) What issues arise when using formats with SAS/GRAPH? This paper will discuss these common considerations, with examples, and provide recommendations proc freq, proc step, format statement source 2
174 SAS Macros as File Management Utility Programs Christopher J. Rook,
Shi-Tao Yeh
This paper provides several SAS macros for file management and file conversion tasks. The SAS pr oduct used in this paper is SAS/GE2 BASE, with SAS system installed on the UNIX and Windows/Ge2 operating systems macro definition, sas output, macro parameter source 5
175 SAS Programming Solutions for Summarizing Character Variables Yefim Gershteyn Although there is no formal operation for summarizing character variables, creating a character variable with the value that combines values of other character variables is a very common task. The concatenation operator is frequently used for that purpose. However, restrictions on the length of a character variable, especially when using SAS Version 6.12 and lower, need to be considered. This might result in a necessity of creating more than one character variable, macro variable, proc step, proc sql source 4
176 SAS Stew Keeps Facilities Running Michael A. Mace At first glance, this application looks like five SAS/FSEDIT screens and several canned reports. However, when we look at the recipe, we find oodles of nifty things working together --- from SAS/ACCESS for DB2 . SCL assisting in data entry, window- jumping, and data summing to reporting and data maintenance. So many good things, we have to come back for seconds. Please note that while this application was written using version 6.09 on MVS, the tools and techniques are just as applicable on other platforms and with later versions of the SAS system if-then-else, create table, proc sql source 10
177 SAS Tips I Learnt Whilst at Oxford Philip A. Mason Here is a collection of SAS Tips & Techniques from my 15 years experience as a SAS Consultant. You can read about some of them in my book "In the Know: SAS Tips & Techniques from around the globe", which is available from SAS Institute and amazon.com. Others are from my second book which is currently being finalised, and there are also a few extras. Debugging Complex Macros It's possible to write code generated by macros to an external file. The file can't be access until the SAS session has ended. In SAS 6.12 you use the options RESERVEDB1 & MPRINT to achieve this. In version 8 you need to use the options MFILE & MPRINT. You then also need to define a fileref for MPRINT, to which the generated SAS code is written. FILENAME mprint 'c:\macro.sas' ; This technique is very useful for complex macros with many loops and multiple ampersands since you can see the code that is generated proc step, proc sql, data step, dataset, macro facility, macro variable, macro put, macro definition, %if-%then-%else source 5
178 SAS User Support: Simple, Effective Web Page Design Bruce F. Gilsen,
Scott Hoenig
character functions, sample source 10
179 SAS/AF Composite Class: A Detailed Example Richard A. DeVenezia The SAS/AF Composite class is the starting point for implementing useful multi-component objects. These objects can be deployed for use by SAS/AF Frame developers. For the entrepreneur, catalogs of unique and timesaving composites can be a marketable and saleable commodity. For the project manager or system developer, using composites can increase productivity and promote GUI con- sistency. A class designer must consider event handling and the composite's intra-object and extra-object behavior. The class user must under- stand how the class will behave, and how to work with the class in ways the designer did not anticipate source 6
180 Side By Side: Comparing Two Data Sets Using SAS Macros Aileen D. Bennett This paper describes a generalized program to compare two SAS data sets with similar names which contain the same variables. The user specifies data set names and libraries. The program uses SAS macros to generate frequencies or means of numeric variables common to the data sets and print them side by side. The paper is intended for intermediate/advanced users of SAS who are familiar with macros proc freq, macro definition, proc step source 3
181 Simple Ways to Publish Reports and Graphs on the Web Dana Rafiee,
Stan Andermann
proc template, proc step source 6
182 Singing Cowboys, Fast Horses, and Team Roping: Keeping SAS Users Calm and On The Trail John M. LaBore,
Melinda S. Rodgers,
Steven D. Randolph,
Eric A. Slinkard,
Paul A. Franklin
Managing and supporting SAS system and JMP software at a large organization is a daunting process. Many large organizations began using SAS system software in the 1970's and greatly expanded usage in the 80's and 90's. Unfortunately, for many SAS software client sites, increased usage caused the evolution of a byzantine maze of licensing agreements administered by different departments. Software installations typically reside on a variety of server platforms, and end users often need more local support and training than is available. In the late 1980's and early 1990's, the advent of SAS and JMP software on desktops led to a further mushrooming of licensing and support issues at customer sites. Updating SAS setinits and JMP passwords burns up valuable time as end users try to track down those responsible for paying the SAS Institute renewal invoices. Further complications can arise when the person with most of the SAS administrative knowledge leaves the position trouble ticket, data wrangling source 5
183 So You're Still Not Using PROC REPORT. Why Not? Ray Pass,
Daphne E. Ewing
Everyone who can spell SAS knows how to use PROC PRINT. Its primary use may be as a development tool to help in debugging a long multi-step program, or as a simple report generator when all that is really needed is a quick look at the data, or even a basic low-level finished report. However, if a report generation/information delivery tool with powerful formatting, summarizing and analysis features is called for, then PROC REPORT is the solution. PROC REPORT can provide the standard PROC PRINT functionality, but in addition, can easily perform many of the tasks that you would otherwise have to use the SORT, MEANS, FREQ and TABULATE procedures to accomplish. PROC REPORT is part of the Base SAS product, can run in both an interactive screen-painting mode or a batch mode, and should be the basic tool of choice when there is a need to produce powerful and productive reports from SAS data sets proc report, proc step, class variable, character variable, sample, proc print, proc tabulate, proc means source 10
184 Some Added Value: Using SAS Formats for Table Look-Ups, Merges, and Data Selection David H. Pingel I do reporting in the sales, marketing and accounting areas for a manufacturing company. Many of the reports need to show various levels of the dealer organization and/or product level information. Dealers are defined under divisions, regions, marketing managers and business managers. Product is defined in one structure to provide summary information to upper management and in another structure to provide detail information to product managers. Dealer and product information are used so often I set up jobs that produce formats for dealer and product every day. I produce the formats in every combination that appears useful and store the formats in a permanent library. This information is now available with just a few statements in a DATA STEP or a FORMAT statement in a PROC STEP. Over time I found that formats can be used to select data and replace merges in some cases. I discovered that these techniques work particularly well when processing large data sets since no sorts are required proc step, proc format, where statement, put statement, data step, char., proc sort, length statement source 4
185 Spinning Straw into Gold: Data Quality Tools and Techniques to Get the Most From Your Customer Warehouse Bob Brauer data cleaning, business intelligence, data integration source 5
186 Standards for Electronic Submissions to FDA Kay Obenshain The FDA is moving towards its goal of paperless submissions by 2002. To meet its goal, the agency is defining standards for regulated industry to use when making regulatory submissions in electronic format. Standards for data are being defined on different levels, including content, structure, and format. The SAS source 3
187 Statistical Quality Control and a Capability Analysis Paul W. Johnson,
Ling Huang
A SAS macro is used to perform a quality control analysis of an advanced ceramics production line for Imperial Chemical Industries (ICI) Ceramics in Auburn, California. XBAR and RANGE charts were used to identify possible problems with process performance. The supplier gave certain bounds for the lower and upper limits of the 10Boron (10B) isotope within the boron carbide loadings (B4C). It was these 10B loadings that were of interest, since it was questionable whether or not impurities had caused the percentage of the 10Boron Isotope to be outside the limits specified by the supplier. Boron has two isotopes 10B and 11B. Capability indices are calculated. A second SAS macro is provi ded to estimate the out-of-spec probability. The Bootstrap is the simulation approach used to estimate this 'out-of-spec' probability. This is the probability that the control process is not performing within the lower and upper control limit bounds bootstrap, sample, macro definition, standard deviation, quality control, proc step, proc sort source 5
188 STDINFO: From SAS/AF to SAS/IntrNet Reshma Kakkar,
Raymond L. Ransom
output delivery system, proc sql source 6
189 Storing and Resolving Dynamic Formulas Chris D. St. Peter Often programmers need to perform custom calculations to display the results in their output. The most common way to do this is probably by embedding hard-coded formulas into the code. This is fine if there is no chance that these formulas will change. However, what happens when formulas get really complex? What if they need to change over time, or can be nested? This paper explores a way to store formula information and resolve those formulas using Version 8e (SAS/AF, SCL and base SAS). This paper is intended for advanced programmers with a basic knowledge of object-oriented programming where statement, sample source 6
190 Structuring Base SAS for Easy Maintenance Gary E. Schlegelmilch Computer programs, by their very nature, are built to be flexible. A program is no more than a series of versatile building blocks, stacked in such a manner to produce a desired result. However, the user requirements change over time, and so must the program change to reflect those new requirements. There are a number of ways to lay out a program, so as to make it easy to find the places where change is required. And as always; it is far easier to start with a solid foundation than to try and retool after the fact macro variable, macro loop, macro definition, %if-%then-%else source 6
191 Successful Web Enablement of a SAS Product Ian J. Sutton This paper discuses the trials, tribulations and rewards of the conversion of our SAS OLAP Product (Futrix) to fully enable its functionality via the web. Various topics are discussed including what web technologies/languages we found most appropriate and the relevant enhancements that SAS V8 brings. We discuss the research we carried out and the amount of work that was involved, how to maximize your existing skills and investment in development, and the problems we encountered and how we solved them or worked around them. Also included is a demonstration of the final result: the web enabled Futrix product and what was achieved with approximately 1000 hours work business intelligence, traffic data source 6
192 SUG on a Shoestring: Supporting a SAS Users Group with Low-Cost Internet Tools Mary F. MacDougall Whether you are starting a new local SAS users group (SUG) or updating the services offered by an existing group, there are many potentially useful tools available through the Internet. The good news is that some online services offer low- or no-cost options to conserve your group's financial resources. The bad news is that the Internet marketplace is in a state of constant transformation. With new categories of services being invented every day, finding and evaluating tools can become a full-time activity. Although it is impossible to catalog all the current choices, this paper suggests which categories of services may be useful to your SUG and discusses some of the pros and cons of implementing your group's e-business strategy on a shoestring budget credit card, isp source 2
193 Summarizing Data with an Inconsistent Text Key? Here's How! Sylvia C. Tze In healthcare or insurance database systems, we work with a lot of clients. A typical database design consists of tables of data. One such table would contain a field for the client name, a unique identification number, and other important information. The identification number must be unique to serve its purpose. Problems arise when the names are mistyped or misspelled, or simply entered differently due to abbreviations. As a result, the same client would have different names and would be assigned different identification numbers on different records. This poses a challenge when summarizing the data since there is no unique field to serve as a key for grouping the records. This paper explores a methodology to deal with this problem. The idea is to remove and transform words in the name field to achieve uniformity. A group of macros are introduced that would allow users to group records together in summarizing proc means, character variable source 3
194 Summarizing to the One-Record-per-Person using PROC SUMMARY: When to Use CLASS and When to Use BY Sylvia C. Tze Many data management projects require a programmer to read and summarize very large administrative databases. Often these data are stored longitudinally, containing numerous assessments or observations per individual. For instance, much of the data used in health care studies (insurance claims data, clinical trials, and disease registries) fall into this category. It is often necessary to create a one-record-per-person summary from these data. There are various ways to accomplish this task using SAS - each with certain strengths and drawbacks. DATA STEP programming can be used, but often it can be easier, faster, and more efficient to use PROC SUMMARY. This paper shows how to solve some common summarization tasks using PROC SUMMARY. The author offers guidelines for when it is more efficient to use BY processing and when it is more efficient to use the CLASS statement proc means, proc step, where statement, by group processing, insurance claims, if-then-else source 4
195 Survival Analysis and the Application of Cox's Proportional Hazards Modeling Using SAS Tyler C. Smith,
Besa Smith
In recent papers published in the American Journal of Epidemiology, the authors used Cox's proportional hazards regression modeling to model the time until an event of interest and compare the cumulative probability of hospitalization over time for two or more cohorts while adjusting for other influential covariates. In this presentation these statistical procedures will be looked at more closely by using SAS. The usefulness of the baseline option in PROC PHREG will be demonstrated with the creation and output of survival function estimates, which are a function of the cumulative probability estimates over time. This real data example using Cox modeling will show what increased risk for hospitalization for an event of interest might look like graphically and in a risk of event type ratio. Further analyses using the survivor function estimates will look for graphical representation of a temporal bias during the observation period survival analysis, proc phreg, proc step, cumulative frequency, probability distribution, predictor variable, regression analysis, survival function, response variable, hazard function, hazard ratio, likelihood function, proportional hazards assumption, relative risk source 9
196 Table Look-Up by Direct Addressing: Key-Indexing - Bitmapping - Hashing Paul M. Dorfman Table look-up is the most time-consuming part of many SAS programs. Base SAS offers a rich collection of built-in searching techniques. Merging, SQL joins, formats, SAS indexes - all serve the purpose of locating relevant data. For custom programming, SAS offers arrays, whose direct addressability lends itself to implementing just about any searching algorithm. Array-based lookup is not a ready-to-go food; it has to be cooked at home. However, it may result in dishes digested by the computer more easily, more programmatically nutritious, and with fewer computer resources ending up in the garbage disposer. This paper shows how arrays can be used to organize the fastest class of in-memory table look-up -- direct-address searching. Three such techniques -- key-indexing, bitmapping, hashing -- are considered in a logical sequence using a real-life example of matching two data files by a common key hash table, key, missing value, sample, proc sql, memory usage, conditional do loop, temporary array, character variable, array, dataset, do loop, proc sort, mod, sas programmer, proc freq, proc step, data merging, lookup, hashing function source 10
197 Table Lookups: From IF-THEN to Key-Indexing Arthur L. Carpenter One of the more commonly needed operations within if-then-else, proc step, proc sql, proc sort source 8
198 Taking Advantage of the SAS System on the Windows Platform Rob Hamm,
Kevin Payne
The Windows operating system is a key environment for a majority of SAS users. Windows and related Microsoft products are undergoing significant changes and enhancements. The introduction of Windows 2000 Professional, Server, Advanced Server and Datacenter Server editions, 64-bit Windows, the upcoming "Whistler" release, the announcement of the Microsoft.NET framework, Digital Dashboards and improved performance for terminal services enables business and e- business applications to more fully utilize the Windows platform. Combined with new hardware systems from leading manufacturers including Unisys, Compaq, HP and Dell, Windows-based systems are now delivering previously unattainable levels of scalability and reliability. How do these new products benefit SAS users? This paper presents a discussion of the state of the Windows platform and future direction, including operating system updates and new features and how the SAS system inter-operates with Windows sql server, proc sql, dataset source 11
199 Taking Control and Keeping It: Creating and Using Conditionally Executable SAS Code Justina M. Flavin,
Arthur L. Carpenter
Have you ever wanted to selectively execute chunks of program code? Do you want to leave debugging statements in your program for future debugging sessions while preventing their execution without commenting them manually? Would you like your program to automatically start at a specified time or perhaps delay the start for some period of time? Do you want to have error conditions in one step determine which, if any, of the remaining parts of the program are to be executed? These concepts and others will be discussed in the context of controlling how and when all or a portion of a program runs using conditionally executable SAS code macro variable, macro facility, proc step, comment, %if-%then-%else, macro definition source 4
200 Techniques for Detection of Cheating on Standardized Tests Using SAS Sean W. Mulvenon,
Ronna C. Turner
A general perception in the United States of a declining quality in our public schools has, in part, led to legislated requirements from both Federal and State governments demanding K - 12 educational institutions demonstrate their effectiveness through accountability programs. Accountability programs have typically required public schools to demonstrate consistent improvements in student performance using standardized achievement testing. Further, the use of rewards and sanctions has contributed to a renaming of this approach as "High-Stakes" testing, because students may be denied a diploma or promotion to the next grade for a low test score or a school may lose a portion of their funding for low overall student performance. The pressure of these programs may have contributed to an increase in the incidence of cheating on standardized exams in K - 12 schools mahalanobis distance, likelihood function, proc step source 6
201 Telling Aardvarks from Zebras with an Expert System Written in SAS Anthony M. Dymond Expert systems are a branch of artificial intelligence that encapsulate the knowledge and behaviors of a subject matter expert in their domain of expertise. The expert's automated services then become available throughout the enterprise. Classification and diagnosis represent an important class of problems that have traditionally been a major objective of expert systems. An object-oriented expert system is now available that will allow a user to create knowledge bases written in Base SAS or a combination of Base SAS and SAS Component Language (SCL). Implementation of a knowledge base to classify mammals is described here as an example of the expert system used for this general class of knowledge bases. The discussion includes: identifying objects and placing them in a search tree, object design, method design, method inheritance, blackboard databases, and search engine control sas base, artificial intelligence source 4
202 Ten Things I Wish I Knew Before I Became an Independent SAS Software Consultant Andrew H. Karp calendar year, data mart source 8
203 That Mysterious Colon (:) Haiping Luo The colon (:) plays certain roles in SAS coding. Its usage, however, is not well documented nor is it clearly indexed in SAS manuals. This paper shows how a colon can be used as a label indicator, an operator modifier, a format modifier, a key word component, a variable name wildcard, an array bound delimiter, an argument feature delimiter, a special log indicator, or an index creation operator. Mastering these usages can give your code needed functionality and/or an efficiency lift macro variable, data step, input statement, macro flow control, sas output, index creation, label statement, macro loop, macro put, macro definition source 5
204 The ABCs of ADX: A Solution for Design and Analysis of Experiments Brenda S. Ramirez,
Jose G. Ramirez
main effect, dataset, standard deviation, box plot, excel source
205 The Basics of Dynamic SAS/IntrNet Applications Roderick A. Rose The purpose of this tutorial is to introduce SAS programmers to the components and processes required in order to create dynamic SAS/INTRNET applications. Dynamic SAS/INTRNET is a robust topic, covering everything from ODS and drill-down capabilities to htmSQL. This tutorial ignores many advanced topics and most optional components available in SAS/INTRNET. Instead, the instruction focuses on the basic skillsneeded togenerate a simple dynamic application that utilizes the SAS Application Dispatcher, a web-based SAS processor. Dynamic applications go beyond static Internet applications by allowing users from remote locations to process SAS programs and data sets online. The user does not need SAS installed on his or her machine, and the analysis is provided through the web browser rather than a SAS interface ods html, sas base source 6
206 The Data Warehouse in Your Mobile Phone by Using WAP and SAS/IntrNet Andreas Saflund,
Pontus Berg
isp, sas consultant source 10
207 The Essential Meaning of PROC MEANS: A Beginner's Guide to Summarizing Data in SAS Andrew H. Karp proc step, dataset, numeric variable, proc means, output, character variable, sas base, by group processing, proc freq, sas output, proc univariate, where statement, missing value source 10
208 The FASTCLUS Procedure as an Effective Way to Analyze Clinical Data Lev Sverdlov This paper presents an example of the fast cluster analysis (SAS/STAT , FASTCLUS), using data from a pilot clinical trial with a new antidepressant drug. The list of variables for cluster analysis was selected after principle component analysis (PRINCOMP procedure) from the efficacy parameters investigated in the study. Three to six clusters were modeled to get the optimal cluster structure with a proportional number of subjects per cluster and the maximum statistical difference between clusters. The best statistical solution was obtained using seven psychometric score variables and four clusters. Using canonical discriminant analysis (DISCRIM procedure), seven variables from cluster analysis were transformed into three canonical variables. The plot of any two out of three canonical variables shows a graphic display of the distinct separation between clusters cluster analysis, percent change from baseline, change from baseline, proc fastclus, discriminant analysis, clinical trial, proc step, proc princomp source 7
209 The Metamorphosis of a Study Design Marge Scerbo,
Craig Dickstein
In a perfect world, there would be perfect data, perfect analysts, and perfect programmers creating perfect outcomes to every possible study. Unfortunately, one, two, or all of these factors are usually imperfect. Data are, especially data in large volumes, rarely flawless. Researchers and analysts designing studies may have great ideas of studies to undertake, but may have little idea of whether it can be done or how to do it. Programmers may be incredibly facile with the software, but rarely comprehend all the intricacies needed to complete a study. Thus, study designs are not often etched in stone. Most likely, they are the outcome of a long and tedious process of checks and balances. This paper will take the reader through the process of developing a study design, using SAS software to provide results on which to base outcomes. A health care policy issue will be used as the basis for the discussion, but the ideas should carry across many industries proc means, proc step, proc freq source 6
210 The New User Interface of V9 Graphing Tools Frank Wimmer,
Amy Glass
SAS software has long been known to be incredibly powerful. Through user-centered design and usability testing, usability engineers at SAS Institute are working to make that power more accessible than ever. This paper provides a case study of improvements that have been made, and are continuing to be made on an ongoing basis, to a core staple of many SAS products - our data visualization tools data visualization, bar chart source 4
211 The Perils of Stepwise Logistic Regression and How to Escape Them Using Information Criteria and the Output Delivery System Ernest S. Shtatland,
Mary B. Barton,
Emily M. Cain
In this presentation, which is a continuation of our NESUG'2000 paper, we demonstrate that using SAS stepwise logistic regression with the default and most typically used value of significance level for entry (SLENTRY) of 0.05 may be unreasonable and sometimes even dangerous because it results in the model that on one hand has usually too many variables for a reliable interpretation and on the other hand too few variables for a good prediction. Users who blindly rely on stepwise logistic regression will most likely get a rather poor choice for both purposes: interpretation and prediction. The recommendations of using critical p-values other than the default often look vague and even contradictory. We propose to resolve this problem by using the Akaike and Schwarz information criteria (which are standard components of the PROC LOGISTIC output), some elements of Bayesian reasoning, and capabilities of ODS (Output Delivery System) which are available in PROC LOGISTIC in SAS version 8 significance level, logistic distribution, feature selection, logistic regression, proc logistic, stepwise selection, proc step, regression analysis, best subsets source 6
212 The Phoenix: Creating Applications which Outlive Current Users Jeff LeSueur,
Dana Rafiee
The Phoenix is a mythical bird which is periodically reborn, to live beyond generations of mere mortals. As developers and business managers, all of us harbor the desire that our applications will also be phoenix-like. While gratifying for the developer, the Business Manager truly benefits from applications that have a useful life beyond the last delivery milestone. Accomplishing this goal today means far more than writing easily maintained and bug-free code. Today's challenges involve choice of platform, database design, user interface medium - the web or 3 rd party tools, and application development products. Development cycles need dramatic fore-shortening if a product is not to be outdated before completion. These challenges can be overcome by adopting a broader view of a project, careful selection of major components, increased planning for integration and turnover risk, and experience in a suite of development languages and operating systems sample, proof of concept, raw data, excel source 4
213 The Power and Simplicity of the TABULATE Procedure Daniel E. Bruns When I first started using SAS in a university environment in 1972, I was very excited about how much SAS could help me. As I learned more and moved to the real world of the employeed I needed more flexibility in my reporting - PROC PRINT had some and PROC MEANS and FREQ had basically none. And SUMMARY needed too much DATA STEP manipulation. What I needed was a marriage of all these with the flexibility to control what I wanted where and how! Thank the Gods for PROC TABULATE!! I was able to produce reports from massive amounts of data in practically any way I needed! The power of being able to simply rearrange a few variable names and change the complete look of the report was great. But then I also found a few things that were not so simple-like percentages proc step, proc tabulate, sas base, label statement, proc freq source 7
214 The Power to Show: Using Information and Image to Reveal and Persuade LeRoy Bessler bar chart, proc step source 9
215 The Project Management Warehouse Charles Q. Rissmiller,
Art Rerecich
This paper will discuss the issues, concerns and challenges facing Project Managers due to non-integrated project management data, and how using a Project Management Data Warehouse can facilitate a more efficient program and provide a better quality product. Project Management process improvements require collecting data from many departments within an organization, such as, Production, Engineering, Finance, Inventory Management, Quality and Purchasing. Typically, these functional groups collect large amounts of data from disparate and disconnected systems. The disparity and disconnection of these systems inhibits the visibility of the project manager and causes him/her to operate in a reactionary mode vs. a proactive, error preventative mode. Transaction systems gather and store functional data; however, to serve the decision-making requirements of the enterprise, a Project Management Warehouse is required transaction data, management reporting source 3
216 The SAS Debugging Primer Frank C. DiIorio proc step, macro variable, put statement, sas log, sample, proc sql, proc freq, proc print, run, automatic variable, sas base, dictionary tables, sas programming, macro put, regression analysis source 10
217 The Spectrum of Broadway: A SAS PROC SPECTRA Inquiry Joseph E. Earley,
James D. Ryan
This paper describes how to use the sophisticated SAS procedure PROC SPECTRA to detect periodicity in a time series. The series selected for analysis is paid attendance to Broadway theatre performances. This paper illustrates how to interpret the periodogram, spectral density, Fisher's Kappa statistic and other summary statistics output from proc step, time series analysis, proc freq source 5
218 The Ultimate SAS Macro (Make SAS Do All the Work!) Mike D. Tangedal With tongue firmly entrenched in cheek, I present the design for the ultimate SAS macro. Actually, this is a compilation of techniques designed to maximize efficiency for both a SAS macro as well as the base SAS code being driven. This includes awareness of the automatic macro variables available as well as techniques for ensuring the best possible parameters passed to the macro. Traversing the PROC CONTENTS of the input data set in order to initialize macro variables to be used later produces valuable results in minimal time. Explanation of a macro variable 'array' from the list of input data set variables is also provided. Cleaning parameters passed to the macro (especially long text stings) is also addressed. Finally, once the user fully tests their modified version of the ultimate SAS macro, it should be placed in an Autocall library macro definition, macro variable, macro loop, %if-%then-%else, proc step, in=, macro facility source 5
219 The Visualization of Continuous Data Using PROC KDE and PROC CAPABILITY George R. Barnes,
Patricia B. Cerrito
Kernel density estimation provides a very useful means of investi- gating entire populations. Traditionally, interest has focused on means and inference. This interest has lead to an unfortunate tendency to expect the entire population to be average. For ex- ample, if one medical treatment on average reduces the hospital length of stay by 10.40 versus 9.36 with a p-value 0.0235, the indication is that the treatment makes a full day difference in pa- tient outcome. However, when the kernel density functions are examined, by shifting the curve representing Treatment B by 0.5 day, the two distributions become nearly identical. PROC KDE stores the data values so that such shifts can be identified graphi- cally. PROC CAPABILITY will also make comparisons of treat- ments, but the graphics are displayed separately proc step, histogram, sample, confidence interval, anova source 6
220 The Web, SAS, and Security Daryl B. Baird With the growing use of web-based applications, the issue of web security has become one of a network administrator establishing firewalls and developing an Intranet. Although the applications may be hidden behind a firewall, they can still be viewed by anyone who has the ability to access the Intranet. Full security control requires that all information be limited to specific users and/or groups from the network through an authentication process. This requirement is often overlooked due to the complexity of initial configuration and the need for ongoing security administration. This paper is to provide a brief description on how to configure a secure web environment and simplify the security administration tasks. Examples are based using SAS/INTRNET V8 products under Apache 1.3 on a UNIX platform. Included are examples of how to configure the Apache 1.3 Web Server to handle security, server side includes, and common gateway interfaces proc step, macro variable source 6
221 Three for the Show - Three Objects for Presenting Categorized Data Thomas A. Miron Data is often categorized into a small number general groups. For example, sales data by region, experimental data by trial number, or personnel by corporate division. You can visually distinguish such categories using SAS/AF FRAME controls. Three of these controls are discussed and demonstrated: the SAS table model with use of color, the org chart, and the tabber dataset, missing value source 7
222 Tips for Using PROC SQL to Extract Information from Medical Claims Data Sets Clayton Wells proc sql, insurance claims, raw data, proc step source 4
223 Use Call Symput and %SYSFUNC for More Informative Titles and Footnotes Lynn G. Palmer Information available when your program runs can be placed into titles, footnotes or output using Call Symput and starting in Version 7, %SYSFUNC. These features can be very helpful when running reports routinely. Instead of changing dates, counts, or file names in your code, the program can change them for you. This paper will discuss the use of Call Symput and %SYSFUNC for gaining access to generated information and will show examples of using this information call symput, macro function, proc step source 3
224 Using DDE with Microsoft Excel and SAS to Collect Data from Hundreds of Users Russell E. Denslow,
Yan Li
A process is demonstrated in this paper to automatically collect data from nearly 900 users using DDE with Microsoft EXCEL and SAS. SAS will populate (using DDE) an existing file "template" (EXCEL spreadsheet) with historical data, name and save it to the appropriate directory (based on reporting structure). SAS determines the hierarchical reporting structure from a "work.control" dataset and builds the corresponding directory structure (using %sysexec). These files can be distributed to the needed participants for their input and updating. Upon collection, these "updated" files will be stored in a similar "reporting" directory structure. SAS will then determine the contents of each directory (using %sysexec) and cycle the file names through a macro-loop. The contents of the file will be collected using DDE and appended to a SAS dataset excel, dataset source 6
225 Using Dynamic Data Exchange to Export Your SAS Data to MS Excel - Against All ODS, Part I Koen Vyverman Of all the different ways in which the SAS System allows data export into a Microsoft EXCEL spreadsheet, Dynamic Data Exchange (DDE) is the only technique providing total control over the EXCEL output. As is often the case however, this high level of control comes at a price ... The DDE formalism can appear quite daunting at times, even downright obscure! The purpose of this paper, liberally sprinkled with recy- clable Working Code, is to provide a detailed walkthrough of how to programmatically create and customize an EXCEL workbook con- taining SAS data. More or less in order of decreasing obviousness, we will cover the following specific topics: firing up EXCEL from within a SAS session; loading and saving an EXCEL workbook; inserting SAS data into a given worksheet; formatting a range of spreadsheet cells; adding an EXCEL macro sheet to a workbook; renaming a worksheet; finding out the names of existing worksheets in an EXCEL workbook excel, data step, macro definition, xls, macro variable, filename statement, sample, sas base, character variable, conditional do loop source 10
226 Using Graph-N-Go with ODS to Easily Present Your Data and Web-Enable Your Graphs Curtis A. Smith Visualizing and presenting data effectively using reports and listings can be a difficult task. The SAS System overcomes this difficulty by offering a wide variety of graphing capabilities with the SAS/GRAPH module. Using the SAS System you can use graphs as a data exploration technique to see patterns, trends, and anomalies and you can present your data as graphs to make data easier to understand. But hey, writing code for those SAS/GRAPH procedures is not for everyone. There is now great news for those who do want graphs but do not want to write program code. SAS recently introduced Graph-N-Go, a completely interactive interface for making several types of graphs from your SAS data sets. I know it's a goofy name, but Graph-N-Go is anything but goofy. Graph-N-Go provides you with the facility to create great looking two and three-dimensional graphs without any programming and with only a little effort dataset, libname statement, data standard source 8
227 Using ORACLE XSQL Servlet to Access a SAS Database: Simplifying the XML Development Process Michael W. Deines Using ORACLE XSQL Servlet, a SAS database can be accessed and output can be presented in an XML format. As part of ORACLE XSQL Servlet package, an XML parser for Java, XML Query Utility, and XSLT processor are provided. Adding the SAS JDBC driver information into ORACLE XSQL Servlet JDBC driver XML document allows the servlet to access SAS data maintained by a SAS/SHARE server. Query results are then stored in an XML document, presented back to the browser. The example application also includes an interface that allows users to load a WORD document onto the web server and extract information from the document into a XSL file. This file will be reference by the ORACLE XSQL Servlet output and apply conditional processing to display HTML information specific for the results of the query. The power of XML Accessing data on-line and presenting the information in a manner that best suits the individual and/or machine is the power of XML excel, dataset source 3
228 Using SAS Enterprise Miner for Forecasting Kattamuri S. Sarma neural network, data cleaning, binary variable, data mining, regression analysis, raw data source 6
229 Using SAS Explorer to View File Properties and Catalog Contents Kirk Paul Lafler When you need access to your SAS environment, the sas library, libname statement source 2
230 Using SAS Graphs for Drill Down in Frames Philip A. Mason proc gplot, proc step source 3
231 Using SAS to Minimize Exposure and Maximize Compliance Stephen B. Sloan When presented with requests from government agencies for information to verify compliance with EEO standards, many organizations simply respond by checking average salaries by race and gender. The organizations then assume that they are out of compliance it the salaries differ. It is possible for these organizations, through judicious use of SAS software and statistical analysis, to minimize their exposure by identifying covariates which may explain the apparent discrepancies, making sure the remaining discrepancies are statistically significant, and calculating salary adjustments to eliminate only statistically significant differences. Furthermore, organizations can use these techniques proactively to detect possible sections of the organization which may require further analysis. These analyses, and the resulting actions taken, can help make the organizations less likely to be vulnerable to future audits proc genmod, proc glm source 3
232 Using SAS to Write SAS - Automate Your Programming Tasks Pamela L. Reading It doesn't always occur to a programmer to use SAS to write SAS code, but it can be a great time- saver. It's a reliable and efficient method for creating long, repetitive pieces of SAS code in which a similar set of operations is performed on a large number of variables. Once the code-generating program is functioning, the production code can be regenerated as needed and used as INCLUDE files in standardized programs. In a Windows environment, EXCEL spreadsheets are a convenient input format for the required data. The example presented in this paper is based on SAS Version 6.12 under Windows 98, but the principles presented apply to all operating systems. The paper addresses base SAS and the audience should be comfortable with basic DATA STEP operations dataset, sample source 5
233 Using SAS/AF to Create a SAS Program File Explorer Robert Nelson,
Janet Royalty,
Ernie Lewis
The SAS version 8 application presented in this poster combines the interactive features of SAS/AF with a methodology for documenting SAS programs to create a descriptive index of SAS program files within a given Windows directory. File name, creation date, and program header description are captured and displayed in an easy-to-browse data table. This application also includes a search tool function that can locate programs containing a specified string of SAS code. While the methods presented in this paper apply to intermediate SAS programmers, they can also be modified for use by more advanced programmers sas base, dataset, macro definition source 5
234 Using SAS/GRAPH to Analyze the Effectiveness of Tennessee's Alcohol and Drug Prevention Program Among Hispanic Youth Barbara B. Okerson Tennessee Alcohol and Drug Prevention Outcome Longitudinal Evaluation (TADPOLE) is a state-funded program housed at The University of Memphis Department of Anthropology for the source 3
235 Using SAS/IML Software for Solving Non-Standard Optimization Problems in Growth Modeling and Optimal Design Inna Perevozskaya It is often necessary in applied statistical research to perform direct numerical optimization because the problem can not be transformed to be solved by standard procedures implemented in the statistical packages. One example of such a problem comes from the field of growth modeling: The Polynomial Gompertz model is known to provide a good fit to individual growth curves and growth percentiles. However, this non-linear regression model cannot be fitted by PROC NLIN because of the presence of an integral in expression of the Polynomial Gompertz function. Therefore, direct optimization is necessary to obtain the least squares estimates of the model parameters. Another example is provided by optimal design theory: in some applications, such as Phase I cancer studies, it is extremely important to implement a design that provides maximal information from a small sample, so that a minimal number of patients is exposed to the potentially toxic experimental drug dose, proc step, proc nlin, estimate, proc reg, clinical trial, macro variable source 6
236 Using Styles and Templates to Customize SAS ODS Output Sunil Kumar Gupta SAS's new Output Delivery System (ODS) feature enables the creation of various new file types including Rich Text Format (RTF), PostScript and HTML. The standard default style used to control the output is generally well organized and sufficient for most purposes. When the default SAS ODS output report will no longer suffice, SAS users can take advantage of ODS advanced features to customize the output report with styles and templates. By having greater control over the report details such as color, font, size, justification, order and labels, the format and quality of the report will be enhanced. This paper introduces the concepts necessary to understand and apply the advanced features of SAS's ODS. Issues in defining and selecting output destinations, selecting output objects and creating customized output files will be discussed. The focus is on the creation of custom styles and templates with PROC TEMPLATE for visually appealing output output delivery system, proc step, sas log, file statement, proc template, proc freq, ods html source 10
237 Using the SAS/ACCESS Libname Technology to Get Improvements in Performance and Optimizations in SAS/SQL Queries Fred Levine This paper highlights the new features in the SAS/ACCESS LIBNAME engines that, when used judiciously, can improve overall engine scalability in the areas of loading/extraction, ASYNC I/O, and SQL-based query optimizations. The new loading/extraction engine features are: * Multi-row reads where statement, proc sql, libname engine, dataset, libname statement, proc print, insert, teradata, proc step source 8
238 Using WebAF for Data Entry and Editing in an Integrated Conservation Monitoring Data Management System Scott E. Chapal,
Myla M. Goodliffe
Providing data access to employees over an intra-net or to clients and constituencies via the Internet, necessi- tates the use of web technologies. However, the multi- tudinous options for web-enablement constitute a bewil- dering array of design choices, architectural alternatives, application servers, scripting methods and programming languages. In an environment where the SAS data cleaning, proc format source 5
239 V6 to V8 Applications: To Web or Not To Web? Sharon Muha,
Liz Malcom,
Lee Mulleady
When upgrading a V6 SAS/AF/Ge2 application to V8, what are the possibilities? Should the application be web-enabled? If not, why not and what are the other options? Should it make use of Java/Ge4 technology? What are the platform restrictions? What are the interface issues? Are there data-integrity concerns? These questions are just some of the issues that must be addressed when retooling applications. This paper steps you through the decision-making process and highlights decisions made by developers who were tasked with upgrading a SAS Publications Division V6 SAS/AF FRAME application to a web-enabled V8 application dataset, management reporting source 4
240 Variable Reduction for Modeling Using PROC VARCLUS Bryan D. Nelson Most direct mail and e-commerce companies have hundreds if not thousands of variables for each customer on their database. When statisticians try to build segmentation or other types of models with a large number of variables, it becomes difficult to figure out the correct relationships between the dependent and independent variables. In fact, when redundant variables are included in some of the model building procedures, the model can degrade the segmentation model by: destabilizing the parameter estimates, increasing computation time, confounding the interpretation, and increasing the amount of time spent building a segmentation model. PROC VARCLUS can help a statistician quickly reduce the number of variables used to build a segmentation model. PROC VARCLUS will cluster variables - it will find groups of variables that are as correlated as possible among themselves and as uncorrelated as possible with variables in other clusters proc varclus, proc step, correlation, proc princomp, logistic distribution, logistic regression source 3
241 Versioning an Existing Data Warehouse K. Mistry,
John Finianos
Ok! A full fledge Data Warehouse has been implemented at your organization for a while now by using the right tools to model, map and load the DW. Supposedly, the warehouse should have covered a major part of the business. Data has been used extensively to produce all kind of reports and run various types of applications including customer profitability and Product scoring. Everybody in the organization is very happy. Everything was going right until: 1) users start asking for more and more information, 2) new products are introduced in the business and should be covered by the DW, 3) major fixes are needed to rectify some of the implemented business rules and tie up some inconsistency in field naming conventions. In all cases, a major upgrade to the DW has to take place on time, with minimal effect on the present usability of the DW data validation rules, proc compare source 4
242 Visual Styles for V9 SAS Output Frank Wimmer,
Ken Ellis
New development underway for SAS/GRAPH version 9 targets new heights of visual style for SAS Output. The new Style Editor will allow you to easily create stylish presentation graphics. In addition to focusing upon ease of use, new graph rendering technology is being used to add sophisticated visual effects to both Java and ActiveX bar and pie charts. This paper discusses the development of these styles and the graphing enhancements being implemented in order to accomplish the new looks proc template, proc step, sas output source 4
243 Walk Our Children to School: An Internet Data Management Application Carol A. Martell proc sql, macro variable, dataset, data governance, proc step source
244 WAP-Enabled SAS Apps S. David Riba WAP, Wireless Application Protocol, is an exciting new technology which has significant capabilities to extend SAS applications across thin client interfaces to portable devices. With WAP technology, SAS applications can now be totally portable, available to end users via cell phones or PDAs. This presentation will explore WAP and discuss the requirements necessary to make SAS applications easily accessible to WAP-enabled devices. It is an introductory paper intend for intermediate to advanced SAS programmers advanced sas, sas programmer source 2
245 Web Based DSS II: Improving Web Information Organization and Presentation With SAS Version 8 Jeff LeSueur,
Dana Rafiee
flat file, txt source 4
246 Web-Application Bar Charts without SAS/GRAPH Steve James A picture is worth 1000 words it's said. And while that may be true, producing a picture instead of words can sometimes be 1000 times more difficult. That's particularly true if you're not familiar with SAS/GRAPH and Annotate. The Internet is a great medium for displaying graphics, but producing them can be troublesome. Anything that would make the task more simple would be welcomed. With creative uses of HTML tables and images, you can create a bar chart to display information without using SAS/GRAPH or Annotate. This paper describes how. Note: This paper assumes the reader has a working knowledge of HTML and SAS/INTRNET proc freq, bar chart source 5
247 WebHound: Your Best Friend for Tracking Web Traffic Sally S. Muller,
Dean F. Duncan,
Frank C. Lieble,
Carol A. Martell
resource allocation, capacity planning source 10
248 When PROC ACCESS Says NO to Excel 97/2000, DDE Says YES Still Eric T. Sun,
Eric Kammer
The open connectivity that SAS provides towards major data processing software like Microsoft EXCEL is always appreciated and heavily used across various industries. A complex but necessary EXCEL format was pre-designed as a data source template that has a lock mechanism to a block of data conversion settings needed to build up a SAS dataset library. Two major macros were developed to read vertical and horizontal stretching data blocks that had predefined SAS variable names anchored anywhere inside the template. Several approaches including PROC ACCESS/IMPORT were implemented but two major problems occurred: 1) lacking flexibility to handle 'floating' data blocks mentioned above and 2) SAS does not accept EXCEL versions like Excel97 or Excel2000 for either SAS v6.12 or the newest v8. This paper presents the powerful SAS macros with utilization of good old but reliable DDE (Dynamic Data Exchange) technique to overcome the limited function provided by other SAS procedures excel, proc step, dataset, variable, out=, data wrangling, macro definition, %if-%then-%else, macro variable source 5
249 Who Needs to Know Program Syntax When You've Learned Enterprise Guide Stan Andermann,
Dana Rafiee
sas enterprise guide, frequency analysis, relational database, proc freq source 6
250 Windows NT Server Configuration and Tuning for Optimal Server Performance Susan E. Davis,
Carl E. Ralston
This paper focuses on how to configure the CPU, memory and input/output subsystems of your server for optimal SAS software performance. Configuration of the I/O subsystem, RAID tradeoffs, and various Windows NT and SAS options will be discussed that effect SAS performance and throughput. Proper configuration of your Windows NT server can be the difference between acceptable and unacceptable performance for your SAS applications proc sort, bufsize source 4
251 Wireless SAS Applications for Tracking Clinical Research Deborah A. Testa,
Russell Holmes
Last year during the opening session of SUGI 25, Dr. Goodnight introduced the SAS user community to the potential for using SAS programs to deliver information to handheld devices over a wireless network. Several papers and presentations in SUGI's demo area that same year elaborated on what Dr. Goodnight introduced by going into the details of Palm computing and WAP protocol specifications and requirements. Since that time, wireless devices have proliferated in the U.S., increasing the value of a SAS IntrNet server as a wireless information delivery mechanism. In addition to the Palm VII, there are also WAP telephones and Pocket PC's. The Bluetooth protocol will make these and other new devices more valuable and more ubiquitous. Each of these platforms has its strengths and weaknesses. SAS programs can be written to run on the server and then deliver output to some or all of these platforms so that your users can choose whichever device fits their needs randomization, clinical trial, adverse events, sample source 3
252 You Can Look It Up: A Robust Macro Using PROC FORMAT with CNTLIN Myra A. Oltsik The CNTLIN= option in PROC FORMAT lets the programmer create a format from one dataset using one identifying field/ variable, and use that format to search for records in another dataset. This is an especially helpful option when extracting large numbers of specific records from flat files or unindexed datasets. This paper presents a Macro program which includes all the steps necessary to produce such a format. Even if you don't know much about macro programming, you can use this Macro to create CNTLIN Formats for yourself in=, proc step, proc format, proc contents, macro definition source 4
253 You Could Look It Up: An Introduction to SASHELP Dictionary Views Michael L. Davis Ever wonder what titles were already set in a batch SAS session? Need a list of the members in a library so your macro can automatically hack at each one? Curious as to how many observations are in that data set without running a procedure or DATA STEP? Want to see what macro variables already exist? Anytime that one has a question about what is going on in their SAS session, they can answer it the same way that SAS itself does the task... they can look it up in the SASHELP dictionary views. This presentation is an introduction to all those views automatically created by the SAS System and found in the SASHELP libref and prefixed with a "V". The dictionary views track items and their attributes for features such as catalogs, data set variables (columns), external files, indices, macro variables, data set members, titles, portable system options, and of course, views. The focus of the presentation is to illustrate how the dictionary views can be used in common situations dictionary tables, proc sql, macro variable, proc step, where statement, catalog entry, sample, call symput, create view, relational database, create table, order by, options statement, macro definition, sas programmer, excel source 10
254 Your Graphs on the Web with SAS/GRAPH Version 8 Francesca Pierri The new features of SAS/GRAPH and the Output Delivery System provide the possibility of creating interesting graphs on the Web even lacking an extensive knowledge about the Hyper Text Markup Language (HTML). In particular the new enhancements allow to create drill-down graphs and define a link connecting each clickable area with another output, such as a report or another more detailed graph; moreover there is the chance of organizing the web page into areas and displaying for instance a Table of Contents and a graph in a single frame. This paper shows a few graphs and programs written with the aim of drawing and viewing them on the web. In particular it highlights new Version 8 features for the GMAP procedure, the possibility of creating drill-down graphs, combining output from different procedures and defining custom layouts ods html, output delivery system, proc step, proc gmap, by group processing, data step, proc sort source 6

Back to Conf go 2002 go 2000

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.