HOME QUICK SEARCH AUTHORS KEYWORDS HELP BUGS

SESUG 1998 Papers - Index

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

# Title
×
Authors
×
Abstract
×
Keywords
×
Extras Pages
1 %FREQ1VAR: Frequency of One Variable with Format: a Macro to Standardize PROC FREQ Output Data Sets Ronald J. Fehd SAS software provides the ability to associate formats, or look up tables, 'II'Ith variables in a data set Encapsulating the format labels in a summary data set provides a c;omplete and independent set of information about a variable to other procedures. This macro was written to standardize summary data sets and bring them info c;onformance 'II'Ith data sets produced by Fehd's (1997) CHECKALL and SHOWCOMB macros, which provide information about multiple response data. The standardized data sets, or objects, have the same structure and are used for quick and concise reporting of summary information of large survey questionnaire data sets. Their identical structure enables easy access by other methods and software proc freq, proc step 3
2 [-NET SOLUTIONS Overview of Java Components and Applets in SAS/lntrNet Software Barbara Walters This paper describes the Java com~ments and the sample applets that are part of SAS/LNTRNET software. This paper describes how to use the SAS/SHARE"" driver for JOBC, SAS/CONNECT"" driver for Java, and the Tunnel feature to access information and services available from SASe servers, and also provides code examples to demonstrate these capabilities. Note that the code examples referenced in the text are presented in a separate section at the end of the paper proc step, bootstrap, proc sql, proc greplay 7
3 A Methodology for Developing SAS Applications for Use in Multiple Languages Gina M. Thomas Developing SAS applications that will be used in several countries, each with its own native language, presents unique challenges for the SAS applications developer. This paper will present a methodology for developing a SAS application that may be used in any number of languages, without requiring a rewrite of the application code for each language translation. The application is developed once, the translation methodology is applied once, and then the application can be translated as often and to as many languages as is necessary, without having to rewrite any of the original application code macro variable, dataset 4
4 A SAS Macro Program to Perform Permutation Testing for Group*Time Interaction in an Unbalanced Repeated-Measures Analysis of Variance Mark S. Litaker,
Bernard Gutin
In a study to evaluate the effects of physical training on c8!diovascular risk factors, 79 obese 7-11 year old children were randomly assigned to participate in an exercise program during the first or second 4 months of the study period. Measurements were made at months O. 4, and 8 with the goal of identifying differences in patterns of changes in risk factor levels between the two groups across the study period. SAS PROe GLM was used to calculate analyses of variance (ANOV A) with SUBJECT as a random effect and GROUP and TIME as fixed effects. The statistical test which is of interest is the F test for GROUP*TIME interaction. Distributions of residuals for some variables indicated non-normality, often due to a few relatively large residuals. Permutation testing provides a method for evaluating the statistical significance of the observed F-tests, while avoiding problematic distributional assumptions response variable, sample, permutation test, anova, proc step, null hypothesis, macro variable, randomization, proc genmod 5
5 A Simple Framework for Sequentially Processing Hierarchical Data Sets for Large Surveys Richard L. Downs Jr.,
Pura A. Perez
data step, merge statement, proc sql, proc step, missing value 10
6 A Simplified Reporting Strategy: "Summary" Data Sets for Reporting on Data from Multiple Source Data Sets Steve Ross proc step, clinical trial, raw data, proc contents, proc univariate, sample, data step, where statement 6
7 ADJ/ANCED TUTORIALS Understanding Indexed Datasets and Using Direct Access Queries,
John Charles Gober
conditional do loop, cpu time 4
8 ADJiANCED TlITORIALS Hot-Deck Imputation: A Simple DATA Step Approach Lawrence W. Altmayer Hot-deck imputation is a means of imputing data, using the data from other observations in the sample at hand. This paper deals with a method of imputation we used for the Survey of Adults on Probation. In this method, we first attempt to impute race based on other variables in an observation. We impute the remaining missing race data, and age and gender, using the same variable in prior or latter observations in the data set. This method uses macro variables to subset the data into groups within which imputation is done. It also uses arrays to keep track of values to use for imputation imputation, macro variable, sample, proc step 6
9 Advanced Suspended Animation Program (ASAP) Using SAS v32.09 for SpaceOS v7.58932 Randy Finch Through temporal reversal techniques, we have obtained an excerpt from the Proceedings of SUGI 75 which will be held in New New-York, New York in April 2050. This excerpt discusses what will then be a revolutionary new suspended animation technique. SusAn Model 5000 Suspended Animation System (SAM 5000 SAS) SusAn Technologies has been involved in suspended animation technology development for the last 27.56 years. Recent advances in the SAS System software, especially for SpaceOS v7.58932, have allowed what we consider to be a major advance in suspended animation technology. The current state of this technology is quite primitive. For instance, suppose a person decides to travel to a star system 65 light years away at 90% of light speed in his UghtCruiser90 Deluxe, the Cadillac of personal starships. He must put himself into a suspended animation formbox, hopefully the SusAn Model 4000, and remain there until he is about 0.2 light-years from his destination proc freq, proc step 1
10 An Analysis of SAS Coding Techniques Carl R. Haske All SAS programmers develop a bag of tricks that they can draw from to solve complex programming problems. A good set of reusable programming tools will include useful utilities that can be applied repeatedly in virtually any application. In the SAS language, like any other language or development platfonn, there are usually several ways to code a solution to a particular problem. For example, a method to determine the existence of a data file can be designed a number of different ways including the use of PROC CONTENTS, PROC SOL with the DICTIONARY tables, or using SCL functions. Each method has its own advantages by measure of readability, maintainability, conciseness, and performance. This paper examines a number of different methods for a set of SAS utilities that are coded using an assortment of techniques. Finally, benchmark test results are compiled to compare the performance of the methods and the proc step, dictionary tables, macro function, macro variable 5
11 An Applicatio.n of Cluster Analysis in the Financial Services Industry Satrsh Nargundkar,
Strategic Decision
Analytical models are amcal in t1ie Financial Services Industry in every phase of the credit cycle - Mar!<eting, Acquisitions, Customer Management, eonections, and Recovery. While such models are now commonplace, the search for competitive advantage requires continuous improvement in the models. Customization of the models for each segment of the population is a crucial step towards achieving that end. Segments in the population may be defined judgmentally using one or two variables, but Cluster Analysis is an excellent statistical tool for multivariate segmentation. The clusters may be used to drive the model development process, to assign appropriate strategies, or both. This paper dIscusses the F ASTCLUS procedure as a tool for segmentation of a population. The first phase Involves preparing the data for clustering, which Includes handling missing values and outliers, standardizing, and reducing the number of variables using tools such as the FACTOR procedure cluster analysis, sample, factor analysis, missing value, standard deviation, outlier, sample size, proc step, data cleaning, feature selection, euclidean distance, likelihood function, proc fastclus 6
12 An Overview of Techniques to Introduce External Data Into the SAS System Andrew T. Kuligowski input statement, infile statement, character variable, filename statement, column input, list input, variable, excel, dataset, named input, sample, length statement, proc step 20
13 Applications Development Eric C. Brinsfield Most automated manufacturing processes use delicate instruments to monitor specific characteristics of raw materials or end products. The Information derived from these meters must be accurate in order to provide any benefit to quality and consistency. As a result, the instruments should be checked and calibrated regularly. Unfortunately, manual calibration can lead to significant downtime and therefore loss of productivity. To alleviate this dRemma, we developed a SAS/AF application that evaluates historical data and provides recommendations for software-based calibration of instruments. The client-server application reads sample data from Informix, performs analysis within SAS, and permits user·lnitiated update of calibration parameters in Informix. The system offers audited exclusion of outliers in the data as well as ad hoc historical analysis regression analysis, sample, outlier 4
14 Applying a Robust Generalized Axis-sealing Algorithm to the Use of SAS/GRAPW Dorothy E. Pugb. ClinTriais Generating high-quality plots quickly is an important task for the clinical trials programmer. Creating reasonable-looking axes for these plots presents a special challenge because of the mutually conflicting needs to I) make the number of tick marks moderate and consistent, 2) reduce the number of significant figures in the tick mark labels, and 3) minimize wasted space in the resulting plot. A solution is this simple axis-scaling algorithm. an enhancement to the default algorithm of SAS/GRAPH", achieves an optimal tradeoff among these criteria to produce a fairly consistent (4 to 8) number of evenly spaced tick marks with labels that are always integers multiplied by powers of five or ten clinical trial, predictor variable 2
15 APPUCATIONS DEVELOPMENT A Maintenance-Free Menu Driven Closure System Stephen M. Noga proc step, call symput 6
16 Are You Losing Records & Don't Know It? Textmerg: A SAS Macro That Handles Hidden Problems in Many-to-Many Merges Debra H. Weiner When merging data sets, one can lose records without knowing it. For example, to assign classification codes to text fields we merge a SAS data set containing a text field with a SAS data set containing classification codes for that field, merging on the text variable. We found that if (a) a single field had more than one code or (b) the same text existed in multiple records (e.g. the same health problem was reported more than once) the SAS System will not always retum the correct number of records. The SAS System notes repeats of BY value but this may not alert you to a potentially serious problem. This poster describes a macro that performs accurate merges on character BY variables. The macro can be easily modified to handle merges on numeric variables dataset, numeric variable 4
17 Arrays and Scoring Tests Involving Multidimensional Criteria Imelda C. Go In educational applications, a step that is sometimes required after scoring responses to a test is looking up values of other measures that correspond to a test score. For example, scale scores can correspond to raw test scores. Scale scores can also depend on the test form that was used. There might even be the need to obtain several types of scale scores based on test sections. Unless you know how these scale scores are obtained computationally, these situations conjure images of multi dimensional lookup tables. In either one-dimensional or multi-dimensional settings, temporary SASarrays provide an elegantly simple and efficient means for storing test answer keys and large lookup tables required for such scoring processes. Using SAS arrays has definite advantages over using other SAS statements (e.g., SET, RETAIN, IF-THENIELSE, SELECT, etc.) to accomplish the same task lookup, array, temporary array 2
18 Automatic Creating SAS@MacrostoManage Unknown Values in YearlMonth Variables for Year 2000 Issue Jianmin Li This paper illustrates how one can use PUT statement, IF-THEN statement, and CALL SY1vlPUT routine to automatically create SAS Macro variables and Macro statements, and then use ARRA Y processing and DO loops to summarize and convert unknown values in year/month variables to prepare for Year 2000 issue. In the National HIV/AIDS Surveillance database at Centers for Diseases Control and Prevention (CDC), "99" is used to code unknown value for year/month variable. To prepare for year 1999, character "99"s for unknown years are needed to be converted to character" .. " . By using the technique described herein, one can use CONTENTS procedure to output month/year variable names to a SAS data set, use PUT statements to automatically create macro variables, and use FILE and %INCLUDE statements to place and locate files with list of macro variables and macro statements macro variable, put statement, call symput, do loop, macro definition, proc contents 5
19 Automatic Referencing SAS Macro Variables Using Array Processing, CALL SYMPUT Routine and DO Loops Pei-Chun T. Wan This paper illustrates how one can use the combination of array processing, SAS~ macro facility, CALL SYMPUT routine, and iterative DO loops to automatically assign titles and labels to address corresponding variables in the frequency tables. In the Adult! Adolescent Spectrum of Diseases (ASD) project at Centers for Diseases Control and Prevention(CDC), there is a need to produce frequency tables for each of the 23 1987-definition AIDS Opportunistic illnesses (01). By using the technique described herein, one can set up an array with all 23 AIDS OI names, use SAS macro to set up macro variable for future reference, use CALL SYMPUT routine to assign value to macro variable which can be used later in the title statement and label statement for each AIDS 01 name in the frequency table, and use DO Loops to perform this task repetitively for each . of the 23 AIDS OI names proc freq, macro variable, call symput, do loop, label statement, proc tabulate, array, macro definition 5
20 BEfilNNlNfi TUTORIALS - The Building Blocks of PI PROC TABULATE PARTNER'" Ronald Coleman proc tabulate, proc step, class variable 7
21 Beginning Macros Destiny Corporation (a company) macro variable, macro facility, proc step, &variable, macro call, macro definition, macro put, symbol table, automatic macro variable, proc print, keyword parameter, macro parameter, %macro parameters, macro quoting function 6
22 Beyond Factor Analysis: Can the Results Be Validated? Rachel J. Goldberg This presentation explores using different techniques to validate an initial set of factor analysis results. All of the factor analyses discussed are produced using the SAS System's PROC FACTOR procedure. An understanding of how to use the SAS System to run a basic factor analysis is needed, since this presentation will focus on how to interpret and compare PROC FACTOR results. First, the output from the original factor analysis solution is presented; this solution uses Principal Factor Analysis as the Initial extraction method with a VARIMAX rotation. In an attempt to validate these original findings, they are compared to four different factor solutions obtained by: 1) changing the initial factor extraction method, 2) changing the rotation method, 3) changing the number ot factors analyzed, and 4) splitting the data set in half and running the same initial factor extraction method and rotation on both halves factor analysis, data cleaning, proc factor, proc step, scree plot, varimax rotation, sample, correlation, likelihood function 6
23 Building Bridges Between Oracle and SAS Bill Calvert In the context of a data-rich client-server environment, techniques are presented showing how to use SAS with Sal and OOBC to connect to Oracle Databases, develop views, and extract working SAS data sets. In addition, ways to survey data tables, prepare output and format fields are shown. Emphasis is placed on automated approaches (using SASIMACRO for example) to minimize otherwise laborious and time consuming tasks proc step, proc print, oracle, proc format, proc contents, macro variable, create view, lookup, dataset, proc sql, format statement, numeric variable, proc freq, macro definition 6
24 Building Clinical Information Spaces on the World Wide Web Paul C. Wehr In clinical research, a clinical investigation is made up of a research protocol, data, analyses, and a research report. Each component depends on, or refers to, information CQntained in the other sections, and within itself. The goal of Clinical Research-to demonstrate that a drug or medical device merits approval--is really nothing more than an information space. This paper will show that using SAS Software, and the capabilities of the Web, one can create a convenient s~m for navigating this space, and even lay the foundation for a fast, inexpensive, and effective computer-assisted new drug application (CANDA) clinical research, crf, proc step 4
25 Building Macro-based Data Step Functions Using Random Macro Aliases to Simulate Local Scope of Internal Function Variables Paul M. Dorfman In lieu of user-defined SAS DATA STEP functions, SAS Macro language is a powerful means of developing functions and language statements to be used in the DATA STEP. However, care should be taken to properly localize variables used inside such constructs, so they would not interfere with other variables used in the DATA STEP where they may be invoked. In this paper, issues related to developing macro-based DATA STEP functions are discussed, and a technique of creating random macro aliases that practically eliminates interference between the variables is presented. The method is illustrated by a real-world example of building macro based DATA STEP function where local scope of intemal variables is randomly simulated by a stand-alone macro macro variable, drop statement, pdv, macro loop, macro function, sas function, macro facility, macro definition 4
26 CATALOGER: An Application Development Tool to Search, Compare, and Document SAS Catalogs and Data Files Christopher A. Roper,
Michael Gilman
This paper will present an application written entirely in SAS that greatly enhances the developer's ability to develop, compare, and manage SAS catalog entries and datasets. This application has point and click capabilities for printing catalog entries, including images of frame entries and complete descriptions of associated widgets directly into Microsoft Word documents, creating publication quality documentation at the push of a button. The batch printing facility allows for printing of all catalog entries of virtually any type, including Program, Source, SCL, and Slist (including expanded sublists) entries. The text searching facility will search through all text based entries for character strings and allow point and click access to the locations in any catalog entry containing the text string catalog entry, catalog, dataset 6
27 Changing the Shape of Your Data: PROC TRANSPOSE vs. Arrays Bob Virgile proc transpose, proc step, do loop, missing value, date variable 6
28 Coders Corner Yet Another,
Dorothy E. Pugh,
CIiDTriaIs Researcll
In the clinical trials field. which often involves reporting comment fields in the form of large text fields, it is important to have a text-wrapping algorithm which requires 1) simple input., 2) minimal pre- and post-processing on the part of the programmer, and 3) can handle an observation with multiple large text fields. This algorithm requires three input parameters, no pre-processing, and its output is a SAS· data set containing the wrapped text and two new variables indicating 1) which lines were added to the data set as a result of the text-wrapping, and 2) which new observations were generated from the same old observation. The only post processing the user needs to do is to make output of each variable conditional on the value of these new variables %if-%then-%else, clinical trial 4
29 Computing a Test Statistic for Scale Parameters Based on a Jackknife Procedure Jean G. Orelien It is well known that the F test for equality of variance is not robust when the assumption of normality does not hold. When normality of the underlying distributions cannot be assumed, one can test for scale parameters using nonparametric methods. However, nonparametric tests for scale parameters have some disadvantages. First, the computations can be laborious; second, there is low efficiency compared to the F test when the distributions are normal. In this paper, using the IML module in the SAS System, we implement a test for scale parameters for two independent samples based on a Jackknife procedure proposed by R. G. Miller in 1968. The advantage of this test based on the Jackknife is that it does not require any assumptions for the location parameters. When the distributions are normal, this test has an asymptotic relative efficiency equal to I with respect to the F test sample, f-test, sample size, confidence interval, nonparametric test, normal distribution, macro variable 6
30 Creating an ADP Center of Excellence: A Miltonian Approach of Looking Through Two Decades of "Visible Darkness" Peter Parker After almost two decades of working with large and then small computers, primarily with SAS software, I step back from my monitor and ponder-what makes my ADP shop a Center for Excellence. In this paper, I'll inquire on what most becomes a computer guru, an unusual type of professional. As well, I offer my truths on how to handle users, management, and the constantly reinvented technology. I will use notes that I have amassed throughout my career, now at its midpoint. Rather than taking a dry totally technical approach, I prefer a more literary stylistic one, drawing on John Milton's Paradise Lost and other classic literature as descriptive aids to my arguments. My observations may help you keep users satisfied, and mostly plan a prosperous career in infonnation processing and office automation. I have been programming since 1979, mostly in SAS software. I'm proficient in most hardware and software. I run an ADP shop in the U.S. Department of Commerce create table, sas programmer 6
31 Creating Numeric Formats Based on Precision, Not Magnitude John R. Gerlach Suppose you need to know the natural format, indicating full precision,of one or more continuous numeric variables. Perhaps you need to produce a codebook that indicates length and format, not like those attributes found in the CONTENTS procedure. Or, perhaps, you need to write a raw data file having a record layout that requires optimal precision. This paper discusses numeric data in SAS and explains a robust tool that creates a picture format for each numeric variable in a SAS data set. Numeric Data The SAS System stores all numeric values using floating-point (real binary) representation, which allows for numbers of very large magnitude and high precision, that is, the digits to the right of the decimal place. Although this representation provides sufficient means for numeric computation, the user should always consider issues and anamolies, such as storage length and comparison of numeric values numeric variable, dataset, do loop, if-then-else, put statement 3
32 Data Dictionary Approaches to Edit and Validate Survey Data Naoko S. Steams The process of validating and editing survey data becomes crucial to an organization's reputation when the intended user is the general public. Also, these tasks require substantial resources, including experienced programmers and data analysts. Fortunately, using a data dictionary can facilitate that effort in two ways: by producing documentation about the data and by generating SAS code that precisely represents the data. The implementation of a data dictionary and the associated code generators automates many of the mundane and error-prone data cleaning tasks, such as, assigning special miSsing codes and producing deliverable ASCII files. This paper discusses a method of using a Microsoft excelS data dictionary that is dynamically accessed via Dynamic Data Exchange (DOE) for the purpose of efficiently editing and validating survey data excel, data dictionary, missing value, numeric variable, %if-%then-%else, data cleaning, macro definition 4
33 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 pattems, which will predict future outcomes or define measurable relationships. Statistical and machine leaming 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, missing value, regression analysis, univariate analysis, data cleaning, predictor variable, interval variable, response variable, product profitability, proc step, gain chart, proc logistic 7
34 DATA Step in Version 7: What's New? William F. Heffner file statement, set statement, character variable, input statement, put statement, dataset, rename statement, pdv, sas output, variable list, infile statement, pointer control 8
35 Data Validation Using a SAS Format John R. Gerlach Proper data analysis requires well·defined data that have been validated. Typically, the transition from raw data to a viable SAS data set requires more effort than just writing an INPUT statement. In fact, the quest for validated data often becomes a project in itself consuming tremendous resources. Considering that many validation checks can be written as Boolean expressions, it's possible that the checks can be stored in a user-c:lefined format. The SAS solution described here involves a macro and a user-defined format that performs validation checks on a data set, then produces a report. Consequently, the validation checks are maintained by simply modifying the format and the validation process is performed, as needed, by invoking the macro. This paper explains an easy and self-documenting approach to the validation process. The Real World The real-world of data analysis tends to be rampant with convoluted specifications and unclean data data cleaning, proc format, data science, dataset, clinical trial, macro variable, proc step, proc freq, macro definition 3
36 Data Warehouse Efficiency Techniques with the SAS System Tony Brown The successful implementation of a data ware house relies on several key factors, including the ability to deliver clean, consolidated, and accurate information in the most timely and efficient means possible. Previous sum data warehouse papers have discussed the data and construction implementation aspects of data warehousing. This paper intends to address techniques for making the performance of the data warehouse as efficient as possible. Most of the concepts presented are not new, but consolidated from several areas as they apply to data warehousing. This paper is intended for a mid-range to advanced audience, and assumes familiarity with general data warehousing principles, and an advanced level of SAS programming knowledge by the reader. Topics ~over~d will include subject-based modeling, mdexmg techniques for tables, techniques to prevent table joins, efficient query retrieval techniques, table load strategies, and data summarization considerations proc sql, fact table, dimension table, data merging, star schema, data warehouse, index, data step, proc step, snowflake schema 10
37 Data Warehouse: How to Use SAS from Beginning to Almost Ending for Your Warehouse Akbar Golmirzaie The University of Arkansas at Fayetteville first began exploring the development and implementation of data warehousing in November, 1995. In under two years, the Computing SeIVices Department has moved from conceptual modeling, through prototyping, to a working, evolving production system for data storage and retrieval - all at a substantial savings in time, money and resources. Paramount in this endeavor has been the use of SASiIP software. From the system administration tools to those maintaining the secure server, the University of Arkansas development team found in a single software suite what previously had only been available as separate. much more expensive packages. In addition, the new SASiIP ODBC drivers insure that end-users can directly retrieve, massage and report from the now centralized data with any ODBC-compliant software package, including of course, SAS itself data warehouse, ledger, raw data, dataset 7
38 Designing Accessible Help Systems Cathy L. Brinsfield SAS GUI applications can benefit greatly from weI!-designed, integrated help systems. This poster uses WrnHeIp to show you how to design your help system using granular information and progressive disclosure. How many times have you opened the help for an application only to be overwhelmed by the amount 01 information you must sift through to get to the piece you need? Or you have spent so much time clicking on links that you are off somewhere in cyberspace? This approach separates task information for a window from the overview infonnation a user may need to understand the tasks. The help for each window presents the user with a selectable list m tasks and assistance with any navigational tools. The user can link to help for the task, or access overview information that provides a broader perspective on how the task in the window fits into the overall purpose 01 the application regression analysis, quality control 5
39 Developing a Parameter Evaluation Methodology Using SAS Richard W. Graham In another paper I am presenting here at the conference, Developing Ratio Edit Parameters with SAS for the Economic Census, I detail a sophisticated methodology for developing ratio edit parameters. As presented in that paper, developing parameters for the Economic Census is an arduous computer and labor intensive effort. Many months are devoted to developing and reviewing the edit parameters for nearly 2,900 industry classifications. Even with a full complement of 30 subject-matter survey statisticians to review the parameters, it would be impossible to review.the all of the parameters generated by the resistant fences methodology in a timely manner. This paper describes both an interactive and batch-oriented graphical evaluation procedure for evaluating all of the industry and ratio combination parameters. Both of these applications were developed in an effort to significantly reduce the time to review the edit boundaries and the imputation factors imputation, regression analysis, proc step, proc gplot 5
40 Developing an Hourly Profile for a Monthly Forecast Hourly Profile,
Thomas A. Fuchs
standard deviation, calendar year 5
41 Developing Ratio Edit Parameters with SAS for the Economic Census Richard W. Graham Developing ratio edit parameters for the editing of census data has always been an arduous task at the Census Bureau. Prior to each quinquennial census undertaking, subject-matter specialists and programming staffs worked countless hours developing specifications, computer programs and generating and reviewing edit parameter output. For the 1997 Economic Census a team of specialists endeavored to throw out the old technology of developing edit parameters and developed a SAS/AF, SAS Screen Control Language . (SCL), and SASlMacro program for the creation of ratio edit parameters imputation, outlier 10
42 Dynamic Web Pages - Integrating JavaScript into a SAS Web Application Caroline C. Bahlerc The use of dynamic web pages in either Internet or Intranet applications is rapidly becoming the hottest SAS application development topic. One component of a dynamic web page is the use of the JavaScript language. JavaScript is a language that has tremendous potential for enhancing web applications, espeCially client-side data validation. The objective of this paper is to introduce the JavaScript language, illustrate how web page developers are using it, and discuss how the JavaScript language could be incorporated into a web application powered by data cleaning, if-then-else 9
43 Effective Poster Presentations for SAS User Group Conferences: Recommendations and Techniques Helen-Jean Talbott Poster sessions at SAS User Group Conferences provide an excellent opportunity to present information such as detailed code and output in a display format, yet they can challenge those who may be uncertain about poster preparation. The ascii, txt 9
44 Formats as a Programming Tool John R. Gerlach The FORMAT procedure in SAS provides the means to create user-defined informats and formats for character and numeric data that faciliate reading and writing data, respectively. Besides its typical use, however, this procedure offers much as a programming tool. For example, the FORMAT procedure can be used for doing table look-ups, performing data validation, and subsetting a data set. Also, this procedure has the capability of creating formats, even dynamic formats, directfy from SAS data sets. This paper gives a brief proc format, proc step, numeric variable, user-defined format, dataset, data cleaning, verbatim term, proc freq, missing value 7
45 Forms and More: Getting What You Want from Your Printer Frank L. Roediger The biggest holdup to producing a final repat is sometimes the printing d it: all your number-enmching code works fine but you cannot get the printer to produce a hardcopy that matches the detailed report specs that a finicky user has giwn you. When this happens, Release 6.12 r:J SASfor PC platforms ike Windows NT gives you a great deal r:J control in customizing how a document gets printed. However, if you are working on a UNIX system, many r:J the PC-based printer control features are not available to you. There, you need to rely on the FORMS subsystem to control printer settings. Regardless r:J which platform you use, there are also situations such as recDWIf'ing from printer jams and printing special characters (such as plus aver-minus (i) that require special attention. This paper will walk you through these and other printing challenges and present solutions that can work for both UNIX and Windows NT platforms catalog entry, macro variable, proc step 6
46 Fundamentals of FRAME: A Tutorial for Building Applications Gregory S. Barnes Nelson SASI AFI FRAME technology allows us to develop user interfaces that are friendly to use. They are the basis for many SAS applications in which end-users detennine what happens with the click-of-a-butlon. This paper presents a framework for building intuitive user-based applications. Here we will develop a simple application, which builds on itself iteratively. By exploring some of the most common FRAME objects and undersranding how events are handled in SASI AF, we will build a simple interface for an applications. Through this step-by-step process, we will show you how to build an interface that collects user input, which can be used to front-end traditional SAS macros. Despite it's Simplicity, this paper should give the reader a methodology for developing user based applications that can serve to front-end most run-time, interactive macros. This paper is intended for both new users of SAS Software as well as experienced SAS programmers with little or no experience in SASI AF dataset, sas programmer 10
47 Generating Item Responses Based on Multidimensional Item Respose Theory Jeffrey D. Kromrey,
Cynthia G. Parshall,
Walter M. Chason,
Qing Yi
The purpose of this paper is to demonstrate code written in SASIIML software that generates examinees' test responses (Oils) based on a multidimensional item response theory (MIRT) model. This program reads in a file of calibrated item parameters from the NOHARM computer program (Fraser & McDonald, 1986) and generates normally distributed random variables to represent examinees' ability levels on each dimension. The SASIIML program calculates the probability of an examinee obtaining a correct response based on the MIRT model, then compares this probability with a uniform random number to decide the examinee's item response. If the probability is larger than the random number, the examinee is credited a correct response (i.e., an item score of 1), otherwise, a zero. The program allows control of the number of samples, the number of examinees, and the number of items for which item responses are generated sample, logistic distribution 6
48 Getting Started with Dynamic Data Exchange Howard L. Schreier There are numerous ways to move information between SAge and third-party applications, such as spreadsheets and data base packages, especially in the Microsoft Windows environment. DynamiC Data Exchange (DOE) is a versatile approach, because it provides a DATA STEP interface rather than data set conversion. This presentation will explain the basic techniques. of using DOE to move data to and from excel, put statement, dataset, filename statement, input statement, sas log, do loop, infile statement, macro facility 10
49 Getting Started With the SAS/MDDB Ben Cochran With Release 6.12, the SAS System contained a new feature which is an extension of its data warehousing strategy, the SAS multidimensional database (MDDB). This paper describes an :MODB, tells why you would want to use one, and shows how to build one. Finally this paper will illustrate the use of an :MODB through the SASIEIS Multidimensional Report Object proc step, variable list 3
50 GUI KISSes: Tips and Strategies for Interface Design John A. Quarantillo This paper discusses Graphical User Interface (GUI) deSign. It is tempting for developers to build an interface using too many 'bells and whistles'. Such an interface, although technically appealing and challenging, can be difficult to develop and maintain, but most important, difficult to use. The acronym KISS (Keep It Simple, Stupid) applies well to interface design. A simple, effective interface should be designed with the users' needs taking first priority. Specific topics addressed include: which types of screen controls to use and when, keyboard and mouse support, designing with portability in mind, and testing. The audience level is beginner, and will focus more on the strategies used than the actual code to implement such interfaces 3
51 Harnessing the Power of SCL Lists Lisa Ann Horwitz SCL lists are ordered collections of data stored in memory, and are a powerful tool for applications developers. The sources of this data can include hard coded values, SAS@ data sets, information retrieved from interaction with the application user or the current SAS session, or the FRAME entry's objects themselves. This paper explores how to create and populate SCL lists, how to retrieve and utilize information from lists, how to manipulate lists, and how to access some of the lists associated with FRAME entry objects. An assortment of ideas for using SCL lists will be suggested, as well dataset, catalog entry, sample 9
52 HOST SYSTEMS Application Development for the New Host on the Block Java Virtual Machine SAS Institute is quickly moving forward on tools for SAS application development in the Java environment. What are these tools? How are they used? This paper will discuss what is involved to build a SAS application with a Java user interface. An example application is presented to demonstrate a typical application developm;::nt project. Design choices are discussed, as well as implementation details. Java application interface Some of the tools discussed are the SAS/CONNEC~ driver for Java, the SAS/SHARE driver for JOBC, and the 'Jazz IDE' development environment now available from SAS Institute. This paper will also discuss the advantages and limitations of using a Java front end to SAS applications. Jazz IDE development environment 1
53 How To Convert A SAS Data Set Into A Quicken QIF Format File Helen-Jean Talbott Registration activities for the NorthEast SAS Users Group (NESUG) annual conference make use of Quicken and SAS software on personal computers. Quicken software is very useful for managing financial data for home and small business applications. SAS/FSP and Base SAS software are very effective for validated data entry, data management, and report production. The difficulty lies in transferring data from SAS data sets to Quicken files. In order to import transaction data from software other than Quicken, the data must be available as an ASCII file in Quicken Interchange Format (QIF). The QIF file format is not one of the standard data conversion formats for SAS software at this time. This paper demonstrates how to write SAS program code to create an ASCII file in QIF file format from a SAS data set dataset, sas base 3
54 How to Sort Production Reports Prior to Printing Helen-Jean Talbott Each month the Credtt Policy Department of Commercial Credit produces about 25 c:flfferent reports to send to the 202 district, 48 region, and 8 division managers. These reports are produced using base SAS software in programs run in a production environment under MVS. Each district manager receives portions of the reports specific for that district. Similarly, region and division managers receive portions specific for the districts within regions and for regions within division. Due to the size of these reports and number of recipients, ~ would take two days for a person to sort and label them for distribution. There was a need for an automatic method to print reports In order by district so that they would not have to be sorted manually. The purpose of this pester is to show how to create SAS data sets and report modules and to use them in conjunction wtth the SAS macro language to produce reports sorted in district order prior to printing proc print, proc step, macro facility 5
55 I-NET SOLUTIONS Web-Enabling SAS Applications Bradley W. Klenz 8
56 IN & OUT of CNTL with PROC FORMAT Nancy K. Patton,
ASG. Ine
(CNTLIN=) If you are given account numbers in a data set and you are asked to identify all these accounts in munerous flat files, how might you approach this? Using the SAS system and the CNTLlN= option in PROC FORMAT, a format can be defined where all the account numbers you want identified are set to a value of 'KEEP". By using the PUr function to apply that fotmat to the account numbers as you read the flat files, you could identify the records with the accounts you are looking for and control their destiny!. This example will make the look-up process simple to understand and easy to bring back to work! proc format, proc step, proc means, class variable 2
57 INF()RMA TION 1II.sUALlZATION Achieving Graphical Excellence This paper will integrate Tufte's (1983) principles of graphical excellence with the use of SAS/GRAPH to produce plots and bar charts. The. application of these principles will enable users to create presentations that communicate complex ideas with clarity, precision, and efficiency while avoiding the pitfalls of "chart junk" , graphical decoration, unintentional "optical art", and other forms of bad graphical design. Guidelines for choosing among tables, graphs, and text as presentation devices are also discussed. Graphical excellence with SAS/GRAPH requires the use of customization features such as NOTE and AXIS statements. Examples of customized plots and bar charts that illustrate the principles of graphical excellence are provided. This paper is based on the bookYour Guide to Survey Research Using the SAS System published by SAS Institute in 1998 bar chart, proc step, horizontal bar chart, scatter plot, histogram, proc freq, line chart, proc gchart, proc gplot, proc format, vertical bar chart, proc means 10
58 INFOIlMA TION J!JsUALLZA TION Using.JMF' for Design of Experiments and Variability Analysis for Semiconductors William R. Gjertsen lMP" is an interactive statistical analysis program that promotes the visualization and discovery of important patterns and outliers in your data. It accomplishes this through unique graphics and the dynamic linking of points. This paper will address two aspects of a quality certification process namely an initial variability analysis of the measurement tool and a final response surface analysis for simultaneous optimization of multiple responses standard deviation, contour plot 7
59 INFORMA TION Y/sUALIZATION Darren Stewart,
Eric C. Brinsfield
Traditional control charting techniques, such as Shewhat c:har1s, are used to track changes in one variable aver time. When monitoring a manufacturing process, often more than one variable repRIHIlIS the state cI a process lit any gillen point in time. To monitor unifonnity, a separate measurement cI thickness at various locations across a manufactured unit, fa- example, is taken at each location. Traditional c:harting methods call fa- a separate chart fa" each location. "Group charts; howewr, are used for plotting multiple characteristics - such as different measurement Iocalions on each unit - on the same chart. Group charts make canparisons amongst the multiple characteristics much easier, while reducing the number a1 charts needed to monitor a particular process. Group charts can be used as exploratory tools or as formal control charts with statistical control limits. We will demonstrate hew SAS can be used to create these innovative charts standard deviation, proc step 3
60 Information Visualization Donald T. Gantz,
Yan Yuan
Analyzing and reporting survey data typically requires you to generate many graphical presentations where each graphic reveal.s relationships between several variables. After you associate a good graphic vehicle with types of variables, you settle down to producing many individual graphs with each baSed on a subset of the variables. By cleve~y designing the production process with flexible coding, you can create an efficient path'from raw data to analysis and presentation graphics. Writing reusable modules of code and utilizing SAS macro language are a means to that end. Tlis paper illustrates a particular application we have designed and implemented in our work supporting research on the database from a National Survey of Registered Nurses'. The application is rooted in a very versatile core of graphics code that is easily modified to produce a varied menu of graphic structures via a front end program feeding it values for macro variables proc freq, macro facility, macro variable, proc step, %if-%then-%else, macro definition 9
61 It's Almost the Year 2000 - Should I Panic? Mike Kalt This paper addresses the most frequently asked questions about Yaar 2000 compliance for the SAS· System. Topics include: Is the SAS System Year 2000 compliant? What should I look for when testing my BAS applications for Year 2000 compliance? What resouroes are avaUable to test my SAS applications for compliance? Do I need special licensing in order to do Year 2000 testing? * How do I correct problems in my data and SAS applications? We assume that you have a basic knowledge of the SAS system, and are familiar With general aspecta of the "Year 2000 problem" date variable, sysdate9, proc step, dataset, raw data, sas log, excel, data cleaning, proc sql 8
62 Long verses Wide - A Different Way of Looking at SAS Coding Richard Goldsmith SAS data sets tend to be created wide, i.e. a single observation has many variables. This intuitive approach makes the most effective use of data storage space and allows the simplest approach to writing SAS code. However, what will happen if a long data set is used instead of a wide data set? Long data sets can increase the flexibility of the under1ying data structure and can aid in the construction of reusable code when used with the SAS macro facility. A simple example showing how a long data set and the SAS macro facility can be used to construct a generalized SAS program with PROC GLM will be presented. This approach demonstrates the use of the SAS macro indirect referencing facility and shows how indirect referencing can be used to write reusable code macro variable, numeric variable, macro definition, proc genmod, proc step, character variable, macro facility, proc glm 6
63 Mass Producing Web Pages With SAS Software Keith J. Brown With the wide variety of products a.vailable today, producing a web page hterally has become child's play. Converting a report of several hundred pages into an equivalent number of web pages, however, is still a herculean task. By using features of the SAS System" this process can be automated, as well as the job of building an index web page to guide the user to the appropriate report. In addition, the same program can still produce hard copy output when needed proc step, call symput, proc tabulate, macro variable, macro definition 10
64 MATCH-MERGING: 27 Plus Traps and How to Avoid Them Malachy J. Foley Match-merging is a common form of combining files. Yet, it has its pitfalls. This tutorial reviews more than 27 traps that can snarl even a seasoned programmer. It gives examples of many of these traps, and provides a comprehensive defensive strategy for avoiding most of them merge statement, by group processing, sas log, macro variable, missing value, proc contents, if-then-else, proc step, run, retain, %if-%then-%else, macro definition, sas programmer, macro put 10
65 Modern Psychometric Theory: Using SAS to Calculate IRT Ability Estimates Jeffrey D. Kromrey,
Cynthia G. Parshall,
Walter M. Chason,
Qing Yi
This paper provides a demonstration of code written in SASIIML II!> that provides maximum likelihood estimates of examinee ability under the I, 2, or 3 parameter logistic models used in modern psychometric theory. The program reads a tile of examinee scored responses (1/0s) to a set of test items and a file of item parameter. The program implements the Newton-Raphson algorithm to obtain maximum likelihood estimates of examinee ability, then outputs a tile of ability estimates and waming flags for examinees with response patterns that did not provide convergence of the algorithm. The program is written so that the convergence criterion and the maximum number of iterations for the estimation may be easily modified. Modern psychometric theory evaluates examinee responses to test items as probabilistic models based on logistic functions of item parameters (difficulty, discrimination, and guessing) and examinee parameters (abilities) likelihood function, dataset, maximum likelihood estimation, logistic distribution, logistic regression, data step 5
66 Moving SAS Information to Microsoft Word/Excel Using DDE Dana Rafiee excel, data step, dataset, filename statement, macro variable 15
67 Multiple Comparison Procedures with SAS Chung-Kuei Chang This paper discusses some commonly used multiple comparison procedures available in SAS. We focus on the following methods: modified Bonferroni Procedures, Dunnett's procedure for comparisons with a control treatment, with and without a covariate adjustment, step down and closed testing procedures, adjusted p-values using Monte Carlo simulation, and calculation of exact adjusted p-values for discrete data. We will cover PROBMC, PROC GLM, PROC MULTI'EST, and some macros for various methods. Various settings will be used to demonstrate the procedures, including multiple treatment comparisons, pairwise comparisons, dose response, and multiple endpoints in clinical trials. Keywords: Multiple Comparisons, Multiplicity AdjuSlment, Closed Testing null hypothesis, proc step, type i error, multiplicity, probmc, significance level, proc glm, proc genmod, degrees of freedom, false discovery rate, alternative hypothesis, proc reg, one-way anova, macro definition, monte carlo, anova, bootstrap, treatment effect 9
68 New Data Step Functions in SAS 6.12 - Data Set and Variable Functions Caroline C. Bahler The DATA STEP in SAS 6.12 is the recipient of 50+ new functions. These new functions are broken into the following groupings data set functions, external file functions, library and catalog functions, special functions, variable functions, and statistical functions. The objective of this paper is to discuss the data set and their related variable functions and to illustrate potential uses of the data set functions sas base, data step, macro loop, macro variable, macro definition, %if-%then-%else 5
69 New Directions in Documentation, Help, and Computer-Based Training Brenda Kalt,
Gary Meek
With Version 7, the complete library of SAS reference documentation will be delivered online in HTML In addition, the SAS help system and computer-based training will migrate to HTML as well. This paper accompanies a demonstration of SAS OnlineDocTM for Version 7. Examples from SAS OnlineTutorfor Version 7 and the SAS help system in HTML will also be shown. The demonstration will highlight new features of the interface for these products and give tips for getting the most out of them at your site. Solutions@Work"', a continuing series of CD-ROMs that focus on task-oriented usage information with downloadable examples, will be discussed briefly format statement, catalog entry 4
70 PC Hands-On Workshops Destiny Corporation (a company) This tutorial is designed to show you several techniques available for pulling together multiple sets of data for the purpose of combining or comparing their values macro variable, by group processing, data step, proc step, array, lookup, proc sql, merge statement, format statement 7
71 PC Hands-On Workshops Destiny Corporation (a company) proc tabulate, proc step, label statement 20
72 Power Techniques for Processing Large Tape Data Sets Using the SAS System in the MVS Environment Michael A. Raithel Tape is one of the oldest and most dependable mediums for storing data sets in the MVS environment. SAS data libraries. OS data sets. and data base backup files are a few of the many types of data sets commonly stored on tape. Because tape is a reJatively inexpensive media" it is particuJarly well suited for storing large data sets. But. the subsequent processing of large data sets stored on tape can be costly in t~ of computer resources and elapsed time. If you work in an organization that runs MVS, it is veIy likely that you will have to process large tape data sets sooner or later. PerlJaps you already do. This paper focuses on strategies for optimizing your processing of large tape data sets using the SAS System. It provides techniques that you can use to reduce computer overhead and elapsed time. Optimum methods for processing large SAS data hbraries as well as OS data sets are covered in this paper libname statement, proc contents, dataset, proc copy, cpu time, batch job, proc step, options statement 7
73 PROC DATACHK Revisited: The DATACHK Macro Jeffrey M. Abolafia,
Carry W. Croghan
numeric variable, proc step, macro variable, temporary array, dataset, label statement, if-then-else, by group processing, dictionary tables, time., proc sql 6
74 PROC SQL - What Does It Offer Traditional SAS Programming? H. Ian Whitlock PROC SQL plays two important roles in SAS: 1. To connect SAS with other data base systems 2. To help the typical SAS data processing programmer This paper looks at the second role. SAS program ming problems are presented, where PROC SQL has a distinct advantage over SAS programs that do not use this procedure. By focusing on such problems with coded solutions I hope to answer the question, "When is it most appropriate to consider using PROC SQL in a SAS program?" proc sql, proc step, group by, create table, order by, sas programmer, macro loop, macro variable, macro definition, proc freq 6
75 PROC UPLOAD and DOWNWAD: An Easy Way to Export SAS Processing Martin O'Connell File transfer using PROC UPLOAD and DOWNLOAD (available through the use of SASICONNECT") represents a convenient way of transferring SASe data and program libraries from platform to plalform. By doing this, subsequent development can be transferred from restrictive environments to more user-friendly ones, such as the Windows PC. In addition, utility work such as job processing can be performed from a local SAS session using CONNECT. The use of SASlAF'" to automate tbese processes can provide a transparent way of developing on a client PC. while processing on a more powerful remote server. This paper should be particularly useful to anyone using a high-end PC as a terminal for IBM" mainframe SAS program development. It discusses SASICONNECT in general, and gives specific details on transfers of SAS data and code libraries between mainframe and PC hosts. It also discusses the use of SAS! AF to automate processes when transfers are done routinely proc step, proc upload, proc sql, dataset 3
76 Programmatic Generation of Table Specifications Using the SAS Macro Facility Weimin "WilHam" Sun,
Caroline Stewart
When preparing a data analysis plan for a clinical trial, we often need to create table specifications prior to the availability of database. Many times, these table specifications are produced using word processing software, which may not be efficient. To increase efficiency, the following two steps have been defined as part of a systematic process to programmatically produce table specifications: Generate dummy SAS'" data sets based upon the efficacy and safety variables defmed in a protocol; Use a generic SAS macro and the REPORT procedure to produce desired tables based upon the dummy data sets created. By the end of this process, not only are the desired table specifications produced, but also the table-production programs and a format library (which contains titles, footnotes, and variable formats) as side products nominal variable, adverse events, proc report, interval variable, vital signs, concomitant medications, macro call, out=, disposition table, data step, macro definition, binary variable, macro variable 10
77 QUIZZER: A Fun, Fast Paced Game Christopher A. Roper Quizzer is a fun, fast paced game in the fonnat of the popular TV game show Jeopardy!. Written entirely using SAS/AF with Frames and SCL, this application offers the opportunity to have a little fun while demonstrating the range of capabilities in the SAS system. The questions and answers are all related to the SAS system and are geared to be challenging enough for even the most experienced SAS expert, and yet simple enough for novice SAS users to be able to participate. There are two rounds of twenty-five questions, and a fmal quizzer round of one question where a team can bet it all. Contestants test their knowledge of SAS in a competitive, yet friendly environment of fair play, and unwittingly may learn a little more about the SAS system in the process. Why A Game? Quizzer was developed to help organizers of SAS related events in generating interest for the event. An event might be a local users group meeting, a training session, or any place SAS professionals might gather 2
78 Reading and Joining Key-Sequenced VSAM Data in the MVS Environment Tina Tilman The sequence of data in a Key-sequenced VSAM dataseI(KSOS) is detennined by a unique value, the KEY. The pr/maty'f£'! can be one or more fields within the file (usually the first field (5) in the file). . It identifies the recold, and establishes the older of the records within the file. This paper addresses reading data from a KSDS, based on the primary key, and then joining those recolds III other KSDS files where there are one-to-one and one-Ill many matches on the 'f£'! field or fields sysrc, automatic variable 2
79 Recent Enhancements and New Directions in SAS/ST AT Software, Part II. Nonparametric Modeling Procedures Robert N. Rodriguez,
Maura E. Stokes
9
80 Recent Enhancements and New Directions in SAS/STAT Software, Part I: Updates Maura E. Stokes,
Robert N. Rodriguez
Version 7 of the SASo!> System brings major enhancements to the statistical software. All output is now handled by the Output Delivery System, which gives the user control over the printing of the results, allows all tables and statistics to be output to SAS data sets; and produces web-browsable HTMl output New procedures provide tools for partial least squares analysis and spatial prediction. The GENMOD procedure now provides lSMEANS and ESTIMATE state ments, and its GEE facility provides the altemating logistic regression algorithm, produces Wald and score tests for model effects, and handles the ordinal response case, Ad ditional exact tests have been added to several procedures, and even the TIEST procedure has been updated. In addition to procedures for survey design and analysis, Version 7 also introduces experimental procedures for non parametric density estimation and nonparametric regres sion, as discussed in Part II of this paper 10
81 Regression with Time Series Errors David A. Dickey The basic assumptions of regression are re viewed. Graphical and statistical methods for checking the assumptions are presented using a sales example. Departures from in dependence in time series data are empha sized and illustrated in the example. Sev eral products from SASTM Institute for ana lyzing regressions with time series errors are illustrated. The importance of the stochastic properties of the model input variables is em phasized. Forecasts from several models for the example data are compared regression analysis, correlation, proc step, proc calis, proc autoreg, proc reg, sample, residual, predictor variable, time series analysis, histogram, moving average 9
82 SAS Client-Server Development: Taking it to the Web Eric C. Brinsfield As a sequel to the presentation "$AS ClIent-Ser1ler De'llelopment: Tricks of the Trade", we will expand on the discussion of client server development as it relates to the Internet. Most Web-based applications currently utilize a thin-dent model. Although this architecture is significanlly different from most client-server applications, it is stiR client-serwr. We will briefly discuss the pros and cons of thirH:1ient application design. While clarifying how SAS software fits into the puzzle, we wiD explain and demonstrate thin-dent characteristics and speculate on Mure diractions sas log, ascii 4
83 SAS Client-Server Development: Tricks of the Trade Eric C. Brinsfield Client-server computing is not just a matter of trading data between host and client. Whether you are developing in a client server environment or using a client-server application, the well designed client-server system should optimiZe the location of processing and minimiZe the transfer of data. This paper offers tips to the SAS client-server developer by discussing traditional client-5erver techniques using SASlCONNECT as well as clarifying the impact of thin-client Web development. Where appropriate during this discussion, I will evaluate the pros and cons of performance strategies. Where possible during the presentation, I will demonstrate the results of interesting design choices proc download, proc step, macro variable 4
84 SAS Installation Guidelines on Digital UNIX Carl E. Ralston proc step, options statement 5
85 SAS Institute Quality Partners - Who Are They? Loretta Jo Schlatzer quality of service, customer satisfaction 6
86 SAS/GRAPH - Dressing Up an Old Workhorse Robert W. Phelps SASIGRAPH has a long history of being able to generate a large quantity of output by using automated techniques like by-group processing and programmatic annotation. Although data could be clearly presented . using GCHART, GPLOT, GMAP etc. theresulting output has long been criticized as being 'unimpressive' by desk-top publishing standards. The advent ofhtml and Web technology has helped to change the way people relate to information. Web publishing and the need to generate graphs for data warehouse applications has given new life to an old reliable work horse. This paper will demonstrate some of the design principles and techniques that help to make Web-enabled SASIGRAPH not only a work horse but also a contender in the race for better visualization of qualitative information. Work from the development of a browser based intranet data warehouse application (DSSI - Decision Support System Intranet) will be used as examples by group processing, dataset 5
87 See Sally Work: Techniques for Designing and Evaluating User Interfaces Judy Loren sample, insurer 8
88 Serendipity Christopher A. Roper SQL (Structured Query Language) is the standard language used for querying all major databases, including SYBASE, ORACLE, RED BRICK, DB2, and others. The SAS Query window creates SQL expressions using SAS! AF Classes that are available to the SAS!AF developer. One of these class entries is the Where Clause Builder Class, QWWHERE.CLASS in the SASHELP.SQL catalog. This is the class used by the Query window to build SQL where clauses. This class may be called by any SASIAF entry to present the same interface the SAS Query window uses to build where clauses for SQL queries. This paper will cover what the Where Clause Builder Class is, how to incorporate it into a SAS! AF application, and the nuances of using this class effectively where statement, proc sql 6
89 Serendipity Christopher A. Roper SQL (Structured Query Language) is the standard language used for querying all major databases, including SAPIR3, SYBASE, ORACLE, RED BRICK, DB2, and others. The SAS Query window creates SQL expressions using SAS/AF Classes that are available to the SAS/AF developer. One of these class entries is the Column Expression Builder Class, QWCLEXPR.CLASS in the SASHELP.SQL catalog. This is the class used by the Query window to build columns in SQL. This class may be called by any SASI AF entry to present the same interface the SAS Query window uses as a column expression builder. This paper will cover what the Column Expression Builder Class is, how to incorporate it into a SAS/AF application, and the nuances of using this class effectively proc sql, proc step 7
90 SERENDIPITY A ''Big Picture" Data Diagnostic Program for COnical Trials Data Dorothy E. Pugh One of the first things those performing clinical trials data cleaning need to do is to get an date variable, adverse events 4
91 SERENDIPITY Indexed Table Look-up Against Multiple Data Sets Douglas L. McAllaster This paper shows how to use a single SAS DATA STEP to perform an indexed table look-up against multiple data sets. The technique uses the KEY= data set option to directly read indexed data sets. The code shows how to use the automatic SAS variable IORC to check - - whether the direct read found a matching observation. The code also shows how to avoid an important potential pitfall when the direct read does not [rod a matching observation missing value, sample 4
92 Software for GEE: PROC GENMOD and SUDAAN Babubhai V. Shah Until recenlly, most of the statistical software was limited to analyzing data from simple random samples. ReoenUy, some programs have become available to analyze oorrelated or clustered data. The major advantage of!hese methods is the use of robust sandwich estimators for the variances of parameter estimates. We shall review two such programs and discuss their strong points. We shall also present pointers for taking greatest advantage of both these programs correlation, sample, likelihood function, robust estimator, proc genmod, proc step, regression analysis, numeric functions, logistic distribution, clinical trial, repeated measures, proc phreg, logistic regression, poisson distribution 5
93 SQL Basics Destiny Corporation (a company) order by, proc step, proc sql, select, where statement, proc print, proc sort 6
94 STA.TlSTICS Christopher R. Olinger,
Randall D. Tobias
- - ____ -.- oY" * <.... ..... ____ o~ .~o ** ObS for Data Analysis: Output As-You-Uke-It in Version 7 Christopher R. Olinger Randall D. Tobias SAS Institute Inc., Cary NC This paper discusses advances made in the output generated by all Version 7 SAS Software procedures. . New features provided by the Output Delivery System (ODS) include automatic rendering of procedure output in HTMl for the web, rich-text, Postscript or pel format, output data sets from any printed output, and the ability to edit the look and feel of most output. ODS also supports all legacy line-mode printing and supports a document feature to allow post-procedure replaying of output. This talk introduces ODS features to be delivered in Version 7 and provides some concrete examples of how data analysts and statisticians can take advantage of the feature set provided by ODS. Motivation Every SAS user knows and loves the listing file, the vehicle for all printed SAS output for more than two decades 21
95 Survey Research Using SAS: Tricks of the Trade Archer R. Gravely,
UNC Asheville
This paper will illustrate the use of SAS to conduct mail and telephone survey research projects based on principles of efficient survey practice. SAS techniques for accomplishing the following survey research tasks are discussed: (1) calculating sample size requirements and error rates; (2) techniques for generating personalized survey communications and tracking respondents; (3) character and numeric data manipulation; and (4) tips for reporting survey data. This paper is based on the book Your Guide to Survey Research Using the SAS System published by SAS Institute in 1998 sample, sample size, proc step, proc sort, proc tabulate, proc format, proc print, class variable, if-then-else, proc freq, dataset 10
96 SYMPUT Routine: Painlessly Putting Parts and Pieces Together Imelda C. Go Imelda C. Go, Richland County School District One, Columbia, SC dataset, macro variable, call symput, macro parameter, macro definition 2
97 Technology 2000 Replacing Orade Although the SAS Institute has been very successful in building high functioning gateways to external database repoSitories, it is almost impossible to take full advantage of the SAS system through these interfaces. Many experienced SAS users have long recognized that SAS is vastly more efficient and functional when used against SAS datasets. Partially due to their Origin as transaction processing systems, most of the existing relational databases are overly complex and inefficient when used as the repoSitory for a data warehouse or datamart. With the advent of the SAS Scalable Performance Data Server, a viable high performance alternative to Oracle and the other Relational Database Management Systems (RDBMS) is available to the enterprise proc sql, dataset, flat file, relational database, credit card 8
98 Technology 2000 Joe Whitehurst,
Vincent Raimondi,
Mark Tabladlllo
The purpose of this paper is to provide a comparative overview of some of the current non-graphical reporting options available in 1998 using SAS Version 6.12. Each option presented will have a list of pros, cons, and a general recommendation based on the current technology for both enterprise reporting (defined as ongoing or recurring reporting needs) and ad-hoc reporting (defined as interactive queries or one-time reports). Naturally, since SAS continues to progress forward, what is described in this paper is only the bare minimum expectation which users should have in using SAS sas base, proc step 4
99 The Challenges of GUI Testing Dawn Amos,
Stuart Austin,
JoAnna Longman,
Allen Malone,
Sue McGrath,
Jim McNealy,
Natalie Morgan
txt, multiplicity 8
100 The Effect of Missing Data on Repeated Measures Models Maribeth H. Johnson Researchers involved with longitudinal studies are faced with the prob/.em of trying to get study subjects to return for every follow-up visil There is always some amount of missing data when looking at these types of studies. The MIXED procedure of the SAS'" enables examination of correlational structures and variability changes between repeated measurements on experimental units across time. While PROC MIXED has the capacity to handle unbalanced data when the data are missing at random, a question arises as to when the degree of sparseness jeopardizes inference. Simulation is a tool that can be used to answer these types of questions. This paper shows the application of simulation to determine inference problems in a data set with a specific pattern of missing data. This technique is also applied to the topic of initial sample size determination sample, sample size, missing value, proc mixed, proc step, likelihood function, covariance, model training, proc freq 5
101 The Program Data Vector As an Aid to DATA step Reasoning Marianne L. Whitlock The SAS DATA STEP is easy enough for beginners to produce results quickly. You can use a model from a manual or a colleague's program, and adapt it to your problems. Typically, you code a "SET" or "INPUT" statement and proceed with assignment statements etc. to produce a new file from a previous one. You can easily print the results, or put the data into a statistical procedure, without ever troubling yourself with the Program Data Vector (PDV). When you want to accomplish something more complex though, you find that familiarity with the typical DATA STEP pattern is not enough, and if you have not internalized the concept of the PDV, you are not well equipped to tell SAS what you want. Using increasingly complex problems, this talk will step through code from the PDV point of view. The goal will be to give confidence to try more manipulative programming put statement, input statement, _eof_, set statement, by group processing, dataset, subsetting if, output, keep statement, temporary array, do loop, update statement 10
102 The Replication Method for Estimating Sampling Errors, Principles, and Software David Morganstein,
J. Michael Brick
Replication is a very usefol method of approximating the variance of nonlinear statistics in complex sample surveys. It provides asymptotically equivalent results to the alternative linearization method and it has distinct strengths under some very practical situations that commonly arise in sample surveys. In this paper, we describe how replication theory can be implemented in software such as WesVarPC to achieve some important sample, missing value, proc calis, odds ratio, bootstrap, sample weight, regression analysis 5
103 The RESOLVE Function - What Is It Good For? H. Ian Whitlock There are four DATA STEP functions that com municate with the macro facility. 1) CAll SYMPUT macro variable, call symput, macro facility, call execute 2
104 The SAS Travel Companion C. Olivia Parr Rud proc hpsplit, catalog 1
105 The Web Enablement of the SESUG '97 Registration Process Gregory A. Ashley The 1997 SouthEast SAS .User's Group's (SESUG) 1997 conference was the first SESUG conference to offer Web-based registration. This paper examines how the SAS Output Formatter and various CGI tools were utilized in the Web-based online registration process for which the author served as registrar. It then compares and contrasts these tools to the use of the SAS Application Dispatcher which could alternatively be used for future SESUG conference registrations or other Web-based data applications ods html, sas output, macro variable, dataset 10
106 Thin Client for the Windows Platform - "Jazz Front" Carol Williams Rigsbee "Jazz Front" is the code name for a new Windows Thin Client that is available with the Nashville release. "Jazz Front" provides a point and click, code based user interface to all the Version 7 SAS System servers. "Jazz Front" provides transparent data access to both SAS and non-SAS data, interactive dialogs that lead you through dozens of analytical and reporting tasks, the ability to export re sults to other Windows applications and to the Web, and the ability to schedule your project to run at a later time excel, output delivery system 7
107 Using ARRAYs: The Basics George Matthews As a Statistical Software Consultant in an academic environment, I often encounter novice users who need to process several variables in the same way. After scolding the user for attempting to perform this task with hundreds of IF-1HEN statements, I suggest they consider an array. In the DATA STEP, you can put variables into a temporary group called an array. Arrays provide a very powerful tool for group processing. This paper will provide participants with the basics of array processing and is intended for SAS users who have some experience with the DATA STEP, and no or very little experience with arrays array, do loop 3
108 Using SAS Import/Export Wizards and SAS Macros To Automate Data Manipulation of External Data Chris D Thompson This paper will outline one process of using the SAS system to automate data manipulation of external data. Using this process, it will not be necessary for you to physically open the external sources of your data. The process has four major components: Import external data Manipulate the data using the SAS system Export the data Use macros to automate the first 3 components In the example discussed in this paper, the SAS system for personal computers, version 6.12 for Windows is utilized. Therefore, some of the point-and-click Windows features used here may not be available for IBM Mainframe, VAX, or UNIX users, but the generated code can be applied to all platforms excel, dataset, xls, macro variable, proc step, macro definition 3
109 Using SAS to Calculate Tests of Cliff's Delta Kristine Y. Hogarty,
Jeffrey D. Kromrey
This paper discusses a program that calculates three estimates for making statistical inferences regarding the delta statistic. The delta statistic (Cliff, 1993) may be used when testing null hypotheses about group differences on ordinal level measurements. This statistic and the inferential methods associated with it are addressed by considering data arranged in a dominance matrix. The program calculates the marginal values of the dominance matrix that are used in the inferential statistics associated with d (sample estimate of the population parameter). The three methods of inference for d include two estimates of the variance of d, and a confidence band around the sample value of d. The paper provides a demonstration of the SASjlML code and examples of application of the code to simulation studies in statistics sample, null hypothesis, response variable, confidence interval, inferential statistics 5
110 What Sort of Input Should You Input to a Sort? Michael A. Raithel Bealuse the SAS System makes sorting so simple; some programmers SIXt 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 aetually 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 SIXted data set? Is it really necessary for the entire data set be sorted, or is thel'e a more efficient altemative? 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 SIXts dataset, cpu time, proc sort, proc step 2
111 X-12-Graph: Visual Diagnostics for Time Series Modeling and Seasonal Adjustment Catherine C. Hood. U.S X-12-Graph is a program developed at the Census Bureau to provide graphical diagnostics for the Bureau's X-I2-ARIMA program, a publicly-available program used worldwide for time series modeling and seasonal adjustment. Our goal in creating X-12-Graph was to provide specific types of time series graphs in a package that would be easy for everyone to use. X-12-Graph is programmed with the SAS" System and comes in two versions - interactive and batch. Neither version reqUires previous SAS experieuce from the' user. X-12-Graph allows the user to select from 12 types of graphs; compare different X-12-ARIMA adjustments; choose options for the graphs, such as starting and ending dates, scale, and colors, and; assemble a combination graph from previously produced graphs. The paper begins with an introduction discussing seasonal adjustment in general, batch versus interactive processing, the X -12-AR1MA program, and the general organization of X-12-Graph seasonal adjustment, time series analysis, seasonality, outlier, proc step, proc greplay 6
112 Your BASE Dollars at Work SAS Institute (a company) The BASE procedures group (a.k.a. Information Products) at SAS Institute has been hard at work adding new and useful features to the heart of the SAS System. This talk describes this work and uses generic "business oriented" examples to place these features in a context that demonstrates their use in everyday programming. Covered are: General additions to SAS Software that should make the programmers life an easier one. New SUMMARYfTABULATE options like percentiles, independent ordering of class variables, and the pre loading of the class-variable space using formats and/or a data sets of desired class level values. The ODS statement for producing output data sets and HTMl output from all SAS procedures, High Fidelity Printing and more. ODS is an acronym for Output ]2elivery ~ystem. ODS specific additions to PROC REPORT, PROC TABULATE and the SAS/GRAPH Procedures. General Improvements SAS Software (finally!) permits table and column names to be up to 32 characters long 10

Back to Conf go 1999 go 1997

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.