HOME QUICK SEARCH AUTHORS KEYWORDS HELP BUGS

WUSS 2001 Papers - Index

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

# Title
×
Authors
×
Abstract
×
Keywords
×
Extras Pages
1 %MACRO SKIP: My Favorite SAS Trick Diana D. Suhr As SAs users, we are always looking for tricks, tips, or techniques to make our programming easier and more efficient The %MACRO SKIP allows sections of code to be skipped, commented out, and not executed. In addition to the basics of %MACRO SKIP, modifications to customize this trick will be illustrated. I learned o/oMACRO SKIP in a Coders' Corner presentation at the first SAs Conference I attended (1994 Western Users ofSAs Software Conference in San Francisco). / ... I Comments Bracket-style comments (/ ... I) are an option for commenting out code. However, if bracket-style comments are used throughout the program for documentation/skipping code and nested, strange things can happen. For example, the following code shows an inappropriate use of/ ... I due to nesting. / macro definition, macro facility source 2
2 A Beginners Guide to SAS Date and Time Handling Wayne B. Finley The SAS system provides a plethora of methods to handle date and time values. Correct date computation became a very important subject when the world became aware of the Year 2000 issue. Computer users now realize most applications contain date and time variables. This beginning tutorial describes how the SAS system 1) stores dates, datetimes, and times; 2) reads date/time variables from "Raw Data Files" and from SAS data sets. It covers when and where to use SAS lnformats and formats. Next it describes the easy methods to perform date/time arithmetic via date/time SAS functions. The paper shows how SAS date Formats can be used in SAS Procs such as PRINT, FREQ, and Graph. Finally the tutorial will discuss Year 2000 issues and how SAS software helps you maintain correct date integrity and prevent future Y2k problems in the new millennium. lntrgdyctlon During the New Year's first week I told a colleague what my presentation's title was. sysdate9, time variable, dataset, datetime variable, time, sas log, proc step, date variable source 6
3 A Beginning Application with Data Entry, Management, Analysis, and Presentation Using SAS/IntrNet & ODS Stephen Siler,
Ken Moody
SAS/INTRNET offers a suite of tools for building web applications, two of which are htmSQL and Application Dispatcher. Combined with the Output Delivery System (ODS), these tools offer a straightforward, efficient way to build dynamic web applications capable of data entry and update, analysis, and a variety of output formats including HTML, RTF, and PDF. This paper demonstrates the ease of merging these tools to build a relatively simple yet dynamic web application. The following topics will be covered: user input through form design, querying data via htmSQL, debugging, error handling, datastep and procedure execution via Application Dispatcher, and various output destinations via ODS. macro variable, proc step, proc sql source 6
4 A Macro for Calculating and Displaying Smoking Prevalence and Confidence Intervals Brett Holbrook The Public Health Institute's Survey Research Group (SRG) along with the California Department of Health Service's Tobacco Control Program (TCS) annually reports smoking prevalence for California adults aged 18 and older. A short and simple SAS macro is used for calculating both weighted smoking prevalence estimates as well as 95% confidence interval estimates. This particular macro requires the use of a prevalence variable, three "by variables" (such as sex, age and race) and a weight variable. Although SRG and TCS primarily use this code to calculate smoking prevalence, it can be modified to any application where the response variable is a binomial random variable. proc step, sample, macro variable, confidence interval, proc means, proc print, dataset, macro definition, data step, binomial distribution source 3
5 A Macro Utility for Generating Formatted Log Comments Peter J. Lund If you've ever %included code or used macros with embedded SAS code, it is often frustrating to miss inline comments in the log or be unable to clearly track what the program has done. You can always tum on the SOURCE2 or MPRINTIMLOGIC options, but that sometimes gets to be too much. Likewise, you can add your own comments with %PUT, but you have to go to a lot of work to make them look nice. This paper discusses a macro which formats comments which are written to the SAS log. The comment is bordered with asterisks and the user can control indentation, justification and line breaks. Macro references in the comment are resolved so comments can be made dynamic. The border automatically adjusts to the size of the longest line and there is no limit to the length or number of lines in the comment. You get consistent, formatted comments with fewer keystrokes than keying all those %PUT statements yourself. The Call To create your comment, simply pass it as the parameter of the %COMMENT macro. macro variable, %if-%then-%else, macro put, macro definition source 4
6 A Method to Import, Process, and Export Arbritrary XML Files with SAS Michael C. Palmer,
Cecilia A. Hale
The release of the FDA and pharmaceutical industry supported CDISC XML clinical data standard will make SAS's XML capabilities increasingly important. XML formatted data are text with the hierarchical, tagged structure of markup languages, not the row and column style of SAS datasets. SAS bas some experimental XML capabilities but it cannot import, process, and export arbitrary XML vocabularies as XML. This paper presents a method to import, process, and export arbitrary, data-centric XML files. The method consists of an indexing algorithm, construction of a null instance, and processing of populated instances. Populated and null instances are merged, and the algorithm is applied. The resulting indexed instance is pruned to just records that contain data and stored as a SAS dataset with the index as a key, shorn of the markup structure that is hard to work with in SAS. The pruned instance can be mapped into SAS datasets and processed with the index, preserving the XML structure. flat file, dataset, sample, clinical data, cdisc source 5
7 A Perl Primer for SAS Programmers David L. Cassell The Perl programming language should be viewed as not a competitor ofSAS, but rather as a colleague. There are frequent places in web-based programming, as well as in the data validation and system administration work surrounding web programming, where Perl can work hand-in-hand with SAS software. However, Perl is usually regarded as an arcane language which looks more like line noise than code. This paper is designed to serve as a quick introduction to Perl, with examples which show that Perl can be used in logical ways which are then easy to integrate into webpages. if-then-else, proc step source 4
8 A Sort of a Mess - Sorting Large Datasets on Multiple Keys David L. Cassell One ofthe most useful features of SAS is its capabilities for handling large datasets. However, a sort of a very large dataset on many keys can present difficulties. Disk space or temporary space may be inadequate. The time needed may be enormous. The approach taken may overwhelm the software or the operating system. This talk covers multiple ways to sort on a large dataset with many sort-keys, pointing out some advantages and tradeoffs of techniques. proc step, proc sort, proc sql, sorted data, sample source 3
9 A Survival Analysis from the Ground Up, Using Cox Proportional Hazards Modeling Tyler C. Smith,
Besa Smith,
Margaret A. K. Ryan
The objective of this tutorial is to start with real data from a protocol-driven study, and explain how and why we came to use a survival analysis approach. Specifically, why we chose Cox's proportional hazards over other parametric proportional hazard approaches. The audience will see how to analyze the differences between outcomes (ie, hQspitalization) probabilities over time for two or more cohorts, while adjusting for influential covariates and attrition of subjects. Procedures for comparing specific hospitalization discharge diagnoses and broad diagnostic categories of hospitalizations using SAS will be examined. The usefulness of the baseline option in PROC PHREG will be demol)Strated with the creation and output of the survival function estimates. These will be used to produce the probability estimates over time and graphed as a cumulative distribution ftmction. survival analysis, cumulative frequency, proc phreg, proc step, probability distribution, survival function, predictor variable, proportional hazards assumption, regression analysis, hazard function, likelihood function, response variable, right censoring, hazard ratio, relative risk, proc lifetest source 8
10 Advance Uses of SAS/IntrNet and MRV for Delivering Decision Support Reports to the Web Dan Kirpes This paper will demonstrate how to add extra functionality to your SAS/INTRNET and MRV reports. The paper will include HTML, htmSQL, Base SAS code, and some SCL to show how to go beyond the basic functionality that SAS provides. This paper will also show how to customize the front-end and the reach-thru features of MRV. macro variable, sas base source 6
11 Advanced Macro Processing Destiny Corporation (a company) macro variable, call symput, proc step, symbol table, proc sql, dataset, proc append source 9
12 Advanced SQL Processing Destiny Corporation (a company) group by, order by, by group processing, proc step, proc sql, data step, select, sas programming, proc print source 15
13 Adventures in RTP Output: ODS with a Little PROC TEMPLATE Anita Rocha With the advent of the Output Delivery System (ODS) in SAS Version 7 and higher, the programmer is easily capable of producing tables and reports in several mediums, even simultaneously. The first big leap was the production of output in the form of an HTML file, ready for access from a web browser. Many of us who produce regulatory documents waited patiently for a similar capability to Rich Text Format (RTF). Yes, there were other methods to produce RTF available, but the clean coding and the promise of greater flexibility of ODS had tremendous appeal. In the SAS 8.1 release, ODS capability has expanded to include production of RTF. This paper outlines the simple to the slightly more complex. We'll produce a simple RTF table using ODS and then alter display parameters using PROC TEMPLA 1E to achieve a table suitable for a regulatory submission. ods rtf, proc step, output delivery system, sas output source 4
14 An Interactive VBA/SAS Application Scott Hanson,
Seva Kumar
Designing a financial management application that addresses the requirements of different constituents, such as finance and marketing, has many special attributes. This project involves the development of a practical application based on a credit card portfolio (i.e., Profitability Tracking') methodology written in SAS modules. The elements of the application include a User Interface in Microsoft EXCEL, Visual Basic, OLE, and SAS. We envisioned a practical application that extends the functionality of the methodology. The front-end interface, which is demonstrated below, augments the modular SAS programming, and provides the user with custom and standard reporting features. Essentially, the Visual Basic application addresses specific analytical needs, controls for the underlying logic of the Profitability Tracking code, and enhances the efficiency and production of reports. excel, txt, proc step source 5
15 Ask DSS Karen L. Wyland The Decision Support Systems web site promises to deliver information on demand. How do you do that? More specifically, how do you meet the requests of many users who span all levels of the organization and need different levels of data? How do you optimize the user experience that is dialing over a 28.8 modem? "Ask DSS", partially modeled after "Ask Jeeves" is one such application. All users choose from a prearranged set of questions. Each question has several pull-down boxes to let users tailor it for their particular inquiry. We term this a "predefined where clause with variable values. n It's easily maintained because each question has its own SAS program called from the SAS/INTRNET broker. Macro code manages the dynamic decision making of which user and what data, and JavaScript within the web page manages the questions submitted and the necessary parameters to pass. proc sql, sample source 6
16 Automatically Creating a Summary Table from Multiple Outcomes by a SAS Program Han Wu,
Ying Chen
Automatically generating customized tables for end users by a SAS program is of more reliable, consistent and efficiency advantages, especially, when the tables need to be submitted periodically in report systems. An example of a SAS program, which can be run on all SAS platforms, using SASIBASE and MACRO modules to create a proc step, proc freq, proc append, proc tabulate, macro definition source 3
17 Basic Macro Processing Destiny Corporation (a company) macro variable, proc step, macro put, macro call, macro definition, macro facility, keyword parameter, missing value, macro parameter, %macro parameters, macro quoting function source 6
18 Basic SQL Processing Destiny Corporation (a company) order by, proc step, proc sql, select, proc print, proc sort source 5
19 Beyond HTML: Using the SAS System Version 8.2 with HTML and XML Frederick E. Pratter It is self-evident that the Web browser has become the standard graphical user interface for the OS. Platform independent, universal, and free, the HTML browser is the default technology for collecting and displaying information. Unfortunately, this ubiquity has resulted in a number of unavoidable consequences for those of us who have to produce the software to support these activities. For one, everybody has had to learn HTML. Furthermore, all of the clever interactive visual development environments we rely on are now obsolete, at least when developing for the Web. The IDE tools available for HTML development range from the primitive at best to the simply awful. output delivery system, libname engine, dataset, sample source 4
20 Building a GUI for Your Datamart Using SAS/AF Version 8.1 Soora Wi This paper will introduce to the first-time SAS/AF (Version 8.1) application developer concepts to create a GUI application for the non-SAS user to "point and click" their way to view query and print reports based upon submitted data parameters. Throughout this paper, key SAS/AF terms such as frame. components, attributes and SCL will be introduced. · This paper is targeted to the beginner to intermediate Base SASuser. proc step, dataset source 5
21 Building an Automated Data Management, Analysis, and Reporting Tool that Runs against Pre-Processed Web Server Access Log File Data Nick Pászty Web server access log files present a challenging data source due to tbe variety of server formatting configurations, frequent lack of unique identification as well as tbe sheer size of tbe files themselves. Using a home grown Perl pre-processor, logs are reduced to more manageable files containing standard reports in a standard format. This paper will demonstrate how we used the ODS in SAS version 8.x along witb Access to PC File Formats, Base, Graph/Annotate and Macro on Windows NT to manage web site data and produce drillable reports from the pre processed data. The challenges of designing a scaleable standardized directory structure, learning tbe ODS and automating tbe process will be discussed. macro variable, proc step, excel, data step, data governance, output delivery system, macro loop source 6
22 Building and Using Macro Libraries Arthur L. Carpenter While many users take advantage of the SAS Macro Language, few take full advantage of its capabilities to build and maintain libraries of macros. Management of large numbers of macros can be problematic. Names and locations must be remembered, changes must be managed, duplication and variations of individual macros must be monitored, and efficiency issues must be taken into consideration. These problems come even more to the forefront when macros are shared among programmers - especially in a networked environment. macro definition, stored macro, autocall macro, macro facility, options statement source 6
23 Bull or Bear? An Econometric Analysis of The Stock Market Jia L. Wang Recently, investors have been baftled by the Wall Street roller coaster. As the Dow Jones Industrial Average falls and the unemployment rates rise, investors are anxious to know what the future may hold. The purpose of this paper is to forecast the possible outcomes of the stock market. Different models will be used to determine the relationship between the stock market and the unemployment rates in the United States. The outcome of a myriad of SAS procedures will be compared against one another. The procedures include: PROC proc step, proc autoreg source 4
24 Calculating the Error Rate: The Case of the Quality Assurance Audit Edem Kuevor With any manual data entry process, it is expected that data entry errors exist within the database. To assess the integrity of the data, it is often of particular interest to measure the extent of these errors. This paper will demonstrate a method that can be used to calculate an error rate. The process of determining the error rate involves the following: a visual comparison of a random sample of entered pages to the database; the recording of any errors in a separate database; and the conversion of this ~error" database to a SAS dataset using PROC IMPORT. In addition, the DATA STEP is used to perform minor data management. Ultimately, PROC MEANS in conjunction with the Output Delivery System will produce SllllllllliiY statistics that can be used to calculate an overall error rate as well error rates of specific interest. sample, proc step, output delivery system, proc means source 3
25 Changes and Enhancements to PROCs MEANS and SUMMARY in Version 8 of the SAS System Andrew H. Karp PROC MEANS (and its 'sister,' PROC SUMMARY) have been BASE SAS Software procedures for a long time. Most SAS Software users have found their ability to rapidly analyze and summarize the values of numeric variables to be essential tools in their programs and applications. A number of new features have been added to PROC MEANS in The Nashville Release (Version 8) of the SAS System which are discussed in this paper. proc step, proc means, output, dataset, class variable, character variable, numeric variable, sas base source 6
26 Clean Your Data with PROC SQL Ann Olmsted Version 8 PROC SQL is a flexible and powerful data checking tool. Using the dictionary tables feature, PROC SQL can write PROC SQL code, just as data steps can write DATA STEP code. For instance, PROC SQL can write code to verify that functional dependencies such as subjid ~ subjinit (subject ID determines subject initials; no two observations have the same subject ID but different initials) hold for all SAS data sets in a library. The code works for any library, since dictionary tables are used to find out which data sets contain the variables to be checked. Clinical trials examples of functional dependency checks, key checks, random sample checks, etc. are given. The code examples can easily be adapted to clean any kind of data and most are particularly useful when up to 32 related files need to be checked periodically and files and variables may be added or dropped between checks. proc sql, order by, proc step, sample, create table, dictionary tables, key, outlier, macro put, adverse events, clinical trial, group by, macro variable, verbatim term, dataset source 5
27 Comparing Macros to Arrays to Simple Code for INPUT Statements: A Visual Display for the Novice Programmer Lara K. Jungvig As a novice SAS programmer, I was thrown for a (%DO) loop by macros. I was not comfortable using macros until the day I was faced with an option: create and read in over 200 new DATA variables by typing out all of their variable names or write several lines of code to do it for me. The decision was quick, and I have embraced macros ever since. This paper compares macro code to arrays to a simple input statement. By presenting the code side by side, I hope to unfold the basic concept of the array and the macro and to demonstrate different approaches for the novice programmer. input statement, macro facility source 3
28 Computation of expected risk rations in a longitudinal study of sexually transmitted diseases in per-contact risk of HIV using SAS/IML Jesse Albert Canchola,
Sally Blower
Using the method of Hayes et al. (1995), we provide a SASIIML program to calculate the expected risk ratio associating an STD as a cofactor effect of the per-contact risk of acquiring HIV. Inputs are length of follow-up, duration of STD, basic mv transmission probability, total number of exposures during follow-up to mv positive (InV+) partners, and cofactor effect values. relative risk, sample source 5
29 CONCAT.SAS: A Macro for Concatenation of Grouped Multi-Record Narrative Text Roy Henrichs This paper presents a SAS macro that concatenates grOuped multi-n:cord fixed fieldwidth nanative text into a new field keyed to the group. An output SAS dataset contains two fields: 1) A group identifier. 2) The concatenat.ed nanative outpol Multi n:cord text concatenation may be required to enable the researcher to perform string searches and text-based data mining across multiple n:cords, while preserving substring context within the total concatenated string. Concatenation process efficiency is critical, considering both DASD utilization and CPU time, when performing text concatenation on large datasets. Specifically, this paper presents a SAS macro that the Reliability Engineering Department of the San Francisco Bay Area Rapid Transit District uses to concatenate multi-record text contained in the Maintenance and Reliability Infonnation System (MARIS). a DB2 application that contains transit system equipment operation and maintenance history. macro variable, data step, label statement, out=, macro definition, proc step, autocall macro, macro facility, character variable source 4
30 Consider SAS Consulting Charles E. Shipp,
Kirk Paul Lafler
careers in consuMing have advantages to consider, and this poster displays areas and steps for preparation, including: 1. Preparing technical skills; 2. Setting up a smaH business or corporation; and 3. Marketing your skills and services. Details are presented with web and text information that will be helpful in getting started. sas consultant, sas programming source 2
31 Considerations for Multi-Platform Data Analysis and Delivery Paul A. Choate With the advent of powerful microcomputers and modem data transfer abilities many analysts find themselves bridging the flow of information between mainframe and network PC environments. This presentation discusses approaches and issues regarding the use of SAS software across the MVS and PC environments. proc step, dataset, proc import, sas log, proc sql source 5
32 Data Analysis on the Components of Multimedia Courseware Design Leping Liu In the field of education, multimedia courseware development can be viewed a process of system development In this process, two major phases are system analysis and system design. In the pbase of system analysis, the structure of the courseware is determined (structuring); in the phase of system design, the details of each screen are determined (storyboarding). This paper will present a study in which the author investigated the effects of different methods aud tools for structuring aud storyboarding on multimedia courseware design. ANOV A was performed in SAS system, and significant differences were found. The data analysis procedures, results, and plots will be presented. repeated measures, anova, sample source 6
33 Data Quality - Spinning Straw Into Gold Bob Brauer The issue of data quality is a simple one. As IT spending soars and organizations continue to spend a large portion of their IT budgets on Business Intelligence applications such as data warehousing, customer-relationship management, data mining, marketing automation and sales force automation, the importance of the underlying source of data that feeds these applications has become increasingly higher. After all, well into the Information Age, organizations have become entirely data-driven. Rare is the employee who does not come into daily contact with an element of information originating from a company's various databases. Critical business decisions and allocation of resources are made based upon what is found in the data. data cleaning, data integration, business intelligence source 5
34 Deconstructing SAS Jobs: How to Perform a Legacy Code Autopsy Charles vanWynbergen SAS is a robust and versatile tool, which is well suited for developing 'quick and dirty' reports. Since these reports are created on an ad hoc basis, the underlying code is often poorly documented. As users become reliant on the code, it typically evolves from an ad hoc job to a much more complex pseudo-production process. Eventually, the original developer may leave the organization. The challenge for a SAS maintenance programmer is to unlock the programming intent of legacy code in the shortest possible time. This paper outlines a methodical approach to analyzing and renovating legacy SAS jobs. It describes how to perform a code autopsy to gather important, timesaving clues about the function and purpose of SAS code. sas log, sample source 5
35 Delivering Information to the People Who Need to Know Gail Kramer,
Chris Hemedinger
One of many things that SAS software enables you to do is to deliver the information you have used SAS software to discover. Come and see how SAS allows you to create and generate reports and get them delivered to the right people giving them The Power to Know. Enterprise Guide software brings the full power of SAS to business analysts, statistical analysts and SAS programmers in a PC client application via an easy to use point-and-click user interface. This Windows client connects to Version 8 SAS System servers and provides access any data types supported by the SAS System, uses the execution power of the server to run any SAS processes, and returns professional reports and graphics to your PC. Enterprise Guide also provides you with web deployment and repeatability of your analysis and results. This paper describes the latest features available in Enterprise Guide Release 1.2 in the areas of project management, query, OLAP support, data access and administration. sas enterprise guide, dataset, excel, proc sql, format statement, proc step source 6
36 Detecting Anomalies in Your Data Using Benford's Law Curtis A. Smith Analyzing large amounts of data looking for anomalies can be a disheartening task. You need techniques that will allow you to quickly assess the data in ways that will highlight potential anomalies while keeping you from chasing the wind. Benford's Law is one such technique. Using Benford's Law and SAS Software you can quickly identify one or more first digit patterns that defy statistical averages. Within this paper, the author will present SAS code that will enable you to quickly and easily find anomalies in the data you analyze. The SAS code will include the DATA STEP, the MERGE statement, and the FREQ, REPORT, and GPLOT procedures. The author will also present some findings from the data he analyzes. The technique presented is powerful, yet easy to understand and use. proc gplot, proc freq source 5
37 Detecting Seasonality in Univariate Time Series Data Using the SAS System Joseph E. Earley,
Seid M. Zekavat
The purpose of this paper is to illustrate how to detect seasonality in univariate time series using the SAS System. A time series of electricity consumed by the residential and commercial sectors is examined using the SAS procedures: PROC ARIMA, PROC SPECTRA and PROC Xl2. with v as the difference operator and B the backshift operator: time series analysis, proc step, null hypothesis, proc freq, moving average, proc arima, proc x12 source 6
38 Discriminant Analysis, A Powerful Classification Technique in Data Mining George C. J. Fernandez Data mining is a collection of analytical techniques to uncover new trends and patterns in massive databases. These data mining techniques stress visualization to thoroughly study the structure of data and to check the validity of the statistical model fit which leads to proactive decision making. Discriminant analysis is one of the data mining tools used to discriminate a single classification variable using multiple attributes. Discriminant analysis also assigns observations to one of the pre-defined groups based on the knowledge of the multi-attributes. When the distribution within each group is assumed to be multivariate normal, a parametric method can be used to develop a discriminant function using a generalized squared distance approach. posterior probability, macro definition, data cleaning, sample, discriminant analysis, covariance, correlation, prior probability, dataset, scatter plot, mahalanobis distance, test set, validation set, outlier, sample size, proc sgplot, sas output, training set, proc princomp source 9
39 Estimating and Interpreting Ordered Regression Models using PROC PRINT Kenneth Fernandez Most survey research regarding public opinion (from product satisfaction to presidential approval) provide ordinal response data. There are many ways to analyze ordinal outcomes using SAS but one of the most useful predictor variable, proc step, regression analysis, macro variable, response variable, normal distribution, dataset, standard deviation, likelihood function, cumulative frequency, probability distribution, excel, logistic distribution source 5
40 Factor Analysis of Categorical Data in SAS Lei Han,
Torsten B. Neilands,
Margaret Docini
Data analysts frequently employ factor analysis to extract latent factors from sets of survey items. Often these items are not continuous scales; instead, they are either polytomous (e.g., Likert scaled) or dichotomous (e.g., "yes/no") items. The FACTOR procedure in SAS computes Pearson product-moment correlations from raw data as its default input matrix. This approach may not be optimal for polytomous or dichotomous input data. Polychoric and tetrachoric correlation coefficients for polytomous and dichotomous items, respectively, may be a better choice. This paper illustrates the use of the SAS Institute polychor.sas macro program to compute polychoric and tetrachoric correlation matrices; these matrices are subsequently analyzed using PROC FACTOR. Limitations and benefits of this approach are discussed. correlation, factor analysis, factor loading, proc factor, pearson correlation, proc step, binary variable, interval variable source 6
41 From Spreadsheet to SAS Using the Web Environment Daryl Baird With the use of SASnnlrNet products the web browser has been turned Into one of the most dynamic reporting utilities that can be Imagined. Reports and data can be displayed as tables, graphs, and even direcUy downloaded Into specific applications. With so much power and many capabilities focused on the final product, it is often forgotten - and misunderstood - that data can be directly uploaded into a SAS data set using the same technologies. The purpose of this paper Is to Illustrate uploading a comma delimited data file into a SAS data set via the web server environment. PERL is used to create a common-gateway interface (CGI) script that allows the use of a multi-part HTML form that initiates the upload of the file. The CGI script communicates with the browser while the upload Is executing and calls a SAS program to merge the me into a SAS data set dataset, transaction data source 5
42 Function'al Macros Carol Mingst While Base SAS contains many extremely useful functions, occasionally data requires more unusual manipulation. This paper will explain bow to create shared MACROs that will provide most of the abilities of a base function. These can be extremely useful for converting media, such as dates and times, that are not in a SAS standard format. sysdate9, sas base, date variable, macro variable, sas function, macro definition source 4
43 Fuzzy Matching and Its Applications Dale Hall,
Raymond Wan
New applications have always been a driving force behind new techniques and new technologies. Beginning with version 6, SAS has opened the door into the area of fuzzy matching. At the same time, we see the trend towards ever-larger databases, more complex and time-consuming demands for searching. Perhaps more importantly, we stand at the advent of new and exciting opportunities present in the development of the infonnation within the human genome. This overview traces the evolution of computer-based matching from its origins 30 years ago to the present A. Introduction SAS institute has been introducing tools for fuzzy matching since version 6 without much fanfare. It started with the source 3
44 Genetic Algorithm Using SAS/IML David Steehard,
Nan-Ting Chou
The genetic algorithm is a search technique which borrows ideas from natural evolution to effectively find good solutions for optimization problems. What is particularly appealing about the technique is that it is robust at finding good solutions for a large variety of problems. In this paper we provide an introduction to genetic algorithms and use a genetic algorithm written in SAS IML to solve a combinatorial optimization problem - the traveling salesman problem. Sufficient details are provided to enable the readers to easily use genetic algorithm written in SAS IML as a tool for solving additional optimization problems. standard deviation, distance measure source 7
45 Gold, Black Gold, Steel, and World Inflation: A SAS Study Kamal Shoukry The pUIJlOSe of this study is to estimate the comparative influences of some causes of inflation using PROC's STEPWISE, REG, CORR, and ARIMA. Reasons for recent unusual gold price relative stability, US$ strength and GBP stability are also considered. The Stagflation of the Seventies The petroleum oil (black gold) embargo of the 1973 has increased energy costs and led to a stagflation which is a combination of inflation and stagnation (recession). In theory this is known as an external supply shock causing aggregate supply to shift inward and up thus leading to cost push inflation and unemployment. A policy of economic expansion was followed to cure recession has caused another type of inflation known as demand pull inflation. Coal miners during that period went on a strike requesting a 30% wage increase and got what they wanted Wage increases are another source or cause of cost push inflation, coal enters in the production of steel. correlation, predictor variable source 3
46 Graphical Depiction of Bias when Using the Probability Plot Method for Cencored Data Randall Boan Environmental measurement data often include contaminate concentrations so low they are below what is considered a reliable detection limit set by an analytical laboratory. These censored data can sometimes constitute a large proportion of the data collected leaving little "real" data to work with when estimates of parameters like the mean are needed. Many methods have been proposed to use the censored data in these estimates. This paper looks at one method, the probability plot, which replaces censored data with values directed by an assumed underlying data distribution. SAS111 computer simulations are used to investigate the magnitude and direction of the bias in the mean and variance when using this method under differing assumed distributions. The results are displayed with a 3-dimensional plot with the bias as a function of the degree of censoring and the sample size. censoring, sample, sample size, regression analysis, normal distribution source 4
47 How Paul Bunyan Cleared the Log Jam: Creating a Useful Table from Information within Log Files Beth Worrall Frequently SAS programs are submitted on a regular basis (weekly, monthly, or annually), and it is desirable to compare Jog files between different time periods. Such comparisons can detect any drastic differences in data sets routinely created, and -the infonmition they contain. To taclfitate this comparison, a table can be created which summarizes information contained within logs. This summary may include the names of data sets, the number of variables within each data set, and the number of observations within each data set To accomplish this, the following statements are used: )o INFILE With the LENGTH option )o INPUT with the SV ARYING#. format )o INDEX functions > DO UNTIL loops This paper will describe the above tactics and examine each ofthem in an actual example where SAS logs are created on a monthly basis. After reading the log files and creating a data set with the information the log contains, it will be shown bow the results can be easily presented. conditional do loop, index, input statement source 3
48 How to Create Dynamic HTML and Javascript using your Data Jennifer R. Sinodis With increasing information technology the Internet/Intranet offers an accessible channel for displaying and viewing meaningful information. By using SAS to generate HTML and JavaScript you can create great looking, maintenance-free, dynamic web pages for your users. This paper will show how to use SAS/BASE to build HTML output to your web site using SAS Version 7 and Version 8, with HTML formatting macros and ODS (Output Delivery System). It will also show how SAS/BASE can produce JavaScript to generate drop-down menu options built directly from your data, validate drill down options and dynamically access web output. The paper will also describe how SAS/INTRNET software can create this output dynamically from your web site. For the purpose of this paper most of the SAS programs shown are simplified. Some of the programs use macro code, thus basic macro code knowledge is assumed. This paper will also show HTML, but it will only briefly explain some of its code for clarity. ods html, sample, proc step, sas output, proc report, if-then-else source 10
49 How Using Arrays and Formats Allowed Me to Draw 16,000 Random Samples of Specific N without Sorting (and save my hard disk and sanity, too) Miriam G. Cisternas It happens to the best of us: you are happily interpreting output when someone requests you to generate many random samples from a large dataset. For sampling without replacement, most of us are familiar with the method of sorting a dataset containing the sampling universe by randomly assigned numbers and then subsetting by _N_ to the number of observations we want. We may even be savvy enough to randomly subset the dataset first to an N somewhere between its original size and the N we need. But what if the dataset and the number of samples are large? You can wait days for the program to run, or you can sample in memory using arrays and output the observations for each sample to a format. This sample, random sampling source 4
50 HTML for the SAS Programmer Lauren E. Haworth With more and more output being delivered via the Internet, a little knowledge of HTML can go a long way toward improving the appearance of your output. This paper introduces some simple HTML coding techniques that are useful for SAS programmers. The paper will show how your SAS output is converted into HTML, and demonstrate HTML tricks that you can use in your SAS code to dress up your SAS HTML output. The examples in this paper are based on SAS version 8. sas output, title statement, ods html, proc step, proc template source 9
51 Integrating SAS and OMR Data Scanning Technology to Improve Efficiency with Database Management Peter H. Coulson Administrators rely on management information systems when making important decisions. The management information system may not contain all the data elements necessary to make informed decisions. When the management information system does not contain the necessary data, research projects are conducted to complement existing data. These research projects can be labor intensive and time consuming. Combining Optical Mark Recognition (OMR) technology with SAS can expedite the process. OMR technology is the scanning of forms with darkening dots. OMR technology enables researchers to customize the information gathering forms, develop multi-page booklets. and program the scanner to recognize obvious errors. OMR and SAS can provide more accurate data without keypunching and with minimal time devoted to database creation. Automating database creation and expediting data collection can provide more accurate data with less labor. flat file, mis, dataset, management reporting, sample, excel, proc sql source 3
52 Intelligent Agents and Applications in Enterprise Computing Anthony M. Dymond The enterprise computing environment Is becoming increasingly complex. Large volumes of data, applications operated by multidisciplinary experts, data requiring interpretation by subject matter experts, and staff turnover place a significant burden on corporations seeking to utilize the latest technologies. Part of the solution lies in shifting complexity into the applications and computing environment by using intelligent applications and intelligent agents. Intelligent applications drive visual and conversational interfaces with embedded intelligence, allowing the application to function as an assistant. Intelligent agents go a step further and provide a semiautonomous application that acts on behalf of the user. At the leading edge of this technology, intelligent agents are able to discover new information sources and learn from their past experiences. data mining, machine learning, proc hpsplit source 7
53 Interactive Report Generation Destiny Corporation (a company) dataset, sas log source 29
54 Interactive Three Dimensional Grpahical Presentation of Analysis of Variation Results Paul Kostenick,
Kenneth Lulay
Engineers, to understand nonlinear behaviors associated with manufacturing processes, use experiments with Central Composite designs. 1MP (SAS Institute Inc.) is a relatively easy to use software package for creating and analyzing such experiments. The output is a polynomial equation describing the response as a function of the experimental variables and their interactions. Lengthy equations are difficult if not impossible for the manufacturing engineer to interpret intuitively. Various methods exist to determine the effects of changing variables on the response, but they are inefficient in terms of evaluating qualitative general trends and interactions. anova, main effect source 3
55 Introducing Attitudinal Data into Your Mix: Integrating Attitudinal and Transactional Data to Better Understand Your Customer Relationships Margaret Coles The collection, management and integration of self· reported customer data when combined with a customer's behavioral data provides significant lift to your customer relationship management (CRM) efforts. customer retention, customer satisfaction source 4
56 Is Your Data Clean? Three Steps in Data Cleaning Mel Widawski There is usually no such thing as a clean data set, and this includes publicly available datasets that have been used for years. There are three steps in data cleaning: I) Discover the problem, 2) Locate the item in error, 3) Correct the error. We will explore each of these areas to discover some short cuts, guidelines, and hints. proc step, numeric variable, proc freq, put statement, interval variable source 5
57 It's not my fault - but I fixed it anyway: From legacy data all over the placeto a consistent, automated analysis system AnnMaria Rousey After twenty years of collecting data, the UC Riverside Families Project had SAS datasets on a DEC/Alpha, Windows machines.and Macintosh, stored on magnetic tape, zip drives and floppies. Each succeeding programmer had used whatever operating system and versiOII of SA& with which he or she was comfortable. Documentation varied with the individual, from extensive to "it's in my head". To create a single, consistent, coherent system, the following four-step process was followed: l. Coding and documentation standards were implemented. 2. All data were moved to SAS version 8.0 running under virtual PC 3.0 on an iBook. This was done in several ways, since the data were originally in different formats and locations. 3. Macros were written to import all future data from the EXCEL datasets, automatically score test protocols and generate contents, descriptive statistics and basic psychometric data. 4. proc step, excel, dataset, proc means, proc cimport source 5
58 Keeping it All Together: An Efficient Project Organization Strategy for the Beginning Programmer Elizabeth A. Roth We are often tempted to retype basic information related to the same project over and over again in multiple programs. In this paper I advocate keeping this information in one central program. which is %included into all other project programs. Not only does this conserve programming keystrokes, it also ensures that the would-be-repeated code is consistent and that any changes made to the code will automatically propagate throughout all of your programs. If you use libnames, formats, or any program parameters that might be called upon in more than one program. than organizing this information in a central SAS program may be beneficial to you. proc step, proc format, proc freq, macro definition source 3
59 Library and File Management: Building a Dynamic Application Arthur L. Carpenter,
Richard O. Smith
In order for a sAS* application to be dynamic, it must be able to automatically :find the programs that make it work and the data that it is to work against. It must know where to write its output and where to store any new data sets that it creates. More importantly it must do these things without intervention on the part of the user. Even more importantly the application must not confuse the components of one project or task with those of another. The structure and organization of the libraries and directories is central to this ability. Dynamic applications are written to be portable across projects and a key component of the application must necessarily be the structure and location of appropriate files and bbraries. While many different styles of organization are possible, a high degree of organization is required. Of course you will need to know what type and how much structure is required for your projects. macro variable, macro definition, stored macro, autocall macro source 7
60 Macros for Euclidean Distances Robert O. Bernstein This paper describes how SAS software was used to measure the Euclidean distances between observations for data on every school in California. Distances were measured in order to test a method of identifying sets of the 100 most similar schools for each particular school. Results are used to compare school performance measures between similar schools in California. Macros handled repetitive calculations on each school, including creating files, producing HTML pages and sorting files. The program used in this report uses only base SAS and should work on all operating systems. Macro code presented is for any level SAS user, but is aimed for SAS users that are beginning SAS macro programmers. sas base, euclidean distance source 6
61 Make Your Life a Little Easier: A Collection of SAS Macro Utilities Peter J. Lund SAs Macros are used in a variety of ways: to automate the generation of SAS code, to simulate functions and subroutines, or even to "commenr out a section of code. This paper focuses on another use of SAS macros: utilities. These macros don't generate any SAS code and they aren't "functions, but they all take tasks I found myself doing repeatedly and bundled them in an easy to reference package. These are examples range in scope from displaying SAS date values to retrieving information about external files, from getting the values of current options to getting a list of variables in a dataset They are meant to be just that - examples. I hope that they will give you some ideas about how to automate some of the tasks you find yourself doing repeatedly. macro variable, sysdate9, date variable, macro loop, macro put, macro definition, %if-%then-%else source 10
62 Making a Data Code Dictionary Using a Dynamic SAS Macro Jichao Sun,
Haiping Luo
This paper demonstrates how to create a code dictionary for any SAS data set, or other types of data converted to a SAS data set, using a dynamic SAS macro. A code dictionary of a data set is a data manual containing variable names, variable labels defining the variable names, variable values, and descriptions defining the variable values. There are three steps to create this code dictionary. First, create two separate data sets each containing character variables and numeric variables. For a data set having only character variables, two situations are considered: if the variable values are appropriate for coding, the variables are put together; if not, then form another group where the two groups are joined. character variable, numeric variable, dataset, excel, proc step, macro variable, label statement, macro definition, proc freq source 6
63 Making a Mountain into a Molehill in a Mainframe Environment Using Multi-Step Processing and other Masterly Maneuvers Tracee Matlock Sharing a mainframe with tens or hundreds of other programmers can be a ftustrating experience for yourself and/or others - especially if your program is c:alling a significant amount of resources, wbicb could slow the processing of your co-workers projects. If all of the data you need to access for your project resides in disk packs, your job is relatively easy, On the other band, if your organization bas multiple forms of data storage media and limits on the number of tape drives you are allowed to access for a single project, then multi-step processing with temporary datasets is the solution for you. Furtbennore, processing time and CPU time is very valuable in today's information hungry world and with large projects, it is important to do all you can to get your program to run as quickly and efficiently as possible. proc step, proc sort, cpu time, dataset, record count source 6
64 Making EXCEL Graphs from PROC LIFETEST Output William N. Anderson In addition to the standard printed output, SAs- PROC LIFETEST produces both output data sets and high-resolution graphs. Nevertheless, for a variety of reasons some customers prefer to generate their graphs in Microsoft EXCEL. The output dats set from PROC LIFETEST is not directly suitsble for this purpose. A macro bas been written which takes the output data set from PROC LIFETEST and generates a tab-delimited file that will produce a Kaplan-Meier style graph in EXCEL. The macro also produces patients-at-risk and patient flow tables in the form desired by the FDA for heart valve submissions *. proc step, excel, proc calis, actuarial analysis, delimited file, macro parameter, out= source 3
65 Matching 1990 and 2000 Census Data Richard O'Reilly Matching 1990 and 2000 Census Data. The U.S. Census Bureau released so-called "redistricting" data from the 2000 Census in March 2001. Consisting of288 fields of total population and adult population by single and multiple race categories and by Hispanic/Latino origin and single and multiple race for persons not of Hispanic/Latino origin, the data contained no comparison counts from 1990. State-wide, county-wide, and city-wide and place-wide totals could be compared directly from 1990 tables. But census tract changes since 1990 prevented direct comparison at the tract level or below. The Census Bureau does not provide population allocation factors to match 1990 data with 2000 geographies. It was necessary for data users, such as newspapers, to create their own allocation factors. At the Los Angeles Times this was done for every tract in the United States using SAS to process 1990 census block data and 2000 TIGER/Line files (census geography) data. proc transpose, array source 3
66 Mining the Touch Point Data and the Acquisition Strategy of CRM Aaron Lai In the acquisition phase of a CRM cycle, we often adopt a 'multiple touch point' strategy by using phone, mail, email or other communication channel. It is important to know how a customer will react to different touch points, or different combination of touch points. The analytical work could easily become unrealistic as the combinatorial computation could soon go beyond reach. Just a 30 touch points system and consider only 5 stages of interaction; the total cases will be 30 to the power of 5 (24.3 million cases!). This is also a path dependent case, as the customer will behave differently if you email first and then call versus call first and then email. This paper is aimed at solving this problem using data mining techniques and other numerical method with SAS. association rules, correlation, proc sql source 4
67 Mouse Clicking Your Way Viewing and Manipulating Data with Version 8 of the SAS System Cyndie B. Gareleck,
Terry Fain
Version 8 of the SAS System offers several powerful ways to view and interactively manipulate data. This paper will focus on four such proc step, sas base, where statement, dataset source 6
68 My Favorite Functions: Using the SAS Macro Language to Create User-Written Functions Peter J. Lund The DATA STEP language component of the SAS System has always been rich in the variety functions available to the programmer. There are currently close to 200 functions available in the DATA STEP. In fact, the SAS Language Guide lists 14 different categories of functions. Even with all this at your fmgertips, there are times when you can't fmd one to do just what you need. In many cases, the SAS macro language allows the wily programmer to overcome these occasional deficiencies and write a macro that looks and acts like a function. This paper demonstrates the use of the macro language to create a number of user-written functions. In addition, the use of macro autocalllibraries and stored, compiled macros are also explored as a means for managing a growing library of user-written functions. macro facility, macro definition, character variable, macro variable source 7
69 ODS for PRINT, REPORT, and TABULATE Lauren E. Haworth For most procedures in the SAS system, the only way to change the appearance of the output is to change or modify the ODS style definition. There are three exceptions: REPORT, TABULATE, and PRINT. These procedures allow you to change the output style attributes on the fly when the output is generated. With these three procedures, you can create almost any type of tabular report. Add in the extra control over style attributes, and you have a reporting powerhouse. This paper will show how to change the fonts, colors, and alignment of your output. You will also learn how to use formats to highlight key results in special colors and use images in table headings. For convenience, all of the examples are shown as HTML output. Except where noted, the examples all work for RTF or printer output as well. proc step, proc print, proc tabulate, proc report, ods html source 9
70 ODS for Reporting with Style Susan J. Slaughter,
Lora D. Delwiche
Wdh the Output Delivery System (ODS) you no longer have to be 118tlsfred with default output. Now you have many ways to produce eye-catching reports, with methods ranging from simple to complex. This paper starts with the simplest one, point-and-crack menus, then shows how you can use the ODS statement to select an ovarall style, how you can control individual features d a report with the STL YE* option, and how you can create your own personalized style with PROC TEMPLATE. Along the way, we include a brief Introduction to the TABULATE procedure, and show how to add Images and highlighting to reports. The range of possibilities is enonnous. Once you understand the capabilities d each feature, you can choose the technique that wiD ghle you the best results with the greatest ease. The Output Delivery System The Output Delivery System, introduced with Version 7 d the SAS System, created a whole naw way of handling output. proc step, proc tabulate, ods html, class variable, output delivery system, proc template, dataset, proc print, ods rtf, sas output source 10
71 ODS Tips and Tricks Lauren E. Haworth Haven't gotten around to reading the entire ODS section in Online Doc? Don't have time to read a whole book on the topic? This presentation will show some simple tips and tricks from my book 'Output Delivery System: The Basics'. In no time you'll be impressing your boss and coworkers with beautiful customized ODS output. The presentation will include easy-to-use techniques for enhancing HTML, RTF, and printer results. proc step, ods output, ods rtf, proc freq, output, ods html, proc template source 7
72 One for All and All from One! Generating Multiple Bar Graphs from a Single GCHART Procedure Grace Conn Data collection implies reporting what one finds. Graphs are a visual way to describe and summarize one's data while spicing up the sometimes-monotonous text report (especially if those graphs are viewed in color on the company's intranet site). This paper describes how four similar GCHART procedures that generated four bar graphs were condensed into one procedure that now generates four individualized graphs using macro variables and conditional code execution. Each graph has a unique reference line and a different color set of bars. The program also controls for graph size, which is determined by the number of observations in the individual datasets. proc gchart, macro variable, if-then-else, %if-%then-%else source 5
73 Output Delivery Goes Web Kirk Paul Lafler In an age of Internet frenzy, output delivery Is experiencing Incredible interest around the globe. The explosion of Internet technologies, especially electronic delivery of data, is on the rise. As digital commerce forces fundamental changes In the nature of business, IT is at the center of these changes. Many organizations are moving toward a customer self-service center model, where information access will be key to survival. As the growth and popularity of the Web surges to unprecedented levels, SAS8 users are beginning to look for ways to transform basic monospace output into an electronic world of glitz and color. This workshop is intended to teach attendees how to convert tired and old output listings into beautiful Web pages for the whole world to see. Attendees will work with base-SAS software, ODS, Microsoft Explorer, and HTML to create exciting Web output. sas output, ods html, proc univariate, output delivery system, file statement source 5
74 Patterns of Infectious Diarrhea Peaks in Southern California: Illustration of a Method to Determine Geographical Pathways Raoul Burchette,
Chris Conteas,
Jatinder Pruthi
We apply a method to ascertain whether we can detect patterns in the geographical spread of infectious diarrheas in Southern California. The method involves lagged partial cor relations of case counts between various sites adjusted for re gionwide effects. Only one significant correlation is detected. However, the method may be useful in other situations when seeking time-delays and periodicity. correlation, partial correlation source 3
75 PROC GLM or PROC CALIS? Diana D. Suhr Traditional statistical approaches to data analysis use PROC GLM whereas Structural Equation Modeling (SEM} techniques use PROC CALIS. Similarities and differences between traditional and SEM approaches will be discussed. Regression, analysis of variance (anova), and repeated measures anova are traditional methods using PROC GLM. SEM with PROC CALIS is a comprehensive and flexible approach to multivariate analysis using observed (measured) and unobserved (latent) variables (Hoyle, 1995). Research hypothesis typically tested by traditional methods may be tested using SEM techniques. Regression and repeated measures analysis of variance examples illustrate traditional and SEM methodologies. Repeated measures anova tests for differences between means and linear trends. The SEM analysis estimates nonlinear trends, variances of measured and latent variables, relationship between latent variable variances, and means of latent variables (initial level and rate of change). proc step, proc glm, proc genmod, proc calis, repeated measures, anova, latent variable, regression analysis, covariance, repeated measures anova, sample, estimate source 5
76 Profiling Serial Killers Karl Glaser Apprehension of serial killers is a high-priority task, one which involves considerable time and effort. Profiling tools can help to focus limited resources toward that goal. This paper details a multivariate approach, which attempts to link the appearance and demeanor of the killer to the 'signature' he leaves on his victims, and tends to confirm the conclusions of Promish and Lester that such a link can be made. proc step, proc candisc, proc cluster, proc princomp source 6
77 Programming Tricks for Reducing Storage and Work Space Curtis A. Smith Have you ever had trouble getting a SAS job to complete, although your SAS code is bug-free? Often, especially when processing large amounts of data, you can exhaust your storage space or the WORK library. Likely, there is a SAS code solution. Herein, the author will share some of his favorite tricks to squeeze more out of storage and WORK library space using SAS code to resolve resource limitations. All of the tricks will use SAS code from BASE SAS@. This paper will cover subjects such as reducing the number of SAS data sets needed in the work !p!ICe, reducing the size of SAS data sets, and cleaning up the work library. The author will concentrate on the DATASETS, DELETE, SUMMARY, and SORT procedures, the DROP, KEEP, COMPRESS, and OUT options ofthe DATA STEP, and the WHERE statemenL SAS programmers at any level can benefit from these tips. dataset, work library, proc sort, proc step, cpu time, sas log, proc means source 5
78 Quantifying Audience Theatre Preferences Using SAS Statistical Procedures James D. Ryan The purpose of this paper is to illustrate how the SAS System may be used to determine the type of theatre performance - comedy, drama or musical - which audiences in a small town in the Midwest prefer. Using time series data on theatre attendance at Emporia State University, the paper shows how to quantify audience theatre preference using several SAS procedures such as: PROC FREQ, PROC UNIVARIATE and PROC REG. In addition to numerous descriptive statistics measures, a chi-square analysis is performed to determine whether or not there is a statistically significant difference in audience preference for the type of performances. Finally, PROC REG is used to determine if trends exist in the data. proc step, proc reg source 5
79 SAS Consulting: New Beginnings Kirk Paul Lafler,
Charles E. Shipp
Trends In corporate America include using top quality short-term resources such as subscription online software services, DP outsourcing, system development outsourcing, in-house consulting and contract programming. SAS consultants are in a favorable position to take advantage of the high demand for their services. Is your energy and skill set up to the challenge? If so, there are benefits and rewards to consider. This paper presents and discusses how you can become involved in the exciting world of SAS consulting and build a successful business as well. sas consultant, sas programmer source 6
80 SAS Direct (Kronecker) Product Techniques Applied to Design Matrices in a Two-Way Cross Classification Balanced Model Example Steven Hoff This paper demonstrates how the sums of squares in a two way cross classification balanced model example can be obtained by matrix manipulation. Using PROC IML, design matrices are created by SAS direct (Kronecker) product techniques with tests for symmetry and idempotency. These results are compared to those obtained by PROC GLM. proc step, proc iml, anova, proc genmod source 5
81 SAS Macro, ODS, and HTML: Summarizing 400 Pages of Output Into One Nice Table Michelle L. Pritchard A common problem for SAS programmers and data analysts is how to present an attractive and concise summary of their analyses. The preferable method is to display results in a set of tables. Tables consolidate findings and facilitate interpretation. Many programmers struggle with the TABULATE and REPORT procedures; others have developed complex macros and PUT statements in order to create tables in SAS. Even then, these tables are only available in hard copy, unless they are imported into word processing software. This paper discusses the use of the SAS macro facility and ODS in SAS Version 8 to prepare a tabular presentation of your findings swiftly and accurately. Included in the discussion is how to output these tables directly to HTML. proc freq, proc step, macro definition, proc print, proc means, sas output, macro call, output delivery system, macro facility, data step source 5
82 Scalable Methods for the Quality Control of Patient Data Michael J. Yee Patient data is the foundation of most health care outcome research. The Lewin Group works closely with patient data to provide our clients with the most reliable and valid analyses possible. To accomplish this goal the Lewin Group has developed many quality control measures to analyze patient data and to detail any discrepancies discovered. SAS software has proven itself to be a valuable tool for the automation of quality control procedures. The two types of quality control procedures performed are duplicate checks and range checks. quality control, macro variable, call symput, unique key, proc step source 6
83 Sinking the Big Hole: Using SAS/IntrNet Application Dispatcher Version 8 Features to Drill Down to the Depths of Your Data Thomas Kunselman Using a dynamic chart drill down tool example, the underlying programming of several SAS/INTRNET application dispatcher and new Version 8 features will be demonstrated and explained. Individuals with a working knowledge of SAS/BASE and MACRO but new to the SAS/INTRNET application dispatcher or Version 8 features will find that the example code can be easily modified for re-use in the creation of new SAS/INTRNET applications. The SAS programming features described include application dispatcher sessions to track drill level and maintain state between broker requests; dynamically generated charts with GraphApplet and the DS2GRAF macro and linking format; implementation of drilldown capability and how to pass parameters between broker calls; and custom methods for securing applications. macro variable, predictor variable, output delivery system, proc step, data step, macro definition, %if-%then-%else source 6
84 Table Lookups: From IF-THEN to Key-Indexing Arthur L. Carpenter One of the more commonly needed operations within SAS programming is to determine the value of one variable based on the value of another. A series of techniques and tools have evolved over the years to make the matching of these values go faster, smoother, and easier. A majority of these techniques require operations such as sorting, searching, and comparing. As it turns out, these types of techniques are some of the more computationally intensive, and consequently an understanding of the operations involved and a careful selection of the specific technique can often save the user a substantial amount of computing resources. This workshop will demonstrate, compare, and contrast the following techniques: IF-THEN, IF-THEN-ELSE, SELECT, user defined formats (PUT function), MERGE, SQL joins, and merging with two SAS data sets. proc step, lookup, by group processing, merge statement, proc sort, if-then-else, set statement, cpu time, dataset source 8
85 Ten Things I Wish I Knew Before I Became an Independent SAS Software Consultant Andrew H. Karp Seven years ago I slipped the bonds of corporate life and started my own SAS Software consulting firm, Sierra Information Services, Inc. This paper describes ten things I wish I knew before I took this step, and will hopefully help others who are considering 'going out on their own.' calendar year, current account source 8
86 The Input Statement: What It Can Do for You David Fickbohm The input statement is one of the most powerful statements in Base SAS. It gives you the ability to read data in about any form. This paper will give you an overview of the power and flexibility of the SAS INPUT statement. input statement, infile statement, character variable, trailing @ source 5
87 The New Look of V9 Web Graphics Himesh Patel,
Frank Wimmer
New development underway for SAS/GRAPH version 9 targets new heights of visual style for SAS Output. The new Style Editor will allow you to easily create stylish presentation graphics. In addition to focusing upon ease of use, new graph rendering technology is being utilized to add sophisticated visual effects to both Java and ActiveX bar and pie charts. This paper discusses the development of these styles and the graphing enhancements being implemented in order to accomplish those new looks. proc template, proc step, output delivery system source 4
88 U.S. Census Bureau Goes OLAP Hung X. Phan,
Lori A. Guido,
Richard A. Denby
This paper describes a technique used to build an Online Analytical Processing (OLAP) system that was developed at the U.S. Census Bureau to be used for the review of Census 2000 long form (sample) data. The system uses the multidimensional database (MDDB) report object in SASIEIS to create 74 commonly used reports categorized by subject, demographic characteristics and geography to allow users to review the data. These reports are presummarized, which enables the users to quickly retrieve multiple levels of aggregate data through a multidimensional view. The system also uses Hybrid On-Line Analytical Processing (HOLAP) techniques to build a "proxy" HOLAP cube. Through the use of the proxy cube, the system registers data from 50 different states and uses the same 74 reports to review the data for all states. Without utilizing the "proxy" HOLAP cube technology, one would have to build reports for each state or 3,700 reports. sample, proc step source 6
89 Using Graph-N-Go with ODS to Easily Present Your Data and Web-enabled Your Graphs Curtis A. Smith Visualizing and presenting data effectively using reports and listings can be a difficult task. The SAS System overcomes this difficulty by offering a wide variety of graphing capabilities with the SAS/GRAPH module. Using the SAS System you can use graphs as a data exploration technique to see patterns, trends, and anomalies and you can present your data as graphs to make data easier to understand. But hey, writing code for those SAS/GRAPH procedures is not for everyone. There is now great news for those who do want graphs but do not want to write program code. SAS recently introduced Graph-N-Go, a completely interactive interface for making several types of graphs from )'l)ur SAS data sets. I know it's a goofy name, but Graph-N-Go is anything but goofy. Graph-N-Go provides you with the facility to create great looking two and three-dimensional graphs without any programming and with only a little effort. dataset, numeric variable, libname statement source 9
90 Using New SAS Features Meeting Requirements for Submission in Electronic Format Karen Walker In this presentation we will make use of some of the new . features found in the cmrent release of SAS software. I will illustrate how to meet requitements gleaned from the guidance documents "Providing Regulatory Submissions in Electronic Format", and "General Principles of Process Validation" for computerized systems. We'll review the system development life cycle (SDLC), define our requirements, develop a short validation plan, and discuss new SAS features coding a SAS/ AF program. data cleaning, proc step, proc copy, sas base source 6
91 Using PROC SUMMARY and PROC PRINT to Create Dynamic HTML Drillable Reports Dan Kirpes This paper will demonstrate how to create 1ITML drillable reports using PROC Summaly and PROC PRINT This paper will include HI'ML, htmSQL, Base SAS code to generate flexiable and dynamic web page reports. proc step, macro variable, class variable, proc print, macro loop, %if-%then-%else, macro definition source 6
92 Using SAS Enterprise Miner for Forecasting Response and Risk Kattamuri S. Sarma This paper shows how to organize and execute a data mining project for developing predictive models for direct marketing. The steps involved in developing the project are demonstrated using SAS Enterprise Miner"". A data mining process diagiam is included to show the sequellce of steps in the project. The data mim'ng process diagram consists of a number of connected nodes (tools), each node perfonning a particular task and passing its output to the next node. The nodes included in the diagram are: Input Data Source node, Filter Outliers node, Data Partition node, Decision Tree node, Regression node, Assessment node, Score node, SAS Code node, and Insight node. proc hpsplit, proc freq, data mining, insurance risk score, response variable, chi-square test source 10
93 Using SAS Explorer to View File Properties and Catalog Contents Kirk Paul Lafler When you need access to your SAS environment, the ~ Explorer provides users with a delightful user interface. Providing an object-oriented view of SAS libraries, catalogs, and data sets, SAS Explorer acts as the primary interface for browsing your SAS world. Using a multi-pane view of system and user files, this paper shows how SAS Explorer can be used to view a file's properties and the contents of a catalog with a few clicks of your mouse. sas library, libname statement source 2
94 Using SAS for Mining Indirect Associations in Data Pang-Ning Tan,
Vipin Kumar,
Harumi Kuno
Association rules are often used to capture significant dependencies among attributes in a variety of datasets. A typical association rule for market basket data might be of the form, "Purchasers who buy an item x will very likely buy another item y ." We have introduced a new type of dependence relationship called indirect association. A pair of items, x and y, are indirectly associated if they rarely occur together in the dataset, and there exists a set Z such that the presence of x or y in a transaction is highly dependent on the occurrence of items in Z. Indirect association has found its applications in retail, textual and stock market domains. In this paper, we describe the implementation of a prototype system for discovering indirect associations using SAS. We have tested the prototype system using masked data from Hewlett-Packard's online purchase transactions to discover interesting product purchase patterns. association rules, dataset, data mining source 5
95 Using SAS Functions for Power Analysis and Sample Size Estimation Mel Widawski The power of a test is the likelihood of detecting an effect (of a given size), with a test that uses a set alpha and sample size. Conversely if you know the power you want to achieve you can determine the sample size. What do you do if you need to know the power of a statistical test and you don't have a power analysis package handy? The SAS0 Language has a number of functions for calculating probability from the value of a statistic and also calculating the value of the statistic from a pr9pability. This paper will show ~orne simple ways to determine power and ~le size. ': ou will alSo take home some sample programs to help wtth sample stze and power determination. You should also develop a better. understanding of what goes into power and sample size calculations. In order to make use of these functions you need to know h_ow to calculate the non-centrality parameter. We will spend some time on these calculations and some tricks in calculation. sample, effect size, sample size, standard deviation, power analysis, degrees of freedom, student t distribution, correlation, regression analysis, proc genmod source 5
96 Using SAS to Assess Students' Learning in Instructional Technology Courses Leping Liu Tbis paper will present a two-year experience in which the author used SAS to assess students' leaming in several instructional teclmology courses at both undergraduate and graduate levels. SAS was used to perform both static and dynamic assessment aoalyziDa the components related to students' learning, including students' attitudes towards using technology, learning outcomes ofbasic computing skiDs, use of information, computer based instruction and Web based instruction, and technology integration. Repeated measurements, multiple regression, and logistic regression analysis were performed. The procedures, results, plots, and some issues raised ftom the procedures will be presented. regression analysis, logistic distribution, logistic regression, response variable, multiple regression, proc genmod, predictor variable source 6
97 Using SAS V8 to Modify Microsoft EXCEL Spreadsheets Michael J. Yee SAS v8 introduces two new and versatile procedures: PROC IMPORT and PROC EXPORT. PROC IMPORT converts Microsoft EXCEL spreadsheets, Microsoft Access databases, and other common data file types into SAS v8 data sets. PROC EXPORT performs the reverse processes, creating other data file types from SAS data sets. The SAS data sets created via PROC IMPORT can be manipulated just as any other SAS data set. After changes are made to the imported data set, the data set can be subsequently exported back into an MS EXCEL table via PROC EXPORT. This process can be an easy means of performing data changes to a data Set without using SAS. The reverse process can also occur, with SAS data sets being exported into MS EXCEL for example and then imported back into SAS when done. There are subtle and important differences between MS EXCEL data sets and SAS data sets that the programmer must be aware of to ensure a valid data transition. excel, proc step, proc import, proc export, dataset source 2
98 Using Styles and Templates to Customize SAS ODS Output Sunil Kumar Gupta SAS's new Output Delivery System (ODS) feature enables the creation rl various new file types including Rich Text Format (RTF), PostScript and HTML. The standard default style used to control the output is generally well organiZed and sufficient for most purposes. When the default SAS ODS output report will no longer suffiCe, SAS Users can take advantage rl ODS advanced features to customize the output report with styles and tamplates. By having greater control over the report details such as color, font, size, justification, order and labels, the format and quality rl the report Will be enhanced. This paper introduces the concepts necessary to understand and apply the advanced features rl SAS's ODS. Issues in defining and selecting output destinations, selecting output objects and creating customiZed output fileS will be discussed. The focus is on the creation rl custom styles and templates with PROC TEMPLATE for visually appealing output proc template, proc step, proc freq, file statement, sas log source 10
99 Using Table Viewer and Form Viewer Controls in SAS/AF Steven A. Wilson This paper will give SAS/AF developers the basic knowledge required to build an interface to a SAS data set using the Form Viewer and the Table Viewer controls. These controls allow end users to view or edit a SAS data set using a graphical user interface (GUI). To properly use these controls with SAS data sets, a SAS Data Set Model component must be used to identify the SAS data set in use. The communication between these components is referred to as Model/Viewer communication. In this paper we will create frames that employ Model/Viewer communication to browse and edit data. This paper contains step-by-step tutorials for developing frames with these components. dataset, create table, dictionary tables, proc step, proc sql source 10
100 Utilizing SAS Formats Effectively Lang-Feng Tsai SAS formats are powerful tools not only to present data in alternative ways but also to group data, to perform data lookup, etc. Programmers sometimes find confusion or inconvenience while handling SAS formats. In order to utilize SAS formats appropriately and effectively, some useful tips about SAS formats are presented. Topics covered are as follow: How to transfer formatted values and unformatted original values. How to store permanent formats in different ways, how to reference permanent formats and search a format in a catalog, and how to read data if permanent formats are not available. How to transfer numeric and character formats, how to mix user-defined formats with SAS formats, and how to use date/time formats appropriately. How to group or classify data using format statement, proc format, put statement, time., proc step, character variable, catalog source 4
101 V6 to V8 Applications: To Web or Not To Web? Sharon Muha,
Elizabeth Malcom
When upgrading a V6 SAS/AF application to V8, what are the possibilities? Should the application be web-enabled? If not, why not and what are the other options? Should it make use of Java technology? What are the platform restrictions? What are the interface issues? Are there data-integrity concerns? These questions are just some of the issues that must be addressed when retooling applications. This paper steps you through the decision-making process and highlights decisions made by developers who were tasked with upgrading a SAS Publications Division V6 SAS/AF FRAME application to a web-enabled V8 application. dataset, management reporting source 4
102 Version 8 ODS (Output Delivery System) Destiny Corporation (a company) This presentation is designed to demonstrate the different possibilities we use when we build web based applications for clients and teach them the web publishing techniques we use with SAS Software. Actual examples are available on our web site. proc step, proc tabulate source 8
103 Version 9: Scaling the Future Diane Olson,
Robert S. Ray
In Version 6, SAS introduced the SPDS (Scalable Performance Data Server) as a technology to exploit SMP (Symmetric Multi-Processor) hardware for speeding up data services. In Version 9, BASE SAS Introduces the SAS Scalable Architecture (SSA). SSA makes parallel processing and partitioned 110 constructs available to the entire SAS System for the first time. What does that mean to you? It means that some elements of your jobs will take full advantage of SMP architectures to reduce time-to-solution for critical tasks. This paper presents an overview of this new strategy to improve your compute and 110 bound tasks, including specifics on how you may get a significant performance increase for your SAS jobs. proc step, proc sort, proc means, sas base, cpu time source 5
104 Web Enabling Your Graphs with HTML, ActiveX, and Java Using SAS/GRAPH and the Output Delivery System Curtis A. Smith Using the SAS/GRAPH procedures and the Output Delivezy System (ODS) you can output your graphs to web enabled HTML files. Using the flexibility of ODS, you can include the grapbs as static GIF or JPEG files, or create interactive, customizable graphs for web distribution using ActiveX controls or JAVA applets. This is really cool stuff. I could not believe my eyes the first time I saw it in action. In this paper I will lead you through the ODS code statements and options under SAS version 8 for MS-Windows needed to turn plain SAS/GRAPH procedure output into something dazzling. No need to be a SAS/GRAPH wizard to learn this stuff. ** I was not. Just wrap your existing SAS/GRAPH code with a few ODS related statements and a few other tweaks, and your HTML customers will not believe their eyes! numeric variable, proc freq, scatter plot source 6
105 Web Log Data Cleansing and Dynamic Excel Reporting Kunling Lu Kaiser Permanente Online (www.kponline.org) provides health infonnation and services to more than 8 million members across the United States. This paper summarizes a year of work on serverlog data processing and reporting using the SAS software. The paper is instrumental to SAS programmers who deal with web log data. Web server logs track vital infonnation about users' online activities. Web logs are massive and messy. The data flowchart illustrates the KP Online web log data uploading, data cleansing, and reporting processes. The six core SAS programs read raw data and store them on the IBM mainframe, parse URL filed in the serverlogs, patch missing MEM_REF _IDs, determine user status, calculate session length, and write customized reports. You will learn how to create dynamic EXCEL report. excel, proc step, filename statement, proc sort, dataset, batch job, data cleaning, proc sql, macro definition, macro variable source 6
106 Web Publishing in SAS System Destiny Corporation (a company) This presentation is designed to demonstrate the different possibilities we use when we build web based applications for clients and teach them the web publishing techniques we use with SAS Software. Actual examples are available on our web site. proc step, proc tabulate source 8
107 Web-Enabling a Client/Server OLAP Application Using SAS/IntrNet's MDDB Report Viewer Mary Federico Katz,
Bob Rood
SAS/INTRNET's MDDB Report Viewer (MRV) enables users to obtain multidimensional reports and graphs via their web browsers. We chose to web-enable an existing client/server OLAP application because of the appropriate fit, the expected quick conversion time, and the additional functionality it provided During the development effort we realized that we needed to customize the MRV in order to replicate an important feature of the client/server application. We also wished to alter the default appearance of the MRV. Qualex Consulting Services, Inc. provided the technical expertise in the development of these MRV enhancements. macro variable, sas base source 6
108 What about a PROC RATES for All of Your Rates and Proportions Needs? Tyler C. Smith,
Besa Smith,
Margaret A. K. Ryan
Often times in research investigators are faced with the challenge of acquiring denominator data in order to properly analyze their hypothesis with regression type techniques. This makes it possible to adjust and control for influential covariates on the outcome of interest. Sometimes denominator data are simply impossible to attain but general proportions of the populations being studied are available and known over time. Crude rates and their associated confidence intervals, although unadjusted for other possible covariates, can be extremely useful in gaining an impression of these data, particularly when sample sizes are small. In these situations and others, where investigators only wish to see simple crude rates and confidence intervals, wouldn't it be nice to have a PROC RATES? Until that time, this paper suggests ways to calculate crude rates, direct adjusted rates, and their corresponding confidence intervals. confidence interval, proc step, proc freq, sample, normal distribution, binomial distribution, nominal variable, output delivery system source 6
109 What's Your _TYPE_? Finding the CLASS You Want In PROC SUMMARY Frank A. Ferriola When using the CLASS statement in your PROC SUMMARY, SAS will calculate every possible combination of the CLASS variables. By understanding the way SAS summarizes, you can find a simple way to detcnnine which summaries you really want to keep and eliminating the others. proc step, proc means source 4
110 Who Needs To Know Program Syntax When You Have Enterprise Guide? Destiny Corporation (a company) Why use Enterprise Guide? Programming in SAS has always been the biggest obstacle for analysts. This course will demonstrate an incredible new tool that will allow you to create reports, statistics, graphs and assemble data in seconds flat. This software will also build the program for you with perfect syntax. You don't have to code anything. This is the best tool SAS Institute has developed for day to day SAS user needs. sas enterprise guide, proc freq source 6

Back to Conf go 2002 go 2000

This site serves as a convenient hosting location and does not work as a publisher. All copyrights belong to their respective owners.

The information on this site is provided for general reference purposes only. Whilst every effort is made to ensure that the site is up to date and accurate, no warrant, nor any responsibility or liability for, the accuracy or completeness of the content or for any loss which may arise from reliance on information contained in this site is provided. Links to other sites are provided for your convenience but no responsibility or liability for the content of those sites or of any external site which links to this site is accepted. References to any specific commercial product, process, service, or corporation are also for information only, and do not constitute endorsement, recommendation or favoring.

SAS is a registered trademark of SAS Institute Inc. SAS, Statistical Analysis System, and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. ® indicates USA registration.