HOME QUICK SEARCH AUTHORS KEYWORDS HELP BUGS

SESUG 2001 Papers - Index

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

# Title
×
Authors
×
Abstract
×
Keywords
×
Extras Pages
1 A Beginner's Tour of a Project using SAS Macros Led by SAS-L's Macro Maven Ronald J. Fehd SAS Macros and the SASMacro Language are simple yet powerful tools. Once you understand how to use and write macros, your next task is to understand how to you use them consistently and more importantly, intelligently, from a programmer's point of view. This tutorial presents the basics of project design with an macro variable, proc step, data dictionary, macro conditional, proc freq, macro definition, macro put, sample, macro loop, output delivery system, macro facility source 9
2 A Confidence Interval Approach to Gene Chip Analysis Jennifer L. Waller Recently, gene chip technology and data generated from this technology have given statisticians a new realm in which to develop statistical methodology. In gene chip analysis, mRNA from a tissue sample for a disease of interest is isolated and placed on the chip. From expression data generated from the chip, we then determine what genes are highly expressed for the particular disease of interest. The challenge is to find approximately 100 genes from 12,000 that warrant further investigation. To further complicate matters, gene chips are very expensive (~$1000 each) and sample sizes tend to be very small, with n<5 chips typically used. Using SAS 8.0 /Ge2 under Windows 2000 /Ge3 and programmed mostly within a DATA STEP, a confidence interval approach was developed that examines various thresholds for gene expression. mRNA from 8 normal and 8 apolipoprotine AI (apo AI, a gene known to play a pivotal role in HDL metabolism) knocked out mice were isolated and 16 gene chips were analyzed sample, confidence interval, normalization source 6
3 A Couple of Tasty SAS Programming Tunes Paul M. Dorfman Of all wildly different questions asked by daily participants in SAS-L jam sessions, programming problems in the strict sense of the word represent a relatively small part. An even smaller fraction belongs to interesting, difficult, or unconventional problems. While SAS programming puzzles of this nature stubbornly resist brute force, they quite often yield to a good measure of general-programming, not necessarily SAS-specific, thinking, applied before the first line of code has even been typed. When as a result, an efficient and complete SAS solution falls in place as if by magic, it feels not unlike finding a beautiful tune. One who discovers the music is rewarded by a SAS programming melody so tasty that it just must be heard outside of SAS-L. This presentation is an attempt to share a couple of such programming tunes with the SSU audience hash table, usage rating, sas programming, conditional do loop, macro variable source 9
4 A Generic Solution to Running the SAS System on the Web without SAS/IntrNet David L. Ward Many organizations are not able to afford SAS/INTRNET but desperately need to provide dynamic web-based content to users, usually in the form of on-line reports. Sample CGI scripts that invoke the SAS system have been offered at various user group conferences, but a complete alternative has not been available. This paper will demonstrate the installation and usage of this alternative, as well as show examples of reports generated real-time in a web-browser using only Base/SAS. You will learn to create HTML forms that pass parameters to a SAS program that displays a table or graph according to what a user has chosen. You will also learn to use ODS to generate presentation-quality output macro variable, sas base, proc step, data step, proc sql, sample, ods html, macro definition source 8
5 A SAS Approach to WEB-Based Surveys Bernard R. Poisson The United State Air Force had a problem. Its existing methods of collecting information from its people were time-consuming, error-prone, and costly. Not any more! The Survey Engine, based on SAS /IntrNet solved those problems once and for all! The Survey Engine provides the ability to host any number of Internet/Intranet surveys concurrently without in-depth computer or Internet knowledge or experience. All questions and response- sets are stored in SAS data sets, independent from any display characteristics, giving them greater flexibility and reusability. This application provides a powerful, efficient, and cost-effective where statement, complete response source 9
6 A Scorecard Approach to Improving Data Quality Robert W. Phelps,
Phil Nousak
An ever-increasing number of strategic and tactical business decisions are being made from analyzing data gathered in Data Warehouses and Data Marts. Bad decisions, poorly performing predictive models and monetary losses result when data quality is not monitored. What you think you know about your organization, your customers, or your suppliers may be distorted by undependable data. Data quality cannot be improved independently of the process producing the data or the context in which the data is to be used. Technology-only approaches are not sufficient to provide sustained data quality improvements. The road to data quality improvement involves several factors. These include a technical understanding of the data and data gathering processes. It also includes the establishment of a reporting process to monitor changes in data quality as well as people with well-defined roles, responsibilities, and authority to develop a culture that supports data quality improvement data cleaning, data validation rules, data governance, raw data, trend analysis source 9
7 A Simulation Study to Compare the Performance of Permutation Tests for Time by Group Interaction in an Unbalanced Repeated-Measures Design, Using Two Permutation Schemes Mark S. Litaker,
Bob Gutin
The use of permutation tests for the analysis of data incorporating repeated measurements presents a choice of possible permutation schemes to generate the empirical null distribution of the test statistic. A commonly-recommended scheme keeps the vector of observations for each subject intact, with permutation based on group membership only. Another option is to permute the observations across the time points as well as relative to treatment group. These two permutation schemes are compared with respect to power and preservation of the nominal alpha level in testing for a time by group interaction using simulated data based on a randomized trial of effects of an exercise program. SAS PROC IML is used to generate correlated observations under the null and alternative hypotheses which are then analyzed using PROC GLM. P-values are obtained for the usual F statistic and for each of the permutation tests permutation test, group by, null hypothesis, f-test, anova, standard deviation, sample, proc step, interaction effect source 5
8 AA MMoodduullaarr AApppprrooaacchh ttoo PPoorrttaabbllee PPrrooggrraammmmiinngg Michael A. Litzsinger macro variable, options statement, macro facility source 8
9 Advanced Macro Topics Steven J. First The SAS macro language continues to be an integral part of the SAS system, and can be a wonderful tool or an overcomplicated solution. This paper will be of interest to macro users that would like to more fully understand the macro system. This paper will discuss the following topics: 1. Macro data structures and timing 2. Local and Global referencing environments 3. Quoting 4. Macro and DATA STEP functions and call routines 5. Debugging and tracing techniques 6. Autocall facilities 7. Design considerations 8. Alternatives to SAS macros 9. Changes and enhancements with Version 7 and 8 macro variable, macro facility, proc step, macro put, data step, macro definition, call symput, proc print, put statement, run, macro function, sysrc, autocall macro, macro loop, macro quoting function, %if-%then-%else source 8
10 Advanced Methods to Introduce External Data into the SAS System Andrew T. Kuligowski The SAS System has numerous capabilities to store, analyze, report, and present data. However, those features are useless unless that data are stored in or can be accessed by the SAS System. This presentation will provide a brief introduction to many of the different proc step, proc sql, proc import, excel, dataset, sql pass-through, libname statement, sample source 10
11 All I Really Want ... A Wish List for New SAS Software Enhancements Peter Parker Having used both SAS software and computers for over 21 years, I've seen many changes in both, almost always good. Major improvements will continue to be made and we'll look back five years from now, amused at what we called state-of-the-art today. Remember when a 486 PC with a 20 MHz clock speed, 4 MB of RAM and a 300 MB hard drive was considered the dream machine? Remember when packing a million transistors on a chip was a major breakthrough? The latest computer chips have over 42 million transistors. In order to advance technology, we must first determine what needs to be improved. While SAS software has proven itself to be adaptable, dependable, and robust, it, too, will become better. Here is my wish list of changes that I hope will become part of the SAS software system soon: System Enhancements 1. Run- time SAS applications 2. Multi-threaded processing Application Development Enhancements 1. Import Wizard for most types of data 2. GUI code generator 3. Intelligent Printing 4 sas base, macro definition, proc step, excel source 7
12 An Assembler Written in SAS Edward Heaton Is SAS a programming language, i.e. can it handle problems typically in the domain of a real language like C? To prove the point, when I was asked to write an assembler for a hypothetical machine (Leland Beck's SIC/XE) as a class project for a Systems Programming class at Johns Hopkins University, I chose to write the program in SAS. This paper will present the programming strategy, techniques, and problems encountered in carrying out the task. Structured programming methods will be emphasized. Macro is used. Numerous functions and formats will be encountered along the road to success. In short, a lot of basic SAS is used and can be learned in this presentation macro definition, call symput, end, error message, proc step, proc sql, macro variable, %if-%then-%else source 10
13 Anyone Can Learn PROC TABULATE Lauren E. Haworth SAS Software provides hundreds of ways you can ana- lyze your data. You can use the DATA STEP to slice and dice your data, and there are dozens of procedures that will process your data and produce all kinds of statistics. But odds are that no matter how you organize and analyze your data, you'll end up producing a report in the form of a table. This is why every SAS user needs to know how to use PROC TABULATE. While TABULATE doesn't do anything that you can't do with other PROCs, the payoff is in the output. TABULATE computes a variety of sta- tistics, and it neatly packages the results in a single table. Unfortunately, TABULATE has gotten a bad rap as being a difficult procedure to learn. This paper will prove that if you take things step by step, anyone can learn PROC proc tabulate, proc step source 9
14 AppDev Studio Release 2.0 Carl LaChapelle Version 2 of AppDev Studio is shipping! What is AppDev Studio you ask? AppDev Studio provides a single interface for the development of thin- and power-client business intelligence applications. It is the first suite of application development products tailored specifically for developing information delivery applications. It draws upon the proven strengths of SAS software, including an open architecture for developing solutions on every major Web standard on both the server and the client side. This presentation will highlight many of the enhancements that have been made to this release of the software with live demonstrations of new features available in webAF and webEIS, two of the components that make up the AppDev Studio bundle. A copy of the finished paper can be found under the Reference link on the AppDev Studio Developer's Site (www.sas.com/rnd/appdev) business intelligence, class variable source 1
15 Are Strings Tying You in Knots? Deb Cassidy If the answer to the title questions is "YE", then this presentation is for you. You will learn how to make sure you get the entire string "YES" when creating a new variable. But that is just the beginning of some of the fun you can have with character data. This presentation will walk through examples of cleaning up your character data before you can use procedures such as PROC FREQ. Some of the functions to be covered are SCAN, TRIM, LEFT, INDEX, COMPRESS, COMPBL, DEQUOTE and TRANWRD. This presentation uses BASE SAS/GD2 and is aimed at beginning users although all users may learn a new, helpful function proc step, proc contents, length statement, logistic regression, proc print, character functions, proc freq, substr function, logistic distribution, regression analysis, if-then-else source 10
16 Avoiding a (Graphic) Identity Crisis with ODS HTML Styles Jaclyn M. Whitehorn The new SAS Output Delivery System (ODS) enables any SAS programmer to produce professional-quality output. In particular, the ability to generate HTML output directly from every SAS procedure was highly anticipated by the SAS user community. However, it is doubtful that the default HTML output fulfills any site 's Web publication standards. The capability of defining a custom ODS style is provided through PROC TEMPLATE, but it is not for the faint-of- heart. There are a number of new concepts to learn, and the amount of documentation is small but growing. Furthermore, there are some odd inheritance structures in the default templates provided by SAS Institute, which makes editing them a greater challenge than necessary. This paper is intended to serve as a "getting started" guide for those users that need to modify the default templates in order to create their own styles. It also introduces an alternative style inheritance structure ods html, output delivery system, sas output source 5
17 Avoiding Entanglements: Migrating Applications to the Web Eric C. Brinsfield After many years of developing SAS/AF applications, most of us find ourselves facing or pondering conversions to Web-based SAS applications. Before beginning the process, we need to ask ourselves a series of important questions. For example, is the end result worth the cost of migration? Or, should we convert the entire application or just parts of it or should we just start over? And, what tools should we use in the new Web-based software? In this paper, I will discuss many of the issues that we should take into consideration when preparing for and planning a migration from a fat-client application to a thin-client browser application. I will present specific case studies that illustrate successful migration paths sql server, phase iii, proc sql, data mart source 6
18 Basic Macro Processing Destiny Corporation (a company) macro variable, macro facility, &variable, macro definition, proc step, macro call, proc print, symbol table, macro parameter, %macro parameters, automatic macro variable, keyword parameter, missing value, macro put, macro quoting function source 6
19 Basic SAS PROCedures for Generating Quick Results Kirk Paul Lafler As an IT professional, saving time is critical. So is delivering timely and quality looking reports to management, end users, and customers. The SAS System provides numerous "canned" PROCedures for generating quick results to take care of both... and more. Attendees will see how basic SAS PROCedures such as SORT, PRINT, SQL, and FORMS are used to create detail reports; how CHART, FREQ, MEANS, PLOT, and UNIVARIATE are used to summarize and create graphical, tabular, or statistical output; and several useful techniques including how to inform the SAS System which data set to use as input to a procedure, how to subset data using a WHERE statement (or WHERE= clause), and how to perform BY-group processing to separate data into groups of like information proc step, proc sql, proc means, proc print, footnote statement, quit, where statement, proc freq, proc univariate source 10
20 Behind the Scenes at SAS-L Francis J. Kelley source 1
21 Biotech Warehouse - Stretching the Limits of Columns Larry D. Bramblett source 2
22 Bootstrapping a Multidimensional Preference Analysis E. Barry Moser,
Xiaoming Liang
Preference data are frequently collected to help decision makers prioritize items, or are measured on subjects, such as animals, and used to help infer preference for or avoidance of resources. Multidimensional preference analysis may be used to construct a biplot of the items and subjects in the space of a few components as an aid to interpretation and presentation of results. The variability associated with the objects in the plot, however, is frequently not shown. The SAS/STAT survey sampling PROCEDURE SURVEYSELECT is used to select bootstrap samples from a preference data set, then multidimensional preference analysis is performed with the SAS/STAT PRINQUAL procedure to produce estimates of the variabilities of objects. Next the SAS/GRAPH GPLOT procedure is used to produce a variety of graphics using the bootstrap information that can then show the precision with which objects are estimated in the components space bootstrap, sample, proc step, random sampling source 4
23 Building a SAS Intranet Site Tim P. Williams Intranets are now common in both large and small organizations. These internal websites provide a way to present vast quantities of information in an organized and searchable form. This paper describes the construction and implementation of an intranet site developed by the Analysis Programming staff of PRA International in Charlottesville, VA. Methods for content development and display of SAS coding examples are illustrated. Management of SAS coding projects is discussed in terms of how a database-driven website can increase the efficiency of a programming team and lead to a better deliverable product. It is hoped that this paper will stimulate discussion on how intranets may better serve SAS programmers in the pharmaceutical and other industries ods html, data cleaning source 5
24 Case Studies in Data Management on the Web Carol A. Martell The Highway Safety Research Center(HSRC) at the University of North Carolina in Chapel Hill uses the data management capabilities available through SAS/INTRNET CGI Tools for several projects. This paper will examine three applications. The PBCAT Order application captures information, forwarding relevant fields to a fulfillment house. The Walk to School application collects data from the web and quickly resurfaces that data after human scrutiny. The PedBike Information System is similar to a problem tracking system. Questions are directed to a team of experts. Both questions and answers are entered into the system, creating a searchable database. This paper describes the structure of these projects, which incorporate base SAS, SAS/SHARE and two SAS/INTRNET components (htmSQL and the Application Dispatcher) in a Solaris environment proc sql, batch job source 10
25 Changes & Enhancements for ODS by Example (through Version 8.2) Sandy McNeill The purpose of this paper is to show through example some of the new ODS features and options that have been added for SAS Version 8.2. Some of the highlights are: production PDF destination; template options which allow the invocation of a macro or evaluation of an expression using values from other columns on the same row; in-line formatting for the PRINTER and RTF destinations which allows a finer control over page breaks, subscripting, superscripting, formatting of particular words in a cell instead of the entire cell; and style control for titles and footnotes for the PRINTER and RTF destinations. This paper will talk about each of these topics along with some examples proc step, title statement, proc print, footnote statement, proc template, user-defined format, output delivery system source 7
26 Changes and Enhancements to PROC MEANS In Version 8 of the SAS System Andrew H. Karp proc step, proc means, output, class variable, dataset, by group processing, character variable, numeric variable, sas base source 6
27 Conversion of SUDAAN Output into Publication-Quality Tables - A Simplified Approach Charlotte Cates Gard We have developed a program that utilizes the capabilities of the SAS Output Delivery System and the SAS REPORT procedure to generate Rich Text Format tables from SUDAAN PROC CROSSTAB output. Because the SAS Output Delivery System allows style elements to be specified directly in PROC REPORT, the tables generated by our program are in "final form" and require little manipulation to meet formatting requirements. In addition, as most of the formatting is done "behind the scenes," the code is straightforward and can be easily modified for various table configurations proc step, proc freq, response variable, proc report, output delivery system, macro variable, confidence interval, sample, proc tabulate, sample size, sas output, proc format, proc template source 6
28 Creating Adobe PDF Files from SAS Graph Output Patrick M. McGown proc step, proc greplay source 5
29 Creating Java Based Applications Destiny Corporation (a company) dataset, advanced sas source 10
30 Creating Regional Maps with Drill-Down Capabilities Deb Cassidy SAS/GRAPH/Gd2 includes many maps which are very useful. But what if you need a map that truly represents your company? Many companies combine several states into a region. My company does not even follow state boundaries so some states are split across more than one region. This presentation will show you how to turn the county-level map into a region-level map. Of course, with the advent of ODS, no presentation is complete without discussing ODS. The presentation will also cover the extra steps so you can have drill-down capabilities with your new regional map. This presentation uses SAS/GRAPH. It is assumed the audience has some SAS knowledge but may not have used SAS/GRAPH maps or ODS proc step, numeric variable source 6
31 Creating Student Academic Profiles Janice K. McBee University academic advisors rely on data from various sources ranging from a student's experiences prior to entering the university and a student's performance at the university. High school rank, grade point average, and SAT, ACT or other such scores typically make up some of the data elements. Transfer of credits from advanced placement high school courses or from courses taken at other institutions, e.g., community colleges adds to the student profile. In addition, performance at the university should be included in a student profile. The purpose of this paper is to join/merge data from various sources (MS EXCEL files, Banner Oracle tables and SAS datasets) using SAS on data from various sources ranging from a student's experiences prior to entering the university and a student's profile to be used in academic advising. SAS Enterprise Guide tasks and SAS procedures were used to develop a decision model to aid the advisors of freshman students in a particular department dataset, sas enterprise guide, correlation, excel source 4
32 Creating Visit Specific CRF Checklists for a Longitudinal Study Using a SAS/AF Application Emily A. Mixon,
Karen B. Fowler
A longitudinal study recently opened at our Pediatric AIDS Clinical Trials Unit (PACTU) requiring complex study visits, a large number of case report forms (CRFs) and an increased frequency of study visits. To assist both clinical and data management staff in managing and maintaining a visit checklist of CRFs required, we modified a previous SAS/AF application. Five sites in Alabama, Georgia, and Florida send CRFs for data entry to UAB and we have created a Data Management Application (SAS v.8) that generates the expected visits for new patients randomized and also generates the data for the visit specific CRF checklists for each participant's subsequent study visits. The visit specific CRF checklist includes the Patient Id Number, expected visit date range for the next study visit, the study calculated year, month and visit week of the upcoming visit and a list of all the CRFs required for the visit per protocol source 4
33 Cubes on the Cheap Jimmy A. DeFoor ods html, proc step source 6
34 Data Cleaning and Base SAS Functions Caroline C. Bahler date variable, character variable, sysdate9, data cleaning, input statement, character functions, substr function source 6
35 Data Quality - Spinning Straw Into Gold Bob Brauer data cleaning, business intelligence, data integration source 5
36 Debugging Made Easy Andrew B. Ratcliffe This paper focuses on making the process of bug investigation easier. It lists and discusses coding techniques, tools, and debugging techniques that the author has found to be successful. The paper focuses on Base SAS coding, but includes occasional mention of SAS/AF issues macro variable, data step, proc step, sas base, cpu time, work library, %if-%then-%else source 8
37 Defining Test Data Using Population Analysis Clarence W. Jackson Defining test data that provides complete test case coverage requires the tester to accumulate data that will satisfy all of the test cases in the requirements. Having access to production data eases the accumulation somewhat, but then any smart tester knows that testing should not be done in the production data. The next best situation is to completely copy production data, but this can be expensive depending on the size of the files and the amount of testing being committed. Another option would be to build test data based on the requirements, which may or may not match the varied data found in production data. This paper proposes using population analysis of production data as a tool to defining test data coverage. The tools available to provide statistical analysis, such as frequency of data element values and percentages to the total population will provide measurable verification of the test data to the production data, ensuring better results of testing scenarios proc freq, sample, proc step, quality assurance source 6
38 Delivering Information Everywhere Using JSP and SAS Bryan Boone With the advent of the Internet and the increasing mobility of its users, it has become necessary to allow immediate access to data and reports from non-desktop (wireless) devices such as palm pilots and phones. In this paper we will show how SAS technology in conjunction with JSP and Servlets will keep your users connected to their business information on demand source 2
39 Delivering OLAP Solutions to the Web Tammy L. Gagliano What is OLAP (Online Analytical Processing) and how can it benefit your organization? Can you or should you be delivering your OLAP applications via the web? If so, what tools are available to you? These questions and more will be answered during the presentation, which will include live demonstrations of the Java technologies available to you for web-enabling your OLAP solutions. Using tools that are part of AppDev Studio, you can develop applet-based or servlet-based (including JavaServer Pages ) OLAP applications. Comparisons will be made regarding the pros and cons of each approach as well as how the different technologies can be used together to provide a complete solution excel, business intelligence source 13
40 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 numeric variable, proc gplot, proc freq source 5
41 Direct Addressing Techniques of Table Look-Up Part 1. Key-Indexing - Bitmapping Part 2. Hashing Paul M. Dorfman Table look-up is the most time-consuming part of many SAS programs. Base SAS offers a rich collection of built-in searching techniques. Merging, SQL joins, formats, SAS indexes - all serve the purpose of locating relevant data. For custom programming, SAS offers arrays, whose direct addressability lends itself to implementing just about any searching algorithm. Array-based lookup is not a ready-to-go food; it has to be cooked at home. However, it may result in dishes digested by the computer more easily, more programmatically nutritious, and with fewer computer resources ending up in the garbage disposer. This paper shows how arrays can be used to organize the fastest class of in-memory table look-up -- direct-address searching. Three such techniques -- key-indexing, bitmapping, hashing -- are considered in a logical sequence using a real-life example of matching two data files by a common key hash table, key, memory usage, proc sql, missing value, temporary array, character variable, conditional do loop, do loop, sample, data wrangling, mod, array, proc freq, dataset, data merging, lookup, hashing function source 10
42 Dynamically Instantiating Widgets on SAS Frames - Why, How, and When A Sample David L. Ward SAS/AF Frames can be a quick and powerful way to build SAS-based application in your organization. There may be times when you need your users to be able to build frames dynamically, for example, to build data entry screens. It is possible to use the work area class from version 6 to build a run-time frame "editor" by which you can allow users to add/remove/move widgets and set their properties. A frame can then be written which will dynamically instantiate widgets the user has built at design-time. The parent frame can even add and change methods and properties of those widgets as needed. Presented in this paper is a data entry application that allows users to build screens and uses a SAS/AF Frame to draw the screens at run-time. This technique can provide a wealth of rich functionality to your SAS/AF applications, especially if you need your users to design part of your application source 3
43 Elegant Tables: Dressing Up Your TABULATE Results Lauren E. Haworth This paper will show you a number of tips and tricks for designing and formatting your table to make it concise, informative and attractive. The paper then goes on to show how to move your output to HTML and to a word processor so that your results can be easily distributed to others. /Gd8 T proc tabulate, proc step, label statement, format statement, missing value, ods html source 9
44 Energizing End Users with a Slice of SAS and a Cup of Java Randy Curnutt Many corporate information systems have evolved to integrate a diverse mixture of hardware platforms. Although commonplace, the mainframe has been joined by a plethora of UNIX and NT servers as well as an army of personal computers often connected by Local Area Networks (LAN) or Wide Area Networks (WAN). Further, software tools in this environment are diverse. Users now wish to analyze their mainframe data with PC and UNIX tools in addition to using mainframe tools. It is often necessary to migrate data to new platforms because some tools require local data access. Users may become intimidated and stymied by the prospect of finding an easy and reliable method for moving mainframe data to remote platforms. We explore how the flexibility of SAS system architecture, combined with Java programming capabilities, provides instant access in an easy-to- use tool for point-and-click data migration and conversion (OS/390 SAS, DB2 views, Oracle views) to a PC or UNIX/NT servers proc step, excel source 5
45 Evaluating the Use of Enterprise Guide in Introductory Statistics Classes Sandra B. Donaghy,
Joy Munk Smith
Enterprise Guide (EG), a Windows thin client, provides a point and click interface to the SAS System. EG allows users to access all data types supported by the SAS System and utilize the computing power of any Version 8 SAS Server to generate professional reports and graphics from the PC client interface. In addition to the tasks that are available in the point and click environment, EG provides a program editor window where the full power of the SAS System is available through traditional SAS programming. The code generated using the point and click environment is viewable and can be useful for learning SAS programming. This paper includes a handout that we plan to use in a pilot study this summer and our personal evaluation of EG for use in beginning statistics classes. The presentation will include an online demo and discussion of the pilot study dataset, proc sql, sas programming, libname statement, sas enterprise guide, excel, data science, sas syntax, regression analysis, sample source 8
46 Formats, Informats and How to Program with Them H. Ian Whitlock Formats tell how to display stored data and informats how to read them. In other words, they allow the separation of data from the values one works with. While most programming languages provide some sort of formatting capability, SAS provides an extensive system that comes to dominate how one works with SAS. This talk will review some of the supplied formats, show you how to make your own with code or data, and then supply programming examples for how to get the best use of this system proc format, proc step, character variable, format statement, proc freq, dataset, sysdate9 source 9
47 Functional Functions Gary M. McQuown Functions are an important aspect of DATA STEP programming that are often overlooked and under utilized. Not only can functions be used to resolve a DATA STEP dilemma; they can be mixed and matched to create efficient and precise code. The arrival of V8 includes a number of new functions, making it even more difficult to stay up to date. The following prose and examples cover many of the newly introduced functions as well as some unusual error message, sas function, data step, proc step, proc sql source 5
48 Fuzzy Key Linkage Robust Data Mining Methods for Real Databases Sigurd W. Hermansen proc sql, key, record linkage, data cleaning, group by, proc step, dataset, %if-%then-%else, macro definition source 10
49 Generating Matched Case Data Using PROC SQL Imelda C. Go Some statistical methods compare data matched on certain variables. For example, pairs of subjects with the same gender are to be compared. Whenever data from males/females are to be matched with data from other males/females, a many-to-many match is involved. SAS users are discouraged from using the DATA STEP to perform many-to-many matches. PROC SQL can adequately handle such types of matches. The paper is an proc sql, proc step, select, where statement, variable list, proc print, order by source 3
50 GETTING STARTED WITH PROC LOGISTIC Andrew H. Karp logistic distribution, logistic regression, proc logistic, predictor variable, proc step, regression analysis, response variable, odds ratio, estimate, proc reg, proc genmod, confidence interval, data science source 5
51 Graphing in SAS Software Destiny Corporation (a company) proc step, proc freq, bar chart, scatter plot, vertical bar chart, numeric variable, predictor variable, proc gplot source 18
52 Heel Ultrasound As a Predictor of Appendicular Bone Mineral Density Rebecca G. Frederick,
Baton Rouge
Emerging medical technologies for use in the area of skeletal assessment of bone mineral density (BMD) are on the rise, while at the same time the aging population and the incidence of osteoporosis both increase. A new technology, quantitative peripheral heel ultrasound (Sahara Clinical Bone Sonometer, Hologic), measures variables related to sound transmission through the calcaneus. This study evaluates the utility of heel ultrasound in predicting appendicular BMD as determined by dual energy x-ray absorptiometry (Hologic QDR 4500) at the hip in Caucasian females, 65-81 years old. Computations were performed on an IBM 300PL personal computer with Microsoft Windows NT Workstation and SAS software. PROC REG was used for variable selection and model building, while PROC CANCORR provided canonical correlations of the data correlation, proc cancorr, predictor variable, regression analysis source 5
53 How American Express Saved $1M in CPU Charges Hermes Villalobos There are many advantages of using code generators, for example, reducing the number of programming hours, thus allowing the SAS users to focus on analysis. Another example, in cases like this, is reducing the cost of CPU. This project was designed with interaction on multiple platforms: Unix, Windows, and Mainframe. It is difficult to synchronize the programs running on these different platforms. In order to achieve some harmony among the programs, CRT, Microsoft Access, and FTP scripts were incorporated in to the project. This paper will describe how to create a code generator and how to solve the problems related to the multiple platforms and multiple users flat file, sample, excel source 5
54 How Fast Can You Type or Go Ahead,
Get Snippety,
John Charles Gober
proc step, dataset, proc sql source 5
55 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 dem- onstrate 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. /Gd8 I sas output, footnote statement, title statement, proc step, ods html, proc template, sas programmer source 9
56 Ideas on Variable Selection and Alternative Links in Procedure CATMOD Kimberly Hughes DeJarnatt,
John Brown,
Siloam Springs
Two practical features are lacking in SAS PROCEDURE CATMOD: (1) for nominal categories of response, only use of baseline logit link functions admits to maximum likelihood estimation, and (2) no provision exists for automated "SELECTION="model-building. This paper illustrates how both might be implemented, based in the first case on a class of generalized additive models previously presented to SUGI, and improvising on the basis of sweep operations in the second. Agresti-level data sets are used to illustrate the methodology. Even in those cases, we demonstrate that either model fit or power may improve by choosing alternatives to baseline logits. Considerably simplified models often result by zeroing parameters in addition to those suggested by the ANOVA table. The implementing SAS/IML code is available on request. Statisticians and other scientists faced with modeling multinomial response will find this paper of interest. Key words: multinomial, IML, sweep, Wald statistics, logit likelihood function, maximum likelihood estimation, anova source 4
57 Implementing Digital Data Analysis Using SAS Thomas J. Winn Jr. Benford's Law is an empirically-verified mathematical formula which describes the expected distribution of digits in a collection of everyday numbers. Since most people aren't familiar with these theoretical frequencies, it often is possible to compare an actual distribution of digits with the Benford probabilities, in order to determine if the data were contrived (invented, fraudulent, or rounded) somehow. The paper describes the SAS code that was written by the author for use at the Texas State Auditor's Office tolerance interval, proc freq source 4
58 Individual Growth Analysis Using PROC MIXED Maribeth H. Johnson Individual growth models are designed for exploring longitudinal data on individuals over time. PROC MIXED allows the growth parameters for each individual to be examined as random effects in the model. Individual-level covariates can be entered into the model as fixed effects to determine their impact on the dependent variable alone and in interaction with the growth parameters. The structure of the variance-covariance matrix of the repeated measurements can also be examined and entered into the model. A model building exercise will be demonstrated using up to eight systolic blood pressure measurements of youths aged 7-22 proc mixed, correlation, covariance, fixed effects, group by, estimate, covariance structure, longitudinal data, proc step, likelihood function, proc freq source 7
59 Integrating SAS/Connect with Java Randy Curnutt SAS/CONNECT provides an easy and reliable method for connecting remote hosts and executing SAS/GE2COMMANDS on the remote environment. This paper explores the use of SAS/CONNECT in conjunction with the robust Java language. Various methods of integration with SAS/CONNECT will be reviewed, including dynamic program generation to create and run a web-based application, and the dynamic generation and execution of SAS/CONNECT programs to be submitted and executed on remote systems, such as OS/390 mainframes, Unix servers, and NT servers. The following will discuss the advantages and disadvantages of each approach proc step, proc printto source 9
60 Interactive Proc Report Version 8 Destiny Corporation (a company) dataset, sas log, title statement source 30
61 Introduction to the SAS Macro Language Thomas J. Winn Jr. macro variable, macro facility, macro definition, automatic macro variable, proc step, proc print, sas programming, &variable, macro loop source 4
62 Introduction to the SAS Programming Language Thomas J. Winn Jr. This short paper is first in the "Introduction to SAS" sequence of papers. It includes some of a programmer's first steps toward learning SAS. The paper provides a brief overview of the SAS System, as well as an outline of the basic structure of the SAS programming language. In particular, it covers preliminary concepts regarding DATA and PROC steps, the different kinds of data, and SAS data files. This paper, and the associated presentation, is intended to provide a foundation for the next step of learning SAS, that of creating SAS data sets, using the INPUT statement and INFILE options. A Very Brief History of SAS While a graduate student in statistics at NCSU, Jim Goodnight wrote a computer program for analyzing agricultural data. After a few years, Jim's application had attracted a diverse and loyal following among its users, and the program's data management and reporting capabilities had expanded beyond Jim's original intentions data visualization, sas base source 3
63 INVALID: a Data Review Macro Using PROC FORMAT Option OTHER=INVALID to Identify and List Outliers Ronald J. Fehd Data cleansing, or as it is more euphemistically known: data review, often occupies too much of a programmer's time and energy. With a properly written data dictionary, a data set will contain appropriate formats for each variable; one can then cut and paste the format definitions into PROC FORMAT value statements and label all outliers with the value statement option: other="INVALID". This routine combines a FORMATS catalogue and CONTENTS data set, then uses that information to write data steps which select all outliers. Reports are written, by identifier, for print review and to file, for later use as includes for updating purposes. Expected audience is intermediate and advanced programmers and macro users proc format, proc step, macro variable, outlier source 11
64 Knowledge Management Using an Expert System Written in SAS Anthony M. Dymond Expert systems are a branch of artificial intelligence that encode the knowledge and performance of a subject matter expert. An expert system provides a powerful approach to managing and applying knowledge to the business. The paradigm here is to encapsulate knowledge in an automated "expert" who can utilize this knowledge for the company's benefit. An expert system can shield a company from employees leaving with critical information. It can help make knowledge available throughout the enterprise and help solve the problem of "knowing what we know." It can implement business rules to bridge the gap between written policy and practical application. It also allows importing automated subject matter experts when needed. This paper describes an expert system written in SAS and reviews some of the major design considerations. Several knowledge bases are demonstrated to show how an expert's knowledge is encapsulated in a knowledge base and applied at run-time data validation rules, sas base source 7
65 Manipulating Data: Elements of the DATA Step Language Paul M. Dorfman In the SAS/GD2 DATA STEP, you can manipulate data by instructing SAS what to do. However, SAS understands only instructions given in its own tongue. The DATA STEP language (SAS DSL) is simple and powerful, its syntax is crisp and highly readable, and it is easy to learn. In this presentation, we will try to introduce the basics of speaking SAS. Just like in any language, a valid SAS phrase contains meaningful expressions that follow an intelligible sequence. These two principal parts will be considered one at a time: 1. Expressions - basic blocks from which statements are built: Constants - Variables- Arrays- Assignment and Sum- Operators- Functions. 2. Control Flow - the order of execution of instructions: Conditional execution-Branching-Repetition. The presentation should provide an idea about the overall structure and main building blocks of the language used in the SAS DATA STEP numeric variable, sample, dataset, end, missing value, automatic variable, character constant, continue, numeric constant, _eof_, character variable, do loop, set statement, variable, output source 10
66 Multiprocessing with Version 8 of the SAS System Cheryl Doninger mp connect, sas output, proc step, proc sort, elapsed time, macro variable, data step, parallel processing, options statement, macro definition source 10
67 Obtaining and Using Euro Currency Rates in SAS Programs Richard D. Langston source 7
68 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 pow- erhouse. This paper will show how to change the fonts, col- ors, 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. The examples in this paper are based on SAS ver- sion 8.2. The PRINT examples will only work with version 8.2 or later proc step, ods html, proc print, proc tabulate, proc report source 9
69 ODS, YES! Odious, NO! - An Introduction to the SAS Output Delivery System Lara K. Bryant,
Sally M. Muller,
Ray Pass
ODS (originally pronounced 'odious', but now pronounced 'ya gotta love it') is the new SAS System facility, starting with Version 7, that you can use to format your PROC and DATA output in ways just recently only dreamed about. ODS offers greatly enhanced flexibility and ease of use for both new SAS users and experienced SAS users new to ODS. This paper will discuss the basics of ODS, emphasizing proc step, output delivery system, file statement, proc univariate, ods output, output, proc reg, run, ods html, ods listing, dataset, proc freq, sas log, anova, proc print, sas output source 10
70 OLAP Best Practices - What You Need to Consider When Building and Deploying an OLAP Application Greg Henderson SAS/OLAP Server Software is a powerful, flexible and scalable OLAP solution. It's hybrid OLAP (HOLAP) architecture provides the flexibility to store data in whatever format is most appropriate based on the characteristics of the data and how the data will be used. This also means, however, that choices must be made as to what is the most appropriate data model for a successful OLAP application. This paper will identify and discuss the issues that need to be taken into account when designing and deploying an OLAP application access control, star schema, data standard, sas enterprise guide, proc step source 7
71 OOP Needs OOA and OOD Andrew B. Ratcliffe So SAS/AF supports object-oriented programming (OOP), but does that mean that all applications developed using SAS/AF are object-oriented? Not so. This paper provides an outline of an object- oriented approach to producing true object-oriented applications. The paper emphasises a focus on objects, not processes, combined with proper object- oriented analysis (OOA) and design (OOD). Techniques and practices covered in more detail include the use of CRC (Class, Responsibility, and Collaboration) CARDS, the UML (Unified Modelling Language), software modelling, and an iterative source 5
72 Optimal Solution of Discrete Resource Allocation Problems with SAS/OR Software Douglas L. McAllaster This paper is a tutorial on how to use SAS/OR PROC LP to solve integer programming prob lems. SAS/OR (operations research) software includes PROC LP which solves linear programming (LP) problems. This same procedure also includes the capability to solve integer programming (IP) problems, a very important class of problems which models discrete (binary: yes or no) decisions. This paper describes some classic integer programming models, all of which PROC LP can solve. Although the paper is primarily a verbal description of classic LP & IP models (and includes their algebraic formulations in the appendix), my presentation of this paper will focus on graphical representations (which are much more readily intelligible) like those in the appendix proc step, integer programming source 10
73 Optimizing Data Extraction from Oracle Tables Caroline C. Bahler The SAS/ACCESS product for Oracle offers a fast and easy interface for reading Oracle tables - access views or SQL Pass-Thru facility. However, if your extraction requirements include joining Oracle tables or extracting date ranges then you need to know Oracle's "flavor" of SQL. In addition, efficient use of SAS/ACCESS methods may require some knowledge of how the Oracle database was designed and what Oracle operational options are in effect. The objective of this paper is to discuss some of the potential pitfalls and efficiencies when working with SAS/ACCESS to extract information from Oracle. This paper assumes the reader is familiar with the SAS/ACCESS product and specifically targets SAS/ACCESS and Oracle operational and SQL options that can be used to optimize data retrieval. Extracting Data from Oracle ACCESS Views An Access view creates a "road map"to the location of a table and permits data extraction to occur. Access views are created using PROC ACCESS proc step, proc sql, create table, macro variable, variable source 9
74 Overcoming the Challenges of Longitudinal Data Collection Imelda C. Go This paper discusses problems encountered when data are collected longitudinally. Longitudinal data collection implies data collected over time are to be matched on key variables (e.g., social security number, last name, first name). Data for the key variables are not always consistent due to a variety of reasons (e.g., human error, name changes). This lack of consistency creates problems during the matching process. The paper also discusses matching data using the DATA STEP versus PROC SQL proc sql, proc step, data cleaning source 4
75 P153 Avoiding eOverload Gregory S. Barnes Nelson Today, the worlds of high-tech with high-touch are quickly converging. The landscape of this new frontier in business intelligence and customized content has challenged the traditional models of delivering knowledge to diverse constituents. To make the most effective use of these delivery methods, business needs detailed intelligence on how people use information from these sources. In this paper, we will explore the analytical techniques, technologies and tools used to answer real-world business questions, accelerate knowledge transfer, and foster more profitable relationships with customers, partners, employees and suppliers. Specifically, we will explore the business and technology underpinnings of personalization. Then we will examine the analytic and technical approaches to understanding that data as delivered through eIntelligence, click-stream and log analysis techniques market basket analysis, customer satisfaction source 10
76 P505 Florida Community College System Putting Minds,
Jeanette C. Humphrey,
Howard Campbell
dataset, verbatim term source 8
77 P713 Using SAS To Control Multistream Binomial Processes Peter S. Wludyka,
Sheri Jacobs
Process control schemes for multistream binomial processes are described. A multistream process is one in which the streams are uncorrelated or very weakly correlated. When each of the J streams are identical (a homogeneous multistream process) one can use a group control chart (a k-sigma p-chart on which only the largest and smallest of the J sample proportions nonconforming are plotted). A test (runs rule) that signals when the same stream produces the largest proportion nonconforming R consecutive times is presented along with two SAS programs useful for designing runs rule schemes, p-charts, and Chi- Squared control charts sample, sample size, binomial distribution, monte carlo source 8
78 Passing Along SAS Data - SET, MERGE, and UPDATE Andrew T. Kuligowski Once a SAS dataset is created, the user w ill often want to modify it or combine it with other datasets. This presentation will cover three basic comm ands that can be employed to use, reuse, and combine existing SAS datasets: SET, MERGE, and UPDATE. The following topics will be covered in this presentation: The LIBNAME statement - permanently storing your SAS dataset. The SET statement - reusing a SAS dataset. The MERGE statement - bringing two SAS datasets together. The BY statement - controlling the order of integration. * The UPDATE statement - changing an existing SAS dataset. The goal of this presentation is to provide the attendee with the background necessary to permanently catalog and reuse their SAS data. LIBNAME Statement All SAS datasets are stored in SAS Data Libraries. In fact, the standard specification for a SAS dataset contains two levels - the SAS Data Library name, and the individual SAS dataset name, separated by a period, or "dot" if you prefer dataset, libname statement source 9
79 Point and Click Web Pages with Design-Time Controls and SAS/IntrNet Software Vincent DelGobbo SAS Design-Time Controls (DTCs) are a powerful and exciting addition to SAS Web Technologies. These add-in software components integrate back-end SAS software functionality with your desktop HTML editor. You can now create Web pages that contain SAS content in a WYSWIG, point-and-click fashion using any one of several popular HTML editors. In most cases, you do not have to write a single line of code dataset, output delivery system source 7
80 Point, Set, Match (Merge) - A Beginner's Lesson Jennifer Hoff Lindquist merge statement, by group processing, set statement, proc sql, proc step, point= option source 8
81 Power and Sample Size Determination for Linear Models John M. Castelloe This presentation describes the steps involved in per- forming sample size analyses for a variety of linear models, both univariate and multivariate. As an an- alyst you must gather and synthesize the information needed, but you should be able to rely on the ana- lytical tools to accommodate the numerous ways in which you can characterize and solve problems. Ex- amples illustrate these principles and review relevant sample size, sample, correlation, anova, proc genmod, regression analysis, power analysis, proc mixed, standard deviation, covariance, multiple regression, type ii error, partial correlation, fixed effects, proc reg, null hypothesis, one-way anova, primary endpoint, proc glm, predictor variable source 13
82 Problem Solving Techniques with SQL Kirk Paul Lafler Solving technical problems involves the use of good techniques. Data processing problems frequently involve a great deal of data manipulation and computing resources. When confronted with problems of this nature, you could approach them using conventional DATA, and/or PROC STEP methods, or you could use the strengths of the SQL procedure to manipulate and process this data. Attendees will learn how SQL can be used to solve traditional, as well as not so traditional, problems including sorting and grouping data, using summary functions, performing two-, three-, multi-table, and outer joins, and constructing subqueries to pass results from one query to another for further processing proc sql, inner join source 4
83 PROC FORMAT, a Speedy Alternative to Sort/Sort/Merge Jenine Eason Many users of SAS System software, especially those working with large data sets, are often confronted with several challenges. How can one reduce t he data set size and reduce the amount of time required retrieving specific data? In this paper, we attempt to do both using a matching method utilizing PROC FORMAT to replace the CPU heavy Sort/Merge. It is ideal for situations when a key from one file is needed to extract data from another file. It is more apparently useful when at least one of the files is quite large. This method has been proven time and again to decrease CPU by 70 - 80%. This paper is intended for the intermediate to advanced SAS user. It is effective on all platforms and uses Base SAS cpu time, proc format, proc step, data step source 4
84 PROC REPORT: How To Get Started Malachy J. Foley PROC REPORT started as a soupped-up version of PROC PRINT. Now this unique product combines features from PROC PRINT, SORT, FREQ, MEANS, and TABULATE. Because of its special blend of possibilities, PROC REPORT is often the easiest way to do an elegant data listing or a report with descriptive statistics. This tutorial shows how to use the batch versions of PROC REPORT. Via examples, it thoroughly explores the use of PROC REPORT in creating specialized data listings proc report, proc step, proc print, label statement source 10
85 PROC SQL - Is it a Required Tool for Good SAS Programming? H. Ian Whitlock No one SAS tool can be the answer to all problems. However, it should be hard to consider a SAS programmer well versed in SAS, who does not use DATA steps. SQL should be classified with the DATA STEP rather than procedures because it is really a programming language in itself. In the past many good SAS programmers have resisted learning PROC SQL on the basis that it is a database tool and that they can get along without it. It is time (or past time) to reconsider the question and change that belief. SQL has dramatically changed the nature of what good SAS macro code looks like. It can simplify and standardize a number of common SAS programming patterns involving combinations of the DATA STEP, PROC proc sql, proc step, group by, create table, sas programmer, proc print, macro variable, order by, proc freq, macro loop, macro definition source 6
86 Producing Multipurpose Metadata for Data Quality, Trending, and a Data Dictionary John E. Bentley One of the benefits of a data warehouse is that it provides a "single version of the truth". But the "truth", unfortunately, is often difficult to understand, changes quickly, and is only as accurate as the information it is based on. Metadata is needed to assess quality of the data from which the truth is derived, and the same metadata can be incorporated into a data dictionary and used for trend analysis. This paper presents a SAS application that generates metadata in the form of one-way frequencies (for categorical fields) and descriptive statistics (for numeric fields) from newly loaded data warehouse tables, compares current metadata to that produced in the previous load, and then reports changes and anomalies. It also produces a series of html files containing frequencies and descriptive statistics that can be linked to the data warehouse's data dictionary proc means, proc freq source 12
87 Reading and Writing Data from Microsoft Excel/Word Using DDE Dana Rafiee excel, data step, dataset source 6
88 Rev Up Your Spreadsheets With Some V8 Power Peter W. Eberhardt There is a common need to provide read access to data residing in SAS tables. This tutorial will introduce some components of SAS Integration Technologies, then show how to use these components to get SAS data into a MS EXCEL spreadsheet - in some cases, without the need for SAS on the user's computer. This tutorial is geared for any SAS programmer who has a good grasp of VBA. There are few SAS programmers and/or analysts who have not heard the refrain 'Can I have that in an EXCEL spreadsheet?'. And, once provided, the additional and inevitable refrain 'Can you run it again with this one change?'. If you have SAS/ACCESS for PC File Formats, generating the spreadsheets is not too big an issue, assuming you have time to make the change and run the programme. And if you do not have SAS/ACCESS for PC File formats, then you have yet another layer of conversion, additional time, and of course the window of opportunity for errors to creep in excel, sas library source 8
89 Running SAS Applications on the Web Destiny Corporation (a company) sample source 4
90 SAS and Electronic Mail: Send E-mail Faster, and DEFINITELY More Efficiently Roy I. Fleischer,
Sodexho Marriott
With every new software package I install, I look for some application that will enable me to simplify or improve the efficiency of my day to day processes. After all, technology is supposed to make things better, more able, and somehow remove manual processes. This is exactly what happened when I was introduced to SAS' e-mail capabilities. I suddenly found I could, when completing a task, e-mail out the resulting file with the click of a button. I would not need to leave SAS to open e-mail, find the name of the person(s), attach the file(s) after searching for the correct subdirectory, then hit send. Instead, I was able to replace a lengthy administrative task with a single, repeatable one excel, filename statement, cdisc source 5
91 SAS on the Web: How do I get There from Here? Carol A. Martell,
Ruth Marinshaw,
Eric Rodgman
Do you ever wonder what it would take to start using those SAS skills in a web application? Several pieces have to be in place if you want to play. This tutorial will tell you what those pieces are and how to either ask for them or implement them yourself. Your system and web server administrators may not be SAS users. Being informed will help you make friends while asking for what you need! proc sql, libname statement, proc step source 5
92 Sending E-Mail From a Mainframe Using SAS in an MVS Environment Michelle Gillespie,
Douglas A. Pacas
Over 75,000 financial aid checks are disbursed to LSU students each year. In an effort to better serve the student body, a SAS program has been created to send e-mails that notify students when financial aid is posted to their accounts. This automated communication has significantly reduced the heavy volume of calls previously received by campus offices regarding the timing of incoming financial aid moneys. The simple process uses check detail information and e-mail addresses to create an output dataset which is transferred to an SMTP mail server on MVS proc step, proc sort source 3
93 Simplified Software Project Management for the Rest of Us Or a Twelve Step Program for the Chronically Overworked Programmer, Project Leader or Manager Tom Mannigel Many SAS systems such as Data Warehouses are build by one programmer or a single team who are looking for all the help they can get. Unfortunately the so called "Rapid Development Techniques" designed to help quicken software projects are for the most part for huge teams spending millions of dollars or software that's sold by the millions. For that reason these approaches are very complex and require a lot of resources. Something- smaller projects don't have. There's a big difference in the support and resources for a project that the president has bet the company's success on and a "whatever's needed" custom SAS system for a small group of very impatient end users. It's like trying to build a custom home using the same approach you'd use to build a skyscraper. Unhappily you're probable going to waste and not save time. There must be a simpler way. There is source 4
94 Sounds Like a Good Idea, But What's the ROI? John E. Bentley Too many good ideas for using SAS Software remain just that: good ideas that are never implemented. Why? Getting an idea approved and funded as a project largely depends on showing that it has real value, and most organizations select projects based on ROI- Return on Investment. ROI is the net profit that a project generates in the form of either additional revenue or reduced expenses. This paper will introduce SAS users to concepts related ROI, present some essential information about calculating ROI, and suggest how to write a Project Justification Document that includes an ROI estimate. The goal is to provide some insight and suggestions on how to get a project approved. Disclaimer: The views and opinions expressed here are those of the author and not those of First Union National Bank. First Union National Bank does not necessarily subscribe to any philosophy, school of thought, definition, methodology, approach, or process the author describes source 5
95 SQL Processing Destiny Corporation (a company) order by, proc step, proc sql, select, proc print, proc sort source 5
96 SSU2001 Advantages and Disadvantages of Using MDDBs, HOLAP, and SAS/IntrNet in the Development of an Interactive System Richard A. Denby,
Lori A. Guido
The Housing and Household Economic Statistics Division (HHES) of the United States (U.S.) Census Bureau evaluated different SAS technologies to find ones best suited for the development of an interactive system to review the Census 2000 long form data. The three systems that were evaluated access data stored on centralized, large-scale Unix servers and the data are accessed through personal computers (PCs) running Windows 95. All the systems use multidimensional databases (MDDBs), and display the same data, but each system uses distinct SAS technologies. The first system uses a client-server approach, SAS v6.12 and the MDDB report object in SAS/EIS to create more than 3400 commonly used reports. The second system uses a client-server approach, SAS v8.1's Hybrid On-Line Analytical Processing (HOLAP) techniques to build a "proxy" HOLAP cube in addition to the MDDB report object in SAS/EIS , but only 74 reports had to be created format statement, dataset source 5
97 Structuring Base SAS for Easy Maintenance Gary E. Schlegelmilch Computer programs, by their very nature, are built to be flexible. A program is no more than a series of versatile building blocks, stacked in such a manner to produce a desired result. However, the user requirements change over time, and so must the program change to reflect those new requirements. There are a number of w a y st ol a yo u tap r o g r a m ,s oa st om a k ei te a s y to find the places where change is required. And as always; it is far easier to start with a solid foundation than to try and retool after the fact macro variable, where statement source 6
98 Supplier Management with SAS Supply Chain Solutions Edward P. Hughes This paper presents an overview of the SAS approach to supplier management, focusing on the use of SAS' well- established optimization expertise to aid in selecting and evaluating suppliers. The supplier management solutions are explored individually and are shown in the context of a complete spectrum of SAS supply chain solutions data validation rules, odds ratio source 4
99 Survey Estimates and Variance Estimation Using the SURVEYMEANS Procedure Hossein N. Yarandi,
Shawn M. Kneipp
proc calis, sample, proc means source 5
100 Taming the Chaos: Managing Large SAS/AF Applications Using Programming Standards and the Source Control Manager of Version 8 of the SAS System C. Michael Whitney The use of programming teams offers both advantages and disadvantages when compared with individual programming efforts. The team approach allows a wide range of programming skills and problem-solving perspectives to be applied to a project, and may shorten development time. On the other hand, team- developed projects are often marred by differences in programming styles among developers, resulting in inconsistencies in the use of variable names, levels of documentation, and user interface design. Further, without some form of code management, the risk of inadvertently overwriting the work of other team members is always present. All of potential problems can make development and maintenance a chaotic and frustrating experience. This paper will discuss how these problems can be minimized, if not eliminated, by applying some basic programming standards, and by making use of the new Source Code Management system that has been released with SAS version 8 macro variable, sample source 8
101 The Beauty of OUT2HTM with PROC REPORT David Steves Using PROC Reports to Create HTML pages via % OUT2HTM is very easy. This paper describes how Suntrust Bank utilizes this SAS tool to provide its internal customers from over 3600 Bank Branches with product information via the WEB proc step, proc report, macro definition source 5
102 The INPUT Statement: Where It's @ Ronald P. Cody,
Robert Wood Johnson
input statement, proc print, infile statement, sas log, proc step, trailing @, dataset, character variable, date variable, numeric variable source 10
103 The Metamorphosis of a Study Design Marge Scerbo In a perfect world, there would be perfect data, perfect analysts, and perfect programmers creating perfect outcomes to every possible study. Unfortunately, one, two, or all of these factors are usually imperfect. Data are, especially data in large volumes, rarely flawless. Researchers and analysts designing studies may have great ideas of studies to undertake, but may have little idea of whether it can be done or how to do it. Programmers may be incredibly facile with the software, but rarely comprehend all the intricacies needed to complete a study. Thus, study designs are not often etched in stone. Most likely, they are the outcome of a long and tedious process of checks and balances. This paper will take the reader through the process of developing a study design, using SAS software to provide results on which to base outcomes. A health care policy issue will be used as the basis for the discussion, but the ideas should carry across many industries proc step, proc freq source 9
104 The Power of PROC DATASETS Lisa M. Davis,
Blue Cross Blue Shield
The DATASETS procedure can be used to do many functions that are normally done within a SAS DATA STEP more efficiently. For example: /Gb7 Labeling and renaming variables /Gb7 Concatenating and indexing datasets This paper will demonstrate the power of the PROC DATASETS procedure and the enhancements made in V8. This paper is intended for beginning to intermediate SAS users. PROC DATASETS is a powerful procedure that everyone needs to know modify statement, proc step, format statement, delete, label statement, cpu time, data step, dataset, index creation, rename statement, constraint, proc contents source 10
105 The Role of SAS/IntrNet in a Web-Enabled Database System John R. Copeland,
David W. King
Prevention (CDC) has implemented an application, known as the New Vaccine Surveillance Network (NVSN) data system, to study the impact of new vaccines, specifically influenza and pneumococcal. The system allows investigators in Rochester, NY and Nashville, TN to enter patient data, generate reports and graphs, and download data, using only a web browser. The NVSN data system allows users to store and retrieve data from a SQL Server 7 database. SAS/INTRNET , along with HTML, JavaScript, Java applets, and Java Database Connectivity, are used for data extraction and analysis. The SAS Output Delivery System is used to send SAS output to users' web browsers. The system employs a Compaq 7000 for data storage and a Sun E5500 for SAS/INTRNET processing sql server, proc sql, data step, box plot, proc step, dataset, txt source 6
106 The Utter "Simplicity?" of the TABULATE Procedure - The Final Chapter? Daniel E. Bruns class variable, proc step, proc tabulate, proc contents, label statement source 8
107 To Annotate or Not to Annotate, There Should Be No Question! Keith Cranford The Annotate Facility within SAS/GRAPH is a powerful tool for enhancing your graphs. This is one of the tools that distinquishes SAS/GRAPH from other graphing software. This tutorial outlines the basic concepts of the Annotate Facility. Annotate macros, which are provided with SAS/GRAPH software and facilitate the use of annotation, are also discussed proc step, line chart, bar chart, proc gplot source 5
108 Top-Down Programming with SAS Macros Edward Heaton Structured, top-down programming techniques are not intuitively obvious in the SAS language, but macros can be used to approximate a top-down structure. This can lead to programs that are more versatile, more robust, and generally easier to develop. This presentation will review a SAS macro that reads elements from a difficult- to-read ASCII text file that is typically used to control the processing for a COBOL job. Along the way, we will look at the program structure and review the engineering decisions that allow the code to be developed in an organized and robust manner. This presentation will demonstrate methods for macro testing and debugging, as well as various features of the SAS Macro Facility macro definition, dataset, macro call, options statement, %if-%then-%else, macro loop, macro variable, proc step, compress function, missing value, txt, proc sql source 9
109 Transforming Single-Record Spreadsheet Data into Multiple Observations Glenda A. Garner Generating SAS datasets from ASCII files is a simple task. Generating datasets from spreadsheet style data is also easily accomplished in SAS. However, the task becomes much more difficult when dealing with a mixed format of data variables with a varying number of input lines per record. One such example was the conversion process of biomechanical gait data into SAS datasets in the ADAPT study(Arthritis, Diet, and Activity Promotion Trial). This poster will address implementing advanced features of the INPUTstatement input statement, sample source 2
110 Understanding and Using Functions Frank C. DiIorio dataset, date variable, sysdate9, character variable, missing value, normal distribution, macro variable, uniform distribution, datetime, time, binomial distribution, libname statement, error message, gamma distribution, proc means, numeric variable, poisson distribution, chi-square distribution, f distribution, min, student t distribution source 8
111 Use of SAS/AF V8e to Compare Death Certificate Data with Health Survey Data from the National Center for Health Statistics Gretchen K. Jones Determination of Fact of Death is one of the follow-up activities which the National Center for Health Statistics (NCHS) conducts for health surveys. The National Death Index (NDI) is a data base containing information on all U.S. deaths since 1979. To validate a death, the NCHS orders copies of Death Certificates to compare against a more robust set of data than is available from the NDI. The authors have developed a SAS/AF (V8e) application, using the Form Viewer attached to a SAS Dataset Model, which provides a tool to compare NCHS survey data with actual Death Certificates. Access is provided (through push button control) to frames containing data from three different data files. The user compares and "scores" the extent of match of the data variables on a frame with six pages. The final frame gives a summary of scores from the previous frame, with a box for final evaluation of whether the Death Certificate matches the survey data on the files sample, dataset source 5
112 Use of SAS/ETS and the BLS-Census Data Ferret for the Comprehensive Everglades Restoration Program Richard A. March This paper describes the proposed use of SAS/ACCESS, the BLS-Census Data FERRETT and SAS/ETS in the analysis of socioeconomic and environmental justice data for the Comprehensive Everglades Restoration Plan http://www.evergladesplan.org , a co-operative plan between the South Florida Water District and the Jacksonville District of the U. S. Army Corps of Engineers. Particular attention will be paid to the use of the DataFerrett developed jointly by the U. S. Bureau of the Census and the U. S. Bureau of Labor Statistics http://ferret.bls.census.gov The data ferret is an electronic data review and extraction tool designed to facilitate review and extraction of socioeconomic data from massive BLS and Census Bureau databases. The latest release of the DataFerrett is available in a Beta release in JAVA for use on the World Wide Web. One form in which the DataFerret can output data is as a SAS data set. A SAS data set will be extracted and analyzed using crosstabs and frequencies proc step, sample, data warehouse, extract, proc copy, time series analysis, dataset, regression analysis source 7
113 Using Functions and Arrays in the SAS System to Manage and Manipulate Data Ben Cochran Oftentimes, SAS users receive data that is alleged to be cleaned, scrubbed, and ready for an application or placement into a Data Warehouse. Even though the data may be clean, many times further manipulation is needed. This paper examines ways of manipulating data through the use of functions and arrays in the SAS System. This paper is intended for the beginning and intermediate level SAS user. Functions and arrays are a part of the base SAS System; therefore, no other SAS product will be examined in this paper. Basic Data Manipulation Anytime users need to change existing data to meet our application needs, they are manipulating the data. One of the most basic forms of manipulating data is rearranging the order of the observations, or, in other words, sorting it. Sorting data not only rearranges the order of the observations, it allows for by- group processing. An example of this is merging two data sets by a common variable character variable, array, output, set statement, dataset, do loop, input statement, numeric variable, character functions, date variable, ranuni, sas function source 6
114 Using Recursion in the SAS System David L. Ward Recursion is a friend of most 3rd or 4th generation language programmers. It can be used to slice hundreds of lines of code from complex algorithms, or bring a system to its knees after having consumed all its resources. The concept of recursion and useful applications of it using SAS /Macro and SAS/AF software will be presented. You will learn how to traverse directories, trees of information, and other interesting yet challenging topics. After reading this paper you should have a better understanding of when and how to use recursion in the SAS system macro variable, macro definition, %if-%then-%else source 2
115 Using SAS to Create Presentation Quality Spreadsheets in Excel Joyce R. Hartley How often have you been asked to produce a report that has subtotals here, grand totals there, ratios two lines down, bold this label, change that font… in short, a report better created in EXCEL? But all your data are in SAS data sets? Using PC SAS, DDE (Dynamic Data Exchange), and a little bit of cleverness, it's now easier than ever to produce nicely formatted EXCEL spreadsheets that are populated with SAS data. This technique is particularly useful for the report that needs to be repeated for multiple units (i.e. departments), where each sheet needs to be customized. An intermediate skill level in both base SAS and EXCEL is recommended excel, missing value source 5
116 Using SAS/IntrNetTM Software Kevin Davidson This paper will demonstrate the best methods of running SAS programs with SAS/INTRNET software. Examples of SAS programs executed via the web will be shown. Installation issues will be discussed, such as the optional settings of the Application Dispatcher and the efficiencies of each (the Application Dispatcher is the intermediary between the web browser and the SAS programs that retrieve or update data.) One topic will be customizing the broker configuration file and PROC APPSRV (the procedure which invokes the Application Server). Another will be the options for invoking SAS programs proc step, options statement source 7
117 Using the SAS ACCESS Engine for DB2 OS/390 to Bulk Load Tables Robert E. Maitland Jr.,
Blue Cross Blue Shield
The Bank of America Enterprise Data Warehouse resides in a DB2 OS/390 environment. The optimal dataset, proc sql, data mart, create table, stored procedure, data step source 4
118 Using the SAS Annotate Facility for Creating Custom Graphs Patrick M. McGown macro variable, macro loop, sample, macro definition, retain, proc step, proc freq source 8
119 Using the SAS System to Demonstrate the equivalence of On-line and On-paper Survey Administration across Levels of Raters Jim Penny This research used logistic regression to model item responses from a popular 360-for-development survey. The model used method of survey delivery and rater group to identify items that exhibited differential item functioning (DIF). The methods of survey delivery were pencil-and-paper and online by web page. The rater groups were self, boss, peer, and direct report. The sample consisted of 374 survey families where a survey family consisted of a matched set of four surveys: one self, one boss, one peer, and one direct report. Half of the survey families were from a pencil-and-paper administration; half were from an online administration. The sample contained 1496 total surveys. The procedure to flag items exhibiting differential functioning used effect size computed from Wald chi-square statistics rather than statistical significance, resulting in fewer flagged items. The results indicated little evidence to suggest that rating differences exist due to the method of survey delivery logistic regression, regression analysis, logistic distribution source 5
120 Using the SAS System to Estimate Sample Size Requirements for Small Sample Confidence Intervals Confidence Intervals This paper presents an iterative procedure to compute the minimum sample size required for the construction of small sample confidence intervals. The explanation of the process uses the context of computing confidence intervals around the means of item ratings from 360-surveys. The results suggest that the common number of 3 to 5 raters in a group may not provide stable item means, and that the resulting feedback may lack sufficient stability for making valid developmental decisions using item-level feedback standard deviation, sample source 5
121 Using the SAS System to Study the Gender and Level Measurement Equivalence of a Multi-rater Survey Multi-rater Survey This research used logistic regression to model item responses from a popular 360-for-development survey. The survey contained 57 items on 11 scales. The model used gender and rater group to identify items that exhibited differential item functioning (DIF). The rater groups were self, boss, peer, and direct report. The sample consisted of 752 survey families where a survey family consisted of a matched set of four surveys: one self, one boss, one peer, and one direct report. The sample of 3008 surveys contained 76% male and 24% female raters. The procedure to flag items exhibiting differential functioning used effect size computed from Wald chi-square statistics rather than statistical significance, resulting in fewer flagged items. Three items exhibited rating anomalies due to the gender of the rater or ratee. Twelve items exhibited DIF attributable to rater group. In each instance, the apparent effect of the DIF was small logistic distribution, regression analysis, logistic regression, power analysis source 6
122 Using the SAS/ACCESS Libname Technology to Get Improvements in Performance and Optimizations in SAS/SQL Queries Fred Levine This paper highlights the new features in the SAS/ACCESS LIBNAME engines that, when used judiciously, can improve overall engine scalability in the areas of loading/extraction, ASYNC I/O, and SQL-based query optimizations. The new loading/extraction engine features are: * Multi-row reads where statement, libname engine, dataset, proc sql, libname statement, insert source 8
123 V6 to V8 Applications: To Web or Not To Web? Sharon Muha When upgrading a V6 SAS/AF/Ge2 application to V8, what are the possibilities? Should the application be web-enabled? If not, why not and what are the other options? Should it make use of Java/Ge4 technology? What are the platform restrictions? What are the interface issues? Are there data-integrity concerns? These questions are just some of the issues that must be addressed when retooling applications. This paper steps you through the decision-making process and highlights decisions made by developers who were tasked with upgrading a SAS Publications Division V6 SAS/AF FRAME application to a web-enabled V8 application data integrity, data wrangling source 4
124 Version 8 ODS (Output Delivery System) Destiny Corporation (a company) proc step, proc tabulate source 8
125 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 I/O 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 I/O 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
126 Web Based Report Ordering combined with Base/SAS Mainframe Batch Processing Andre Brainard This paper presents a web-based on-demand report ordering system that uses UNIX System Services (USS) and WebSphere to update and report data stored on an IBM OS/390 mainframe. The business user issues a request from a desktop PC and gets the results delivered via e-mail and imbedded URL hyperlinks proc step, batch processing source 5
127 Web-Application Bar Charts without SAS/GRAPH Steve James A picture is worth 1000 words it's said. And while that may be true, producing a picture instead of words can sometimes be 1000 times more difficult. That's particularly true if you're not familiar with SAS/GRAPH and Annotate. The Internet is a great medium for displaying graphics, but producing them can be troublesome. Anything that would make the task more simple would be welcomed. With creative uses of HTML tables and images, you can create a bar chart to display information without using SAS/GRAPH or Annotate. This paper describes how. Note: This paper assumes the reader has a working knowledge of HTML and SAS/INTRNET proc freq, bar chart source 5
128 Web-Intelligence: A Primer Donald J. Henderson,
Ralph Mittl
Web-Intelligence (also referred to as e- Intelligence) is the application of business intelligence and analytics to data resulting from activity at a web site. Given the advent of e-commerce, such data is becoming very important to organizations as they strive to: ‰ Understand who their customers and prospective customers are ‰ Provide appropriate content to their web site customers ‰ Leverage other information they have about customers and prospects from other channels Much attention is given to concepts like web-site personalization engines, click- stream analysis, predictive modeling, web- site optimization (the list goes on). In order to fully leverage this data, it is essential to have an understanding of what data are available and the types of questions that data can help answer. The next step is then to use a proper data warehouse platform to support the access, management and analysis of that data data mining, data validation rules source 10
129 WebHound: Your Best Friend for Web Traffic Analysis Dean Duncan, School of Social Work, UNC-Chapel Hill Dean F. Duncan resource allocation, capacity planning source 10
130 What's Next? Thomas J. Winn Jr. Intended for attendees who have learned the material that was covered in the earlier presentations in the "Introduction to SAS" Section, this short paper concludes the Section by describing some recommendations for the next developmental steps which could be taken by beginning SAS programmers. The paper includes highlights of the following topics: writing customized reports (PROC PRINT, DATA _NULL_, PROC TABULATE, & PROC REPORT), the SAS macro language, and PROC SQL. Recommendations for your next developmental steps Let us assume that one has learned the material which was covered in the earlier presentations in the SSU 2001 "Introduction to SAS" Section. Now, I would like to conclude this Section by describing some recommendations regarding the next developmental steps that could be taken by beginning SAS programmers. Specifically, I will include highlights of the following topics: /Ga8 Output Delivery System, /Ga8 customized report writing, using PROC proc step, proc report, proc tabulate, proc print, macro facility, proc sql, output delivery system, macro definition, sas programmer source 3
131 Who Needs To Know Program Syntax When You Have Enterprise Guide? Destiny Corporation (a company) sas enterprise guide, proc freq source 6
132 Word Pro - JADE_WAP.lwp S. David Riba WAP, Wireless Application Protocol, is an exciting new technology which has significant capab ilities to extend SAS applications across thin client interfaces to portable devices. With WAP technology, SAS app lications can now be totally portable, available to end users via cell phones or Personal Digital Assistants (PDAs) such as cell phones or the PalmPilot. This presentation will explore WAP and discuss the requirements necessary to make SAS applicati ons easily accessible to WAP-enabled devices. It is an introductory paper intended for intermediate to advanced SAS programmers file statement, sas programmer 7
133 XML and SAS: An Advanced Tutorial Gregory S. Barnes Nelson One of the goals for SAS applications developers has been to develop three-tier and n-tier applications where the application logic (business rules) is separate from the data, which, in turn, is isolated from the user interface. In a previous paper (Barnes Nelson, 1999) 1 we discussed how to implement this logic separation using the SAS Component Language. This paper extends that line of thinking by introducing SAS developers to XML. eXtensible Markup Language, or XML, is a protocol of sorts that can be described as a technique for separating data from its presentation. In this paper, we will discuss XML in the context of SAS applications and how it can be used in the preparation and presentation of data. We will explore some of the features of XML that makes it a good partner for SAS-based applications sas programmer, output delivery system source 10

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.