HOME QUICK SEARCH AUTHORS KEYWORDS HELP BUGS

NESUG 1999 Papers - Index

119 papers. Source: NESUG (Northeast SAS Users Group) conference proceedings.

# Title
×
Authors
×
Abstract
×
Keywords
×
Extras Pages
1 "There's Nothing %To It But %To %Do It" - How To Do A Lot With Little Coding Bryan K. Beverly When performing reiterative DATA and PROC steps, using the %DO of the macro language can reduce lines of code and minimize programming errors. This paper presents a simple method of using %DO to create, analyze, append, and delete an unlimited number of data sets with only 1 DATA STEP and 3 different PROC steps macro loop, proc step 2
2 "Zooming In" on SAS/GRAPH Plots Using GREPLAY Templates Earl R. Westerlund proc greplay, scatter plot 2
3 %manyplot: A Macro for Plotting Many Graphs on a Single Page Earl R. Westerlund proc greplay, catalog 2
4 A Macro to Center Text in a DATA _NULL_ Step Erik S. Larsen macro variable, proc step, macro definition 2
5 A Macro Using the SQL INTO: Feature to Retrieve Data from Large SAS/DB2 Databases Thiru Satchi A macro that applies the SQL INTO: feature to create lists of key values is presented. It was developed to overcome performance limitations encountered when transferring data between systems. This paper demonstrates how this macro, along with the SAS Pass- Through facility, can be used to retrieve data from DB2 Relational Database Management System (RDMS) tables and to convert them into a SAS dataset. If these key variables are indexed in a DB2 table, the macro will significantly decrease the required programming and computer processing time dataset, proc sql, variable list, where statement, cpu time, proc step, character variable, macro definition 7
6 A Method for Developing Data-Driven Market Area Clusters Joseph S. Brenner In the past, any attempts to develop market area clusters have been restricted to either dividing the country along regional boundaries or limiting the number of clusters created. SAS provides the ability to overcome both of these limitations and create market area clusters based on the data being processed, regardless of region or number of clusters. This paper describes a SAS-based market cluster creation method. Specifically, this approach involves using Medicare data extracts to calculate distances between all zip codes for a given provider type. The paper also shows how the system performs enrollment and utilization analyses by region, provider type, Fiscal Intermediary and market cluster, and how it delivers output into downloadable SAS files and text reports proc freq, out=, sample, proc step 9
7 A Method for Reporting on Data Quality in Randomized Clinical Trials Sarah McLaughlin,
Beth Rowland
The George Washington University Biostatistics Center is the data coordinating center for the NICHD Maternal-Fetal Medicine Units Network. The Network was assembled in 1986 to study problems occuring during pregnancy. Currently, the Network is composed of thirteen university-based clinical centers. Since its inception, the Network has run a total of 22 studies. The Network uses a distributed data entry system. Each center is responsible for entering and updating their own database which is uploaded to our mainframe once a week. Our funding agency asked us to report on data quality so that they could assess the performance of the centers. Using existing databases of data queries and BASE SAS, macros and PROC REPORT, we developed a standard program that could be easily cloned and modified for each study. The Problem Data queries are sent out once a week. They flag values on the database that may be erroneous proc step, macro variable, proc report, macro definition 6
8 A SAS System: From CD to GIS Maps Samuel D. Calhoun Once a year the Rural Business and Development Policy Branch, Economic Research Service, USDA, publishes an issue of Rural Condition and Trends (RCaT), dealing with Federal Programs. This issue describes Federal program and policy changes affecting rural America. The original data comes from the Bureau of the Census in CD-ROM format. The data is in ASCII format. It consists of over 350,000 records. A transformation process of the data takes place before the RCaT is produced. The majority of this process uses base PC-SAS version 6.12 for Windows Next Technology (WINNT) and some mainframe SAS programs. In addition to the SAS programs there are some FORTRAN programs. The purpose of this paper is to show how SAS plays a major role in manipulating the data in order to produce maps (see figures 1 and 2) for a report dataset, proc step 6
9 Achieving Dynamic Results with SAS/INTRNET Software Mary Singelais Using SAS/INTRNET technology, members of the Performance Assurance Organization at Bell Atlantic have developed a dynamic Intranet reporting application, easily accessible to our clients from the World Wide Web. The Intranet application provides Bell Atlantic executives the ability to rapidly access real-time, mission critical data directly from their desktop, and create dynamically driven reports via text hyperlinks or from customized web forms. The reports display graphics, detailed or summarized data, or a combination of these formats for a visually powerful effect. This paper focuses on the continuing development efforts for the dynamic Intranet reporting application at Bell Atlantic, and details many of the SAS elements and key techniques behind the development team's work 8
10 Alternatives to Merging SAS Data Sets But Be Careful Michael J. Wieczkowski The MERGE statement in the SAS programming language is a very useful tool in combining or bridging information from multiple SAS data sets. If you work with large data sets the MERGE statement can become cumbersome because it requires all input data sets to be sorted prior to the execution of the DATA STEP. This paper looks at two simple alternative methods in SAS that can be used to bridge information together. It also highlights caveats to each approach to help you avoid unwanted results. PROC SQL can be very powerful but if you are not familiar with SQL or if you do not understand the dynamics of SQL "joins" it can seem intimidating. The first part of this paper explains to the non-SQL expert, the advantages of using PROC SQL in place of MERGE. It also highlights areas where PROC SQL novices can get into trouble and how they can recognize areas of concern. The second section shows another technique for bridging information together with the help of PROC FORMAT proc step, proc sql, proc format, put statement, select, where statement, inner join, create table, data merging, data step, proc print, full join, right join, proc freq 7
11 An Exploratory Data Analysis of the Relationship between Domestic Violence Incidents and Socioeconomic Factors Lathan S. Dennis,
Donald T. Gantz
Exploratory data analysis is used to examine the relationship between the incidence of domestic violence and socioeconomic factors. Incident data for domestic violence is compared to U.S. Census demographic data for Fairfax County, Virginia which is a large affluent county adjacent to Washington, D.C. Data is summarized, tabulated and graphed in a methodology that identifies those census tract block groups for which the annual rates of domestic violence are consistently highest. These block groups are shown to be disadvantaged relative to many socioeconomic factors. This correlation between domestic violence and socioeconomic factors classifies these block groups as high risk and helps to identify neighborhoods requiring special social services attention. The analysis is executed via the summarization and visualization procedures in base SAS software and SAS/GRAPH proc freq, bar chart, correlation, sas base, macro facility, proc rank 11
12 An Introduction to Macro Variables and Macro Programs Michael S. Zdeb macro variable, proc step, macro parameter, macro put, keyword parameter, %macro parameters, data step, input statement, proc print, macro function, macro definition, put statement, title statement, if-then-else, stored macro, &variable, macro quoting function, proc sql, %if-%then-%else 8
13 An Introduction to the SQL Procedure Christopher Yindra This tutorial will introduce the SQL (Structured Query Language) procedure through a series of simple examples. We will initially discuss choosing variables (SELECT) from SAS data sets (FROM) where a specific criteria is met (WHERE). We will then discuss calculating and formatting values. Once the basic SQL syntax has been covered we will discuss more advanced features of SQL such as grouping and ordering data, selecting based on proc sql, proc step, where statement, group by, select, order by, dataset, sas programmer, sas base, create table 11
14 An OBS Limit with a WHERE Condition H. Ian Whitlock In SAS software the OBS option is incompatible with the WHERE condition. This was a design decision instead of an inherent incompatibility: in other words, a mistake. There are several possible interpretations of how to implement both of these restrictions. A utility macro, LIMIT, is introduced to help implement a workaround for the interpretation given above. Use of the macro is first illustrated with a PROC PRINT and then in a macro TPRINT providing a more transparent form of solution for this important case. SAS Version 7 is assumed, since it provides a simple solution to a naming problem, but the code can be easily modified to work in 6.12 at the expense of a little more user effort. In addition to providing a useful extension to SAS, this example can be used as a learning tool for SAS macro in general and for the design of utility macros as a special case proc step, proc print, if-then-else, %if-%then-%else, macro definition 2
15 Applying Familiar Non-Parametric Tests to Evaluation of Neural Network Inputs Susan B. Garavaglia Feed-forward multi-layer neural network models, such as back-propagation networks with one or more hidden layers, present special challenges when it is necessary to evaluate and rank the contribution of each input variable. A number of methods have been proposed, including the multivariate Wald test and sensitivity analysis. Neither of these methods produces a complete and satisfactory answer to the question: is this variable significant? This is because these classes of neural networks produce models which are non- parametric and for which the optimal solution may not be unique. In addition, the contribution of any variable may depend on other variables due to the non-linear shape of the typical s-curve transfer function. Thus, a methodology for applying non-parametric tests must include both the test itself, and some form of monte carlo method of mixing and matching input elements to see if the tested variable is both independent and significant sample, neural network, normality test, parametric test, probability distribution, sensitivity analysis, inferential statistics, kruskal-wallis test, ks statistic, multivariate analysis, regression analysis 10
16 Are We Done Yet? Tracking Your Data Management Process with SAS Software Daphne E. Ewing,
Barbara McLaughlin
Are all the pages here? Have all the pages been entered and verified? Have the queries all been sent? Are all the queries resolved? Are all the subjects clean? Can we really close the database? Your data management process is key to getting your drug/device/biologic to market. Synteract has automated the process using a SAS/AF applic ation, which combines the tracking data with the clinical data. We will discuss the application and how the business process is automated comfortably to keep on track data validation rules, clinical data, dataset, data governance, clinical data management, clinical database 4
17 Big Iron 101: Making the Transition from PC to Mainframe without Getting Fired Mary A. McDonald Many new programmers learn SAS in a PC environment; unfortunately many jobs for programmers exist in MVS/TSO shops. This paper's focus is on how to acquire the necessary skills and work habits to survive the transition. Topics covered are reference materials, the SAS debugger, good batch programming habits and tricks, being a good batch citizen, how to get help with error messages, and where to find the Display Manager if you get lonely proc step, data step, sample, sas programmer, macro definition 6
18 Build a Dynamic, Cross-Reference Search Engine - Quickly! Don Hodge Have you ever needed to search for where a program or dataset is used. The reasons are obvious. If you make a change, you do not want to find out that the ripple effect from that simple change caused the Vice President's Quarterly Report system to blow up. Change (read that user requested "enhancements") happens. Documentation updates don't always happen. Yet we still have to protect our systems from these changes. Now some sites have great cross-reference systems - that will even slice and butter your toast - and some rely on outdated paper documentation. If you don't have a cross proc step, sas base 4
19 Building an Audit and Tracking System Using SAS/AF and SCL Hung X. Phan This paper describes how to build an audit and tracking system using SAS/AF and SCL. There will be a master data set which contains the original information and several transaction data sets which contain the new information. The audit system will take information from the transaction data sets and apply changes to the master data set. An audit data set will be used to keep track of all changes. The tracking system will display the master data set in the first data table on the top half of the screen and the audit data set in the second data table on the bottom half. To track a record the user clicks on a row within a given data table. The selected record is then highlighted and displayed in the top row of the two data tables where the user can easily compare and/or view changes made to the record. Buttons on a toolbar, FIND, transaction data, dataset, master data management, libname statement, proc sql 7
20 Considerations for Creating and Maintaining A SAS-Oriented Home Page Robert Schechter According to the SAS Institute' s web page (updated April 16, 1998) there are 27 SAS RUGs and LUGs with web pages. This paper will explain the design and coding considerations used in the development of the PhilaSUG site. There are several fundamental considerations in designing a home page that transcend HTML (HyperText Markup Language, the code that describes the structure of a web document' s content). These concerns include layout, design, and ease of use. The impacts of various browsers and HTML levels will be discussed. Finally, the basic HTML (level 2 - Frames, Style Sheets, and Dynamic HTML will not be covered) used to author the PhilaSUG site will be demonstrated using a popular browser txt, likelihood function 5
21 Creating a Home Page on the Internet: An Introduction to HTML, JavaScript and JAVA Applets JoAnn R. Matthews txt, isp 10
22 Creating Graphs in ODS Jack Bulkley This paper highlights how to use SAS/GRAPH to produce graphics output in ODS. Most of the 2
23 Creating Macro Variables via PROC SQL Michael S. Zdeb macro variable, proc step, proc sql, dataset, character variable, proc freq, macro put, proc univariate, select 2
24 Creating Public Use Datasets With SAS Using the "ICH-E2b/M2 SGML" Format Bill Calvert,
Feng Zhou
An increasing number of adverse drug reaction reports are being collected by the FDA. Though access to much of the data is restricted by privacy and trade secret considerations, substantial portions of the data are made available for public use. FDA systems are transitioning to a time when all data submissions will be required in international standard electronic form. In this environment we have developed a small SAS application which creates public use data sets in the new international standard format. The program, mapping process, application functions, and the actual writing of adverse drug reaction data in 'ICH-E2b/M2 SGML' format will be described. Highlights of the SAS techniques employed will also be discussed adverse events, adverse drug reaction, proc transpose, proc step, data cleaning, macro variable, proc sql 7
25 Customizing Break Lines When PROC REPORT "Does Not Compute" Kerry Deem PROC REPORT is an excellent tool for the display and summarization of data proc report, proc step 2
26 Data Cleaning 101 Ronald P. Cody proc step, standard deviation, proc univariate, numeric variable, missing value, proc freq, character variable, proc print, put statement, dataset, macro variable, outlier, where statement, sas output, verify, set statement, data cleaning, if-then-else, data step, proc format, adverse events, user-defined format, box plot 10
27 Data Mining: An Overview of Methods and Technologies for Increasing Profits in Direct Marketing C. Olivia Parr Rud Data Mining is a new term for the common practice of searching through data to find patterns, which will predict future outcomes or define measurable relationships. Statistical and machine learning methods are the favored tools of many businesses that utilize direct marketing. This paper will explore some of the typical uses of Data Mining in direct marketing with discussions and examples of measuring response, risk and lifetime customer value. The paper will conclude with highlights of SAS Enterprise Miner and its ability to transform the Data Mining process sample, logistic distribution, logistic regression, regression analysis, missing value, data cleaning, interval variable, response variable, predictor variable, product profitability, univariate analysis, proc step, proc logistic, standard deviation, gain chart 7
28 Data Warehousing in Pharmaceuticals and Healthcare: An Industry Perspective M. Kumar Sagar,
Himanshu Raval
This paper aims to describe the data warehousing process for the Pharmaceutical and the Healthcare industries. We will first examine the reasons and needs for the data warehouses and the expected benefits. Based on this, a general process for data warehousing emerges that utilizes a host of tools and techniques. These are then illustrated by two case studies as follows: (1) A Clinical Trials Data Warehouse for the Pharmaceuticals and Biotech companies, (2) A Utilization and Claims Warehouse for the Drug Manufacturers and the HMOs. Each of these warehouses has different design philosophies, objectives and utilization. Each of these case study warehouses uses a different set of tools for populating the warehouse, data transformation and data extraction. While discussing these case studies, we will also delve into the subjects of: (1) User Requirements (2) Design Specifications (3) Validation and Testing (4) Documentation (5) User Training and Setup data warehouse, clinical trial, data cleaning 10
29 Deploying Existing SAS/EIS and SAS/AF Software Applications to the Web David B. Horne,
Donald J. Henderson,
Vincent DelGobbo
This paper provides an overview of the issues involved in moving applications from the SAS desktop environment to a browser based Web environment. SAS Institute has a variety of tools that can be used to build new Web-based applications as well to assist customers migrate their existing applications to the Web. The paper describes which tools and approaches are best suited to particular types of SAS/EIS and SAS/AF software applications. Issues to consider in determining the suitability of converting a desktop AF/EIS application to the Web are discussed in the context of criteria which can help the user to determine what tools and methodologies which are available from SAS Institute are appropriate. NOTE: The Web has had a tremendous impact on the time involved in delivering new software technology. At the time this paper was written (early January 1999) it accurately reflected SAS Institute's plans in this area 9
30 Discontented with PROC CONTENTS? Expand it with FMTLIB Irene Mendelson In the pharmaceutical industry, the Food and Drug Administration (FDA) has issued guidelines on the documentation it wants to accompany data and programs to support the electronic form of a New Drug Application (NDA) on CD-ROM. In short, the FDA thinks that PROC CONTENTS is not enough to tell the whole story on a data set and wants to see all of the values and codes for any formats used. The key is to tap into information about the data set and its variables that is displayed in PROC CONTENTS and into information about variable formats and values displayed through special options on PROC FORMAT. These two information sources can be joined together using PROC SQL, output into a spreadsheet, and then copied and pasted into Word, where some final editing may be required proc step, proc contents, proc format, proc sql 2
31 Dump a SAS Data Set to a Flat File to Use It with Any PostalSoft Products for Business and Marketing Analysis Sergey Sianissian dataset, flat file, proc contents, proc step 3
32 Dynamic Generation of SAS Data Step Programming From An Excel Data Dictionary Kathy Hardis Fraeman,
Karen G. Malley
Microsoft EXCEL is a spreadsheet program that can be used to organize and display information about a single SAS data set, or several related SAS data sets in a database. A Data Dictionary is a useful database design tool and provides comprehensive documentation for everyone during all stages of data programming, analysis, and delivery. Types of information found in a Data Dictionary can include variable names, labels, lengths, formats, formatted values, valid ranges, and derivation code for derived variables. Information stored in an EXCEL Data Dictionary can further be used as input data to a SAS program that reads the Data Dictionary and dynamically generates SAS DATA STEP code based on the database design. Any database changes, additions, or deletions can be entered solely in the Data Dictionary, and the corresponding changes to the SAS code can be dynamically made in all affected programs data dictionary, excel, txt, proc format, variable, dataset, format statement, length statement, proc step, label statement, filename statement 7
33 Dynamic Variable Lists Darlene Skarbek,
Warren E. Stinson
sample, excel 2
34 Dynamically Build a PROC FORMAT for Subsetting Large Datasets Warren E. Stinson proc step, proc format 1
35 Effective Methods for Graphical Analysis of Quantitative and Categorical Survey Variables Donald T. Gantz This tutorial explains the author's proven methods for graphical analysis of survey data and demonstrates their utility for reducing mounds of quantitative and categorical variables to comprehensible information. It focuses on two fundamental templates for graphical presentation that are adaptable for handling the typical spectrum of survey measurements. First, side-by-side bar charts are used to compare responses for a categorical variable across the levels of another categorical variable. Second, box and whisker diagrams enhanced with summary listings are used to compare values of a quantitative variable across the levels of a categorical variable. The SAS production programs have been written using macro language to efficiently produce large numbers of graphics for exploratory analysis and reporting. A simple shell program consisting mainly of formats, labels and titles calls up a file of SAS application code that produces required summaries and uses them to build the graphics nominal variable, macro variable, numeric variable, class variable, box plot, proc freq 10
36 Experience Learned in Deploying htmSQL Based Application Hsiwei Yu,
Chapman P. Gleason
This paper discusses techniques for dynamic drill-down of web pages using SAS htmSQL and JavaScript language elements. Possible future enhancements to htmSQL, encountered during our development, are also addressed proc sql, order by, proc step, sample 6
37 Exploratory Data Analysis: Getting to Know Your Data Michael A. Walega proc step, proc reg, outlier, proc univariate, histogram, box plot, correlation, regression analysis, normal distribution, proc corr, central tendency, sample, proc gplot, sample size, proc means 8
38 Exporting SAS Graphs to Other Applications Steven E. Elkin Did you ever wonder how to get your SAS Graph into Microsoft Word? How about that fantastic Graph you programmed for your boss' Power Point presentation. What if you could look at your Graph on the Web or a network drive through Netscape Navigator? How many times did colleagues ask you to e-mail your graph? The need to access SAS Graphs in other software is important and can greatly improve the ability to efficiently meet your customers needs. This paper presents the appropriate device drivers necessary to convert SAS Graphs stored in SAS Catalogues to files which can be used in word processing, presentation, and Internet browser software. A single macro containing all the needed parameters for input and output is discussed for exporting all file types. The GREPLAY i procedure is used to create a list and ultimately output graphical entries from a chosen catalogue proc greplay, proc step, macro definition 5
39 Fitting Nonlinear Mixed Models with the New NLMIXED Procedure Russell D. Wolfinger Statistical models in which both fixed and random effects enter nonlinearly are becoming increasingly popular. These models have a wide variety of applications, two of the most common being nonlinear growth curves and overdispersed binomial data. A new SAS/STAT procedure, NLMIXED, fits these models using likelihood-based methods. This paper presents some of the primary features of PROC NLMIXED and illustrates its use with two examples proc step, proc mixed, likelihood function, dataset, estimate, proc calis, binomial distribution, logistic distribution, response variable, proc nlmixed, covariance 10
40 Fundamentals and Flourishes to the TABULATE Procedure Dianne Louise Rhodes The Bureau of Labor Statistics' Table Producing Language (TPL) and Print Control Language (PCL) have been used to produce vital statistics tables for many years. This paper introduces the TPL concepts that are the foundation of PROC TABULATE. These fundamentals are used to demonstrate how to build more complex tables, and how to exploit totals, percentages, and percentage bases. Some of the problems caused by missing data are reviewed, as well as when to set values to missing data to produce the statistics you want. The paper demonstrates how to use formats to produce easy-to-read tables and to "scrub" data proc step, proc tabulate, class variable, proc means 7
41 Garbage In, Garbage Out. Does It Have To Be That Way? Louise S. Hadden As computer programming professionals, we are frequently presented with raw data that is, shall we say, less than ideal. This paper illustrates various SAS programming techniques for dealing with two separate "difficult" external files and a group of externally produced SAS data sets. These techniques, unless specifically noted, can be used with SAS under any operating system. In the process of completing the programming tasks described below, SAS version 6.12 for Windows 95/NT and SAS version 6.12 for AIX/UNIX were used dataset, character variable, compress function, index, input statement, length statement, put statement, flat file, sas programmer, excel 5
42 Generalized Report Programming Techniques Using Data-Driven SAS Code Kathy Hardis Fraeman,
Karen G. Malley
The SAS DATA STEP functions included in version 6.12, based on Screen Control Language (SCL) functions, provide tools for writing generalized macros. These generalized macros can determine characteristics of input variables such as variable type, length, and format and then customize the macro-generated code based on these variables' characteristics. Using this technique combined with the SAS macro facility, we have programmed several generalized SAS macros that produce standard reports used in clinical drug studies. Examples of standard clinical study reports that have been generalized include "Adverse Event Severity and Relationship to Treatment" and "Statistical Comparison of Treatment Groups at Baseline." The names of report variables found in a specific clinical study's data are supplied as input parameters to these macros, and the resulting SAS programs generated by these macros are customized to the specific characteristics of each study's data macro variable, macro definition, class variable, call execute, data step, proc report, clinical trial, dataset, proc step, proc means, data wrangling, macro function, macro loop, macro facility, %if-%then-%else, adverse events 7
43 Get In Step With StEPS: Standard Economic Processing System Deborah Tasky,
Anne Linonis,
Scott Ankers,
Douglas Hallam,
Lawrence W. Altmayer,
Deborah Chew
The Standard Economic Processing System, known as StEPS, is a generalized system being developed in the Economic Directorate of the U.S. Bureau of the Census to process over 100 current economic surveys. It is written entirely in SAS and operates in a UNIX environment. This paper will describe what StEPS is and how it was designed to handle different surveys with different needs by using generalized programs and data structures. Modules within StEPS include many interactive SAS/AF screens and use of SCL in a batch mode. Key modules within StEPS include Collection Activities, Review and Correction, Edit, Imputation, and Estimation imputation, data dictionary, sas output, dataset, proc step 8
44 Get Report Running PROC Mixed Procedure Marina V. Kungurtseva When we use PROC MIXED for statistical analyses, we have to run this procedure a lot of times to see what model works the best for us. This SAS Procedure gives us a lot of possibilities to work upon the mixed model changing the model itself and also the estimation dataset, proc mixed, proc step, covariance, macro loop 10
45 Getting More For Less: A Few SAS Programming Efficiency Issues Arthur L. Carpenter The old saying goes "If there is one way to do it in SAS, there are three ways to do it." Inevitably, when this is said in a group, there will be someone (probably a Quality PartnerTM ) who will chime in with "And I will show you a fourth way." It is of course wonderful to be working with a language that has the flexibility of multiple programming solutions, but this flexibility can come with a price. Very often the most obvious coding solution turns out not to be the most efficient one. It is not unusual to find programs written by programmers with a view to the end result, but with no understanding of the process of the best way of getting there. If there are multiple solutions to a programming problem, which solution is the correct one? And then the bigger question becomes, 'Does it make a difference?' proc step, if-then-else, proc sql, cpu time, retain, subsetting if 4
46 Getting Started with Macro H. Ian Whitlock The macro language is a powerful tool, but it can be dangerous in the hands of the naive. This tutorial takes the first steps in building a strong foundation to understanding of the SAS macro facility. Macro variables are introduced as parameters to a SAS program. Then %INCLUDE is added, and the power of this combination demonstrated. Macros are introduced as a better means of packaging code, and the consequences are explored with examples. Design issues and understanding are emphasized. The consequences of adding the DATA STEP functions CALL SYMPUT and CALL EXECUTE to the programmer's repertoire are considered. As an extension, very simple PROC SQL code is introduced to make macro variables holding lists. The power of this new tool is demonstrated with examples. If you restrict the use of macro to the above tools you have a dramatically more powerful language than SAS alone provides, and debugging is no harder than without these tools macro variable, macro facility 10
47 Graphical Techniques for Displaying Multivariate Data James R. Schwenke,
Brian J. Fergen
When measuring several response variables, multivariate statistical techniques, such as multivariate analysis of variance, are often more powerful in detecting differences among populations than traditional univariate techniques. The increased power of mult- ivariate techniques is achieved by utilizing the correlation among the various response variables measured on a single experimentation unit. In recent years, a number of graphical techniques and computer software packages have been developed for viewing multivariate data through computer monitors. These techniques use various combinations of color, shape and movement to display data, attempting to describe the multidimensional relationship of the response data in three or fewer dimensions. However, these techniques do not always transfer easily to the printed page for use in reports or research documents response variable, correlation, sample, data science 9
48 Hidden Nuggets in Version 7: New Informats, Formats, and Functions Michael D. Rhoads Much of the interest in Version 7 of the SAS system has been in major new features such as the Output Delivery System and long variable and table names. Hidden within the "Changes and Enhancements" documentation, however, are many other useful new items. This paper summarizes several enhancements to SAS informats, and functions, and describes how they can make life easier for programmers who know about them date variable, macro variable 2
49 How MERGE Really Works Bob Virgile length statement, merge statement, proc sort, set statement, proc step 7
50 How New Graphical EDA Techniques Can Reveal Hidden Relationships Between the Criminal Behavior of Federal Prisoners and Their Thinking Patterns David DesJardins The purpose of this paper is to show the correlation, data science, box plot 8
51 How Should I Combine My Data, Is The Question Stephen Thompson,
Asha Sharma
As SAS programmers we are often required to combine two or more files and data sets for processing. How many times and how many of us have combined files without really knowing if we have achieved the desired results. The task of combining data sets can be at times scary and laborious. This leads us to the question of what is the most efficient technique or method to use depending on our objective. There are many factors such as file size, resources, operating systems, time constraints, etc. that need to be taken into consideration while making this decision. Often the method chosen is the one we are most familiar with but which may not be the most proficient and the right one for processing dataset, proc step, merge statement, set statement, proc format, proc sql, update statement, transaction data, master data management, by group processing, proc append, data step, missing value, where statement 6
52 Input Selection, Performance Evaluation, and Credit Risk Analysis Shirley Tsai,
David Hamilton
The purpose of this paper is to evaluate credit card portfolio bankruptcy prediction performance under four input selection regimes. By comparing these performance results, we attempt to get a better understanding of managing credit risk. Pearson chi-square statistic, deviance, uncertainty coefficient, and Gini coefficient are adopted as input selection criteria. Logistic regression with a modified classification table is used to evaluate the prediction performance under the different input selection regimes. The main finding is that even after selecting the input variables from four different regimes, the prediction performance results are very close to each other. However, the performance results under the Gini coefficients selection regime outperforms the results under other three regimes. The performance results under the deviance selection regime outperform the results from uncertainty coefficients and Pearson chi-square selection regimes maximum likelihood estimation, likelihood function, response variable, credit card, proc princomp, correlation, logistic distribution, logistic regression, proc freq, credit risk, regression analysis, past due, training set, proc step, proc sort, data cleaning 10
53 Job Control Language and the SAS System for Beginners Bob Nowosielski SAS under IBM's MVS environment is a powerful data manipulator. But for the novice user, learning and understanding the methods for getting data into and out of the SAS environment can be frustrating. This is especially true in batch mode even though batch mode is often the best way to manipulate external data. This paper explains the relationship between the SAS environment and the MVS environment in terms of files, DD names and Job Control Language (JCL). It explains some of the basic questions a novice user might ask about the SAS CLIST. The process of getting data into and out of the SAS environment in JCL is explained in simple but descriptive terms, using both real world examples and textbook definitions. The novice will gain a basic understanding of accessing and manipulating both SAS and external files using JCL in conjunctions with the SAS catalog, proc catalog, options statement, libname statement 3
54 Let SAS Do the Work for You: Interface SCL Classes from webAF TM Applications Yvonne Selby With the new Java based webAF tools provided with AppDev Studio, it is possible to create dynamic applications that use the power of SAS/AF software classes to interface with your applets or applications. If you're familiar with creating CLASS entries in Screen Component Language (SCL), you can write interfaces to your classes to take advantage of those classes within your Java application. This paper will demonstrate the process of creating and executing remote SCL interfaces using webAF where statement, if-then-else, proc greplay 10
55 Let There Be Highlights: Data-driven Cell and Row Highlights in %TAB2HTM and %DS2HTM Output Matthew J. Flynn,
Ray Pass
proc step, proc tabulate, ods html, macro variable, proc report 8
56 Longitudinal Data Techniques: Looking Across Observations Ronald P. Cody proc step, proc freq, lag function, by group processing, set statement, longitudinal data, retain, proc means 6
57 Macro Quoting Functions, Other Special Character Masking Tools, and How To Use Them Arthur L. Carpenter Quoting functions allow the user to pass macro arguments while selectively removing the special meaning from characters such as &, %, ;, ', and ". Most of these functions are not commonly used and are even less commonly understood. Although they are powerful and can even be necessary, usually programming solutions are available that do not require the use of the quoting functions. When are quoting functions needed? When needed how are they used? Which one should be selected? This paper will discuss when to use and when to avoid quoting functions. In addition the discussion will include solutions that avoid the use of quoting functions. Fortunately there are several ways to mask special characters within the macro language. These include quoting functions, %DO blocks, restructuring of statements, and the character mask (%) macro variable, macro quoting function, proc print, macro facility, macro loop, proc step 5
58 Macros from Beginning to Mend - A Simple and Practical Approach to the SAS Macro Facility Michael G. Sadof The macro facility is an important feature of the SAS Language. Mastering this facility will enable the novice user to become an accomplished programmer. This tutorial session will use a building block approach taking the user from the most basic %LET statements to parameter driven, code generating macros that can save time and effort. The use of Macros will reduce the repetitiveness of manipulating data and will facilitate uniform and easy maintenance of the system. This paper will use step by step examples to show the user how to use macro substitution to provide simple yet powerful SAS code. The user will learn how to create variables on the fly, and how to use the macro facility to generate code as well as how to save sections of macro code for future use macro facility, macro variable, macro definition 9
59 Make Your Own Macro Processor H. Ian Whitlock A simple macro variable processor which one might call SAS/PRETTYLOG is implemented in a short and simple SAS program, PrettyLog.sas. The example provides a better understanding of how SAS macro works while solving the problem of making a pretty SAS log , i.e. indentation preserved log with resolved macro variables and no SYMBOLGEN mess. This utility only requires base SAS software and may be acquired at no more expense than a little learning effort macro facility, macro variable, sas log, &variable, call execute 2
60 Modeling Customer Choice David R. Roberts regression analysis, logistic regression, logistic distribution, proc reg, null hypothesis, sample, odds ratio, standard deviation, predictor variable, residual 6
61 Modeling General Epidemics: SIR MODEL Robert J. Gallop Last year, we considered modeling simple epidemics. This poster extends last year's investigations and considers modeling concerns for general epidemics. There are two standard modeling procedures: Deterministic model and Stochastic model. Deterministic modeling considers a structured mathematical framework, where one takes the actual number of new cases in a short interval of time to be proportional to the number of both susceptible and infectious individuals, as well as the length of the time interval. Stochastic modeling considers conditional realizations, where one assumes that one new case in a short interval of time is proportional to both susceptibles and infectives, as well as the length of the time interval. Although both definitions sound similar, there is a subtle difference: the deterministic model considers a set mathematical structure, while the stochastic model works on conditional probability structure deterministic model, sample size 5
62 No Program Is An Island: Passing Parameters to Tasks Launched by Servers and Schedulers Michael L. Davis,
Gregory S. Barnes Nelson
Many computer tasks are controlled and modified by parameters. They convey to our tasks information such as what range of dates to include, which reports to run, where to find the raw data, and sometimes whether an error has occurred that should cause suspension of the requested task. Parameters are one of the main means for tying tasks together to form applications. When using SAS/AF 1 and SCL, parameters can be passed along with CALL statements, through SCL Lists and SLIST catalog entries, parameter data sets and files, and through macro variables. This paper will explore and contrast examples of these techniques. Strategies to choose the best means for passing parameters to different types of successor tasks will be offered. When tasks are launched by a web server or a production scheduler, additional problems may emerge macro variable, catalog entry, dataset, sas base, proc print, macro parameter, call execute, flat file, macro facility, txt, batch job, data step 10
63 ODS for Data Analysis: Output As-You-Like-It in Version 7 Christopher R. Ollinger,
Randall D. Tobias
anova, response variable 8
64 One Efficient Way to Select Records From a Very Large Flat File or SAS Data Set George Bukhbinder This paper shows how to match two flat files or SAS data sets without using the MERGE statement or PROC SQL. The method presented is especially efficient if one of these files is very large, having tens or hundreds of millions observations, and other file is comparatively small, having less than a million observations. This paper explains the code required to perform the match, and also discusses the benefits and limitations of our method proc step, flat file, merge statement, proc format, proc sql, dataset, put statement 2
65 Optimizing the Processing of VSAM Data Sets With The SAS System Michael A. Raithel Ever since its introduction in 1973, the Virtual Storage Access Method (VSAM) has been a popular data storage construct on MVS systems. VSAM is the cornerstone of online applications such as IMS and CICS, and is widely used in vendor packages and in- house-written batch applications. Its flexibility and automatic internal data management routines have long made it an access method of choice. This paper focuses on how SAS programmers can optimize the processing of VSAM data sets by manipulating VSAM buffers. It presents specific techniques and methodologies for determining what kind, and how many VSAM buffers to allocate to a SAS program. If implemented correctly, these buffering methodologies will greatly reduce disk I/O' s, reduce CPU time, and lead to better job turnaround time cpu time, sas programmer, file statement, infile statement, batch job 7
66 Proc Doc: A SAS Prescription for Your Documentation Ills Louise S. Hadden The most onerous task any SAS programming professional faces is to accurately document files and processes. By setting careful standards at the outset of a programming task and using the many tools the SAS system provides to assist in the documentation process, document files and processes need not be "the dreaded D word" proc contents, proc step, flat file, sas programmer, dataset, macro function 6
67 PROC REPORT - Land of the Missing OBS Column Ray Pass proc report, proc step, proc print 2
68 PROC SQL for DATA Step Die-Hards Christianna S. Williams PROC SQL can be rather intimidating for those who have learned SAS data management techniques exclusively using the DATA STEP. However, when it comes to data manipulation, SAS often provides more than one method to achieve the same result, and SQL provides another valuable tool to have in one's repertoire. Further, Structured Query Language is implemented in many widely used relational database systems with which SAS may interface, so it is a worthwhile skill to have from that perspective as well. This tutorial will present a series of increasingly complex examples. In each case I will demonstrate the DATA STEP method with which users are probably already familiar, followed by SQL code that will accomplish the same data manipulation proc sql, proc step, create table, order by, group by, inner join, subsetting if, by group processing, filtering, proc means, outlier 10
69 Program Generator with DDE and FTP John Q. Zhang In SAS program generator is also called 'SECOND ORDER PROGRAM'. The program itself is a SAS program. What it does is to produce or write a SAS program or non-SAS program that performs specific data processing or operations. Since Version 6.08 Windows version SAS provided another useful and powerful tool, DDE, the acronym for 'Dynamic Data Exchange'. DDE, in some sense, is the interface or interaction between SAS and other PC applications. For instance, by DDE SAS users can read in or write out an opened EXCEL file and ftp to other systems (here is the mainframe). The FTP command can be incorporated in the SAS program without opening FTP application. Since DDE and FTP both are the new features of SAS 6.12, therefore, the program contributed can only be run on SAS 6.12 and up. The second-order-program presented in this paper now can produce some TERADATA SQL programs depending on the users' requirements. To hard-code those programs must be tedious, time consuming and error-prone proc sql, excel, drop table, macro variable, macro definition, proc step, macro loop, create table, variable, select, macro function, %if-%then-%else, macro quoting function 9
70 Psychometrics 101 Ronald P. Cody correlation, proc step, proc corr, proc rank, point-biserial correlation, proc tabulate, proc freq, pearson correlation, macro variable 9
71 Reporting: Moving from v6 to v8 with ODS Paul Kent This paper observes the transition of several reports used by R&D Management at SAS Institute from their Version 6 incarnation through several rounds of improvement. Along the way, we point out some techniques that can be used to make reports delivered "on the Web" more effective. We show how we used the new ODS features in Base SAS Software together with SAS/GRAPH and SAS/INTRNET software to modernize reports from the bug-reporting application used by many developers at SAS Institute. When we were finished, we had transformed lumpy mono-spaced batch printout into vibrant web pages with clickable graphs and reports. Building links to other applications like "up to the minute detail reports" further enhanced the utility of these new HTML pages. The paper is a cookbook of examples for something that you can try at your place of business too proc step, proc tabulate 6
72 Robust Programming Techniques in the SAS System Alice M. Cheng Have you ever had a program that runs on some occasions and fails on others? Has a change in input data values affected the error-free execution of the program, or worse, produced incorrect results? Chances are that the program concerned is not robust enough. In this paper, the author provides robust techniques for documentation practices, data processing and macro-processing in the SAS system in order to avoid such problems. Keywords: Robustness, Documentation, Data Processing, Macro- Processing missing value, macro variable, proc step, proc sql, sas log, proc transpose, by group processing, data step, put statement, macro put, data wrangling, call symput, raw data, dataset, error message, macro parameter, %macro parameters, macro definition, character variable, stored macro, create table, full join, options statement, macro facility, if-then-else, macro quoting function 10
73 SAS MACRO: As A Dynamic Code Generator Ming H. Chow MACRO language has been known to be very powerful. The following short MACRO program reduces highly customized SAS programs of several thousand lines to a two-page program. It processes the public-use American Housing Survey (AHS) data sets (already in SAS format) and "export" them to .CVS (Comma Value Separated) files. The BETA version of "export" options of PC/SAS 6.12 does provide similar function but gives user no control of variable sequence and format to the output files. This program provides a simple example of controlling the output (.CVS) format. With minor modification of this program, users can produce an output data set according to their purposes macro definition, %if-%then-%else 5
74 SAS Macros for Grouping Count and Its Application to Enhance Your Reports Shi-Tao Yeh This paper provides two SAS macros, one for one grouping variable, and the second for two grouping variables. Both macros count the subjects in the grouping variables and the number of sub-groups. For some report-writing ta sks, the number of sub-gr oups and subjects in each subgroup may vary and cannot be predicted prior to invocation. The macros that perform the counts include an overall total number of subjects and a summation of subjects in each subgroup. They then save the counts as SAS macro variables for later use. This paper also discusses how to use these macros with provided examples to illustrate how to enhance your reports. The SAS product used in this paper is SAS BASE , with no limitation of operating systems sample, macro definition, format statement, class variable, proc step, in=, macro variable, data step, proc sort 5
75 SAS Program Efficiency for Beginners Bruce F. Gilsen dataset, where statement, if-then-else, character variable, subsetting if, proc step, conditional do loop, input statement, proc append, set statement, numeric variable, sas function, flat file 10
76 SAS Programming and HEDIS: An Introductory Overview Christopher Plummer The Health Plan Employer Data and Information Set, or HEDIS , a product of the National Committee for Quality Assurance (NCQA), "is a set of standardized performance measures designed to ensure that purchasers and consumers have the information they need to reliably compare the performance of managed health care plans. The performance measures in HEDIS are related to many significant public health issues such as cancer, heart disease, smoking, asthma and diabetes." (NCQA, proc step, proc sql, proc download, retain, by group processing 7
77 SAS Software MDDBs Solve Real-World Problems for 1997 Economic Census Shirin A. Ahmed,
Kimberly D. Yarbrough
To accommodate the conversion from the Standard Industrial Classification (SIC) to the North American Industry Classifications System (NAICS), the U.S. Census Bureau implemented a warehousing solution. Known as the NAICS Database System, it became pivotal to the 1997 Economic Census by providing corporate data, access, and analytical tools using SAS products - primarily SAS data sets, SAS/EIS software, SAS/MDDB software, SAS/AF software, and SAS programming language. The NAICS Database System consolidates information from legacy systems across the economic area at the Census Bureau for data analysis and production of composite publications. Unlike other data warehousing projects, the NAICS Database System differs in three respects. First, it is integrated into production systems for the Economic Census, and refreshed weekly. Second, its use is tied to actual deliverables in the publication release of first- time economy-wide Core Statistics Reports sample, dataset 7
78 SAS Summary Tables Floyd Schwartz dataset, proc step, flat file, proc print 4
79 Seamless Interface to Microsoft Word from SAS Output Tim Muir,
Wendell F. Refior
We know that upcoming versions of SAS will be able to export output directly to rich text format (RTF). This is not possible for programmers using version 6.12, but this paper presents a SAS macro that directs Microsoft Word to insert SAS output and save in Word format sas output, macro definition, proc step 2
80 Secrets of Macro Quoting Functions - How and Why Susan M. O'Connor How, why, when and where to use macro quoting functions are tricky questions for all users. Macro quoting is not, as some think, putting single and double quotation marks in or around SAS tokens. Macro quoting is actually masking special characters and mnemonic expressions in the SAS System so that these characters are not confused or ambiguous in their context during tokenization and execution of SAS or SAS macro. SAS macro quoting functions also are used to mark starting and ending delimiters. The terms compile-time and run-time should be understood as related to macro for mastery of macro quoting functions. The differences and timing of the compile-time macro quoting functions, %STR and %NRSTR, will be emphasized. The meaning of run-time macro quoting functions and the individual implications in your code will be covered and the differences between run-time and compile-time macro quoting functions will be illustrated macro quoting function, macro put, macro variable, macro facility, symbol table, macro function, macro definition, proc step, %if-%then-%else, stored macro, macro trigger, proc print, macro loop, put statement, title statement 12
81 Self Adjusting Date Formats Marianne L. Whitlock We frequently want a table of information grouped by date ranges. How many exams were done last quarter and all earlier quarters together? What was the number of machine tools produced last month and the previous month, and each of the previous years? How many whales were sighted this year, last year, and all the years before that since records were kept, grouped together? In each of these examples, recent date ranges are finer, and more historic dates are clumped into larger ranges. When such a report is generated regularly, the dates in the finer ranges start moving back into the more clumped ranges. Through an example, this paper will demonstrate the creating of a dynamic self-adjusting format to do the grouping, so that without touching the code, the report will move ahead for the new information, and roll up earlier information into larger date ranges proc format, proc step 2
82 Serving the World with SAS: EPA's SAS Analytic Library Jay Jacob Wind,
Chapman P. Gleason,
Michael Yu
EPA's SAS Analytic Library is a storehouse containing all major EPA environmental data. This paper demonstrates how any SAS user in the world, connected to the Internet, can view and analyze EPA environmental data and metadata using SAS sas programmer, data warehouse 8
83 Shortcuts Janet E. Stuelpner There are many ways to write a variable list. Of course, you can list every variable, which requires a great deal of typing, if you have a large number of variables. However, there are some shortcuts. This paper will discuss several ways within the base SAS product to cut down on the amount of typing that is usually done when listing variables variable list, name range list, numbered range list 2
84 So Now You're Using PROC REPORT. Is it Pretty and Automated? Daphne E. Ewing,
Ray Pass
PROC REPORT will display data. That's a given. That it is more powerful than the standard SAS reporting tool PROC PRINT is also becoming common knowledge. But what can PROC REPORT really do? It is certainly more than a glorified PROC PRINT, but it does take some additional work beyond mastering some of the basics of the procedure before it can be used to produce output that can rival that of a serious DATA _NULL_ step. This paper will discuss the use of several customized macros which can work together with some PROC REPORT options, and standard SAS title and footnote statements, to make your PROC REPORT output really shine. The purpose of this paper is to provide some methods, through a progressive series of examples, to enhance the output created when using PROC REPORT. It is assumed that you know how to write a basic PROC REPORT program including COLUMN, DEFINE, COMPUTE, and BREAK portions of the syntax proc report, proc step, macro variable, footnote statement, sample, options statement, macro definition 10
85 So You Want to Learn PROC Report Chris Moriak Producing attractive reports is essential when working with either internal or external clients. By now, you have probably heard about PROC REPORT in the non- windowing environment, but you may have never used it. If you want to learn PROC REPORT but do not have either the time nor money to take a SAS course or read the extensive manual, then this paper is for you. I have condensed the basic components and major options of PROC REPORT into this short paper. This paper is for both beginners in its step-by-step instructions, as well as for advanced users with its reference section containing nearly every available option. The paper also contains two methods for easily calculating percentages within groups and for the entire report, and a useful medical utilization report proc report, proc step, by group processing, proc freq, class variable 9
86 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, sample, proc print, proc tabulate 10
87 Some Uses (and Handy Abuses) of PROC TRANSPOSE Ralph W. Leighton proc step, proc transpose, proc print, format statement, dataset, calendar year, character variable, missing value, numeric variable, transposing, variable, raw data, comma., development age, macro loop, paid loss, macro definition, by group processing 10
88 The Detection and Correction of Sample Selection Bias in Patient Satisfaction Surveys: A Two-Step Application of PROC PROBIT Guy Pascale,
Howard Peters
With increased emphasis on quality in the hospital setting, the use of patient satisfaction surveys has increased dramatically over the last decade. Although these survey instruments can identify problem service areas, little is known about the impact of patient non- response. The authors analyze the impact of non-response on an in-patient satisfaction survey for a community hospital by utilizing a two-stage process. First, the authors model response versus non-response against patient, payor, and hospital specific characteristics using PROC PROBIT. This information is used to calculate the inverse Mills ratio (IMR) for all observations. The second stage entails modeling respondent likelihood of recommending the hospital via an ordered PROC PROBIT. The IMR is included as an independent variable to test and correct for non- response bias. If the coefficient on the IMR is insignificant, then non-response bias does not exist sample, proc step, likelihood function 10
89 The Magic of PROC SQL John Hotaling proc sql, proc step, full join, inner join, right join, where statement 3
90 The missing link: PROC GENMOD Margaret Ann Goetz Most beginning and intermediate SAS/STAT users are familiar with PROC GLM and PROC LOGISTIC, two valuable tools for fitting linear and logistic regression models. Depending on the requirements for a particular analysis, however, SAS users may wish to consider PROC GENMOD. There are a number of modeling situations which may benefit from the options available in PROC GENMOD. Part of the flexibility of GENMOD centers around a choice of available link functions, including identity, logit, probit, log, complementary log- log, and power. Other exciting options include user- defined link functions and likelihood ratio-based confidence intervals for a binomial model. This paper will include a brief introduction to generalized linear models theory, along with suggestions for additional reading. The paper will also present examples (with SAS code) of practical applications of PROC GENMOD, focusing on Poisson regression and logistic regression proc step, proc genmod, regression analysis, logistic distribution, logistic regression, response variable, proc glm, poisson distribution, proc reg, poisson regression, likelihood function, confidence interval, proc logistic, binary variable, maximum likelihood estimation 3
91 The Redmond to Cary Express - A Comparison of Methods to Automate Data Transfer Between SAS and Microsoft Excel Micahel T Mumma Data transfer between SAS and Microsoft EXCEL is addressed by many SUG papers, and is continuously a hot topic within SAS-L. There is even a web page dedicated solely to this subject (Cram 1999). Many factors determine the 'best' (or simply viable) approach to performing this transfer. Five methods of automating this exchange are presented, including example SAS code excel, proc step, txt, filename statement, infile statement, macro variable, dataset, proc import, proc sql, put statement 9
92 The Results of Cluster Analysis of Clinical Data Using the Fastclus Procedure Lev Sverdlov,
John F. Noble,
Gabriela Nicolau
The objective of this presentation is to describe an example of disjoint clustering for clinical data as part of statistical evaluation for drug development in the CNS area. The percent change from baseline, change from baseline, proc fastclus, cluster analysis, follow-up period, sas output, clinical data, sample 9
93 The RETAIN Statement: One Window into the SAS Data Step Paul Gorrell The behavior (or, output) of any complex system is a result of the interaction of its various subsystems. This is certainly true of SAS, and an understanding of what goes on 'behind the scenes' is an important step in mastering the use of SAS statements, functions and procedures. In this paper I will focus on the RETAIN statement, but with an eye toward certain general properties of the SAS DATA STEP. Looking at the DATA STEP from the perspective of a particular statement allows for an immediate, and concrete, grasp of what otherwise might feel like a rather abstract part of the SAS System. Even at its best, documentation cannot delineate the full range of interaction effects a particular statement or function will exhibit as part of a DATA STEP or program. Understanding the general properties of the SAS System as they relate to particular parts is a prerequisite for creative and productive SAS programming, as well as a real timesaver when it comes to debugging retain, set statement, dataset, proc sql, proc step, keep statement, put statement, missing value, data step 6
94 The Use of External Software to Import Data into the SAS System Richard O. Smith,
Arthur L. Carpenter
A brief introduction is presented in the use of external software, such as DBMS/COPY and DBMS/Engines by Conceptual Software, Inc., to import external data into the SAS System. DBMS/Engines can be used in LIBNAME statements to allow easy access to external data in a dataset, libname statement, excel 4
95 There's No Such Thing as Normal Clinical Trials Data, or Is There? Daphne E. Ewing Clinical Trials data comes in all shapes and sizes depending upon the therapeutic area, indication and phase of the trial. Quite a bit of the data arriving on Case Report Forms (CRFs) is fairly standard (e.g. Demography, Adverse Event, Medications, Laboratory, etc.), and hence can be stored in fairly standard data structures. Designing clinical data structures for data entry is important, but it should be done with some understanding of the analysis that will be performed. Once an appropriate clinical data structure is arrived at for data entry, it is important to then determine how to best use the data in the analysis environment. This paper will discuss data normalization and what it means along with the effects it has on SAS programs used to list and summarize clinical trials data. Side by side examples of programs and output from standard data structures versus normalized data structures will provide proof of the importance of normalization proc step, proc report, sample, proc freq, normalization, by group processing, proc means 10
96 Those Missing Values in Questionnaires John R. Gerlach,
Cindy Garra
Questionnaires are notorious for containing responses that later become missing values during processing and analyses. Contrary to a non-response that missing value, proc format, proc freq, inputn, proc step, if-then-else 6
97 Three Unrelated Tips That Solve Three Unrelated SAS Problems Perry Watts The first tip demonstrates that arrays are powerful tools for streamlining data processing. The second tip shows the user how to set the windows default directory in code so that libnames can reference relative rather than explicit paths. The third and final tip shows how to separate file names from full path names in a variable multiple-level directory structure. Tip #1 Working with Arrays Using a 2-D Array to c ollect summary statistics on one pass through an input data file An input file contains multiple records per observation. The first row of numbers is ignored, and an output file containing information about the remaining columns of data from the input file is generated. Figure 1 shows the structure of the input data, and the desired output is listed in Figure 2. Figure 1. Structure of the input data set. Figure 2. Desired output where each row contains information about a column of numbers in the input data set character functions, substr function 2
98 Tips and Techniques for Large Files Andrew H. Karp This paper discusses several techniques and approaches to working with large data sets in the SAS System. Despite the proliferation of client-server and other "distributed" data processing environments, many SAS System users still encounter "large" data sets upon which they are expected to report, analyze, manage or otherwise use SAS tools. While the definition of a "large" data set remains somewhat subjective, and often depends on operating system and/or storage constraints, all SAS Software users can take advantage of one or more approaches outlined in this paper to improve the efficiency with which the SAS System is applied. Some General Considerations When does a file become "large"? Although no universal, operating system-invariant definition of a "large SAS data set" exists, all data sets can be considered "large" if that is what the user considers them to be dataset, proc step, numeric variable, subsetting if 4
99 Transferring Your Mainframe SAS Programs to Your PC in Three Easy Steps Michael A. Raithel You have built up quite a collection of useful SAS programs in your many years of using the SAS System on mainframe computers under MVS. Now that you find yourself doing more and more work in PC SAS, it seems a shame to write new programs entirely from scratch. Wouldn't it be more helpful to port your mainframe Partitioned Data Set (PDS) of SAS programs to a file on your PC? Then, you could reuse your mature SAS code on the desktop by making simple modifications to suit it to its new environment and to the particular task at hand. This paper illustrates an easy way to transfer a PDS of SAS programs from the mainframe to the PC in three easy steps flat file, proc step, macro definition 2
100 Understanding Behavioral Trends and Patterns in Populations: Revisiting the Clinical Pathway Model Enya N. B. Garcia The timely and reliable identification of meaningful behaviors within various populations is a critical step towards the accurate forecast of health care resources. This poster presentation will display a revised data model that facilitates the discovery and investigation of relevant patterns within a specific patient population data standard, sample 1
101 Unlocking SAP AG R/3 data with the SAS System!!! The SAS Intelligent Warehousing Solution for R/3 Eric Hunley 13
102 Using &SYSBUFFR to Gather User Input Michael A. Mace For mainframe SAS users who have the need for customized (ad hoc) reports, the system macro variable &SYSBUFFR, used in conjunction with %PUT and %INPUT, can provide the user with independence and flexibility and free the programmer from 'report boy' syndrome macro put, macro variable, proc sql 2
103 Using a Batch File to Distribute Windows SAS to Server Users Steven H. Feder For organizations with a large number of Windows SAS users, installation on individual machines takes an excessive amount of time. Running SAS from a server copy avoids the installation problem but slows down processing. A nice compromise of installation time and processing speed is installing only the SAS.EXE and a few other files on individual machines and storing the rest on the server. This requires only a few minor configuration changes. To further reduce the installation time, the drive mapping, file copying, and icon-creation to set up the individual machines can all be done by a WINBATCH stand alone .EXE file. Since the .EXE can be distributed by email, installation and maintenance can be both user-friendly and fully centralized 4
104 Using ANNOTATE Macros as Shortcuts Arthur L. Carpenter ANNOTATE macros can provide a shortcut when creating an ANNOTATE data set using assignment statements. To be used properly you need to understand how they work and what they will do for you. They will not abrogate your need to understand how the process of creating the data set works. Indeed you need to have a good understanding of how the ANNOTATE data set is constructed before you should attempt to use these macros. Keywords ANNOTATE, macro, annomac, SAS/GRAPH proc freq, histogram, numeric variable, macro call, proc step 6
105 Using context sensitive popmenus to enter values in a SAS/AF Data Table object Richard A. DeVenezia The SAS/AF Data Table object is a stock com- ponent that can be used as a foundational part of a SAS/AF Frame application. The Data Table has many built-in features, but sometimes even those are not enough to make the interface truly simple for the end-user. Extending the Data Table to allow new and useful interaction can make an application well received by the user community. Additionally, a developer can reuse the extended object or object extending techniques in other applications. The use of the right mouse button for displaying a context sensitive menu of choices is a well estab- lished convention. This paper describes a technique that overrides a SAS/AF Data Table object's _POPMENU_ method to allow column specific con- text sensitive popmenu data entry. From a users perspective, when a cell is right clicked a list of allowed values is displayed and the selected value is placed in the cell dataset, sample 8
106 Using Format Concatenation in SAS Software to Decode Data in Longitudinal Studies Perry Watts Formatting data becomes a complex process when codes change their meaning over time. While new codes can be easily accommodated, deletions and modifications require multiple time-dependent versions of a format for accurate decoding. All these versions must be available to the programmer who works with longitudinal data. This paper uses the concatenation feature in the FORMAT pro- cedure to eliminate redundancy from versioned formats. The author shows how to create the formats and then how to use them in a sequentially linked manner so that time is incorporated as a dimension into the decoding event. Efficiency issues are also considered in the presentation. For a description of format con- catenation, the reader is referred to Jack Shoemaker's paper Advanced Techniques to Build and Manage User- Defined SAS Ò FORMAT Catalogs that appeared in the NESUG 1998 Conference Proceedings. Problem Definition Coded values in the health care industry are constantly changing proc step, proc format, longitudinal data, putc, proc sql 7
107 Using KEY= to Perform Table Look-up Sandra Lynn Aker proc step, automatic variable, modify statement, put statement, lookup 4
108 Using PROC CHART in Screening for Admission: An Application for Policy Makers Rebecca Goldblatt This presentation discusses an application of PROC CHART that was used to clarify the implications of admission screening policies. The data included detailed information on approximately 300 children with behavioral problems who needed to be admitted to state treatment centers. Additionally, the database also included the admission criteria for 12 centers in the state. A program was designed to screen the characteristics of each child against the admission criteria of the centers in order to determine which location could provide a potential placement. The presence of at least two characteristics that conflicted with a center's criteria precluded admission. Next, for each center, the program used PROC CHART to produce a visual depiction of the number of children whose characteristics conflicted with each criterion. Horizontal frequency bar charts were produced for each treatment center. The variables for each bar chart varied, based on the specific admission criteria for each center proc step, proc freq, bar chart 3
109 Using SAS Output HTML Formatter - Web Publishing Tool By Examples Shi-Tao Yeh SAS Web Publishing Tools are SAS macros, which enable you to convert your data files, output files to HTML format and to display it on your Web browsers. This paper explains one of SAS Formatters, known as output formatter and how to invoke this macro with provided examples. The examples illustrate how to enhance your output on the Web browsers. The SAS product used in this paper is SAS BASE , with SAS Formatters installed on Unix platform dataset, sas base 6
110 Using SAS/FSP Software and a Two-Dimensional Array to Manage Distribution of Monthly Production Reports Helen-Jean Talbott Within the first three days of each month, the Credit Policy MIS group in Commercial Credit produces over 200 reports which must be distributed quickly to more than 70 recipients. Until recently, distribution information was kept in a simple Microsoft EXCEL spreadsheet showing report numbers, program names, report titles, recipient names, and number of copies for each recipient. Although the spreadsheet approach worked well when there were 20 recipients, it became impractical with more than 40 recipients due to space limitation. The goal was to use SAS/FSP to manage the distribution data and to use this data to produce check-off lists. Structure of the data set was key to success. To make the SAS/FSP application run smoothly, we wanted one observation per program containing information on all the reports and recipients for that program. A two- dimensional array accommodating up to 32 reports and 20 recipients per program worked very well excel, dataset 6
111 Using SAS/GRAPH Software to Create Graphs on the Web Himesh Patel,
David Caira
This paper highlights some ways of customizing SAS/GRAPH device drivers to produce graphics that are suitable for presentation on the Web. It also highlights new Version 7 enhancements that allow you to create HTML image maps in order to produce drill-down graphs on the Web ods html, proc step, numeric variable, proc gchart, proc print, output delivery system, proc sort, macro facility 10
112 Using the FTP Access Method Howard L. Schreier Recent versions of the SAS System provide the FTP Access filename statement, libname statement, dataset, data step, macro variable 9
113 Using the ID Option in PROC REPORT Chris Moriak Creating a report that contains more columns than can fit on a page can be tricky, especially if one wants to keep one or more columns the same on subsequent pages. This can be remedied by using the ID option in PROC proc report, proc step 2
114 Visual Analysis on the WEB: Animating High Density Multidimensional Data Haftan M. Eckholdt SAS can be used as a powerful tool for systematically exploring, animating, and sharing animated multidimensional data structures using goptions dev=gifanim statement in SAS/GRAPH. Three different examples of data animation and visual analysis are provided in this paper (viewable at http://idt.net/~haftan by selecting research). The first, and perhaps easiest example, demonstrates the visual analysis of spatial data revealing the 3-dimensional functional neuroanatomical structures of the rat brain reconstructed from hundreds of digitized 2-dimensional scans. These reconstructed brains are then viewable from moving external as well as internal perspectives revealing previously obscured surfaces and relationships type ii error, type i error, data visualization, null hypothesis, data governance, data science, correlation, raw data, proc step 9
115 What Sort of Input Should You Input to a Sort? Michael A. Raithel Because the SAS System makes sorting so simple, some programmers sort an entire SAS data set without giving it a second thought. But, efficiency-minded programmers often pause to consider what portion of a SAS data set actually needs to be input to PROC SORT. What if only a specific subset of a SAS data set's variables are required in the final sorted data set? Is it really necessary for the entire data set be sorted, or is there a more efficient alternative? This paper discusses different methods of inputting a SAS data set to PROC SORT. It compares the efficiency of sorting an entire SAS data set with three methods of subsetting the data set's variables and inputting them to PROC SORT. This practical information can be used by SAS programmers to improve the efficiency of their sorts dataset, proc sort, proc step 2
116 What We Really Need is a %BY Statement - V2 Ray Pass proc step, do loop, macro variable, proc sql, macro function 2
117 Where, When, and How to Use Dictionary Tables in SAS.... Jiang Jin Dictionary tables are created and automatically maintained by SAS system at run time to store information related to SAS data libraries, SAS system options, SAS catalogs, and external files associated with the currently running SAS session. This information is stored as special read-only PROC SQL objects. CATALOGS, COLUMNS, EXTFILES, dictionary tables, macro variable, proc step, proc sql 5
118 Year 2000 Triage For Your SAS Applications Mike Kalt You had every intention of finishing all of your Year 2000 testing and remediation early and spending January 1, 2000 lying on the beach. But it's just a few months before the millennium and you still haven't tested your SAS applications! Even if you don't have time to do complete testing of all of your SAS applications there are a number of things you can do to find and eliminate potential problems. This paper will discuss the most effective techniques for evaluating your SAS applications and making them compliant in the shortest amount of time. Some of the topics to be covered include: Tools to locate potential problems in your SAS applications What to look for when testing your SAS applications Testing your applications in a Year 2000 environment Using the YEARCUTOFF= option to handle two-digit years date variable, sysdate9, proc step, dataset, raw data, character variable, proc sql, sas log, catalog entry, excel, data cleaning 7
119 You CAN Get There from Here (and Back Again): Adding Hot-link Drill-down Capabilities to %DS2HTM and %TAB2HTM Output Ray Pass The SAS Web Publishing Tools (%TAB2HTM, %DS2HTM and %OUT2HTM) can be used to create HTML pages for publishing on the Internet or an Intranet. Right out of the box (and the box is FREE too!), they can be used to create basically one page per PROC TABULATE output, or one page per SAS data set (tabularized display). (%OUT2HTM can be used to add titling and other information to any SAS procedure output, but the basic procedure output is not really enhanced.) By using simple SAS MACRO processing combined with the manipulation of TITLE statements, basic data set variable values and values of variables used as CLASS variables in TABULATE procedures, you can create whole systems of hot-linked pages with almost full drill-down capabilities dataset, proc tabulate 10

Back to Conf go 2000 go 1998

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.