Serendipity

 

 

Section Chairs:

Caroline Bahler

Independent Consultant

Radford, VA

Sally Muller

University of North Carolina

Chapel Hill, NC

 

 

   
   

The Tabulate Procedure: One Step Beyond the Final Chapter

   

Jeffery M. Abolafia and Stephen M. Noga, University of North Carolina, Chapel Hill, NC

   

PROC TABULATE is one of the most powerful and flexible procedures for producing customized reports. In a series of papers Dan Bruns has demonstrated the power of PROC TABULATE, outlining both the basic and more advanced features of PROC TABULATE. However when a customized report is needed PROC TABULATE is often passed over in favor of more time consuming and tedious methods such as PROC REPORT, FILE PRINT, or a series of data steps and PROC PRINT. We feel that this is partly due to the fact that the full potential of PROC TABULATE has not been utilized. This paper demonstrates how PROC TABULATE can be used in conjunction with other basic SAS techniques to produce customized reports. Through a series of examples, we will show how many customized reports produced with PROC REPORT or FILE PRINT can be more easily constructed with the TABULATE Procedure.

   

Jeff Abolafia is a member of the faculty in the Department of Biostatistics at the University of North Carolina at Chapel Hill, as well as, the Director of the Statistical Computing Division at the Collaborative Studies Coordinating Center. Jeff has used SAS for over fifteen years and is the author of several SUGI/SESUG papers. His areas of interest include cinical trials, statistical computing, and research data management.

Steve Noga has been working at the University Of North Carolina - Chapel Hill, Department of Biostatistics, as the statistical computing team leader on the Atherosclerosis Risk In Communities study for the past two years. Before that, he was the Director Of Technical Programs and Services for the National Center For Charitable Statistics. He has been a SAS user in a professional environment for the past eleven years, working on various computer platforms and operating systems. Past SUGI and/or SESUG papers have been on factor analysis, maps, and outputting odds ratios from PROC LOGISTIC in tabular presentations.

   

Computer-Assisted Real-Time Observations: Issues in Data Management

   

Eric V. Bodner and Mike J. Demand, University of Alabama at Birmingham, Birmingham, AL

   

Advances in computer software have made it possible for researchers to record real-time observations of behavioral events and social interactions in natural settings. Such observation systems yield highly complex data sets composed of overlapping second-by-second event and duration codes. Before statistical analysis of the data can be performed, a considerable amount of data manipulation is required. The purpose of this presentation is to introduce the SAS data management conventions we have developed to deal with this type data. The discussion will focus specifically on handling the non-occurrence of event and duration codes, grouping and merging of data across multiple time points, transforming of codes ("chopping time"), and managing of time-related calculations.

Expanding interest in real-time observation is hindered by the small number of experienced SAS programmers familiar with real-time data. With this in mind, special emphasis will be placed on relating the SAS code and programming approach we utilize in our research program.

   

Eric Bodner is an Information System Specialist at the University of Alabama at Birmingham, Center for Aging. He is an experienced network administrator; database manager; and SAS, Visual Basic, Pascal, C++ programmer. He has a BS in computer science.

Mike Demand is a statistical analyst at the University of Alabama at Birmingham, Center for Aging. He is currently pursuing his Ph.D. in Medical Sociology.

   

Developing International Electronic Data Exchange From Negotiations To Code

   

William S. Calvert, FDA/CDER, and Margaret K. Calvert, Service Research, Inc

   

The development of electronic standards for international electronic data interchange is described from a conceptual point of view. Practical considerations and implementation issues are discussed and clarified using SAS code samples to read and write segments of standard data files. Examples will be drawn from standards in development, such as the International Conference on Harmonization of Technical Requirements for Registration of Pharmaceuticals for Human Use expert working group on Data elements for Transmission of Individual Case Safety Reports (ICH: E2b). Related implementation level standards such as those produced by the ICH M2 expert working group and 'standards of convenience' such as SGML, will also be discussed.

* This paper represents the opinions of the authors, no statements are to be construed as positions or policy of any government agency.

   

Biographies not available at press time.

   

Changes and Enhancements to Version 6.11 and 6.12 Under Windows

   

Christine E. Cox, University of North Carolina, Chapel Hill, NC

   

This paper describes some of the more significant functional changes and enhancements in versions 6.11/6.12, outlining differences in the ways in which these changes actually work under Windows 3.11 versus Windows 95. Features discussed include using the online help, use of memory, converting format libraries from earlier versions, changing the colors of the window elements, assigning function keys, using "print manager", use of work.datasets, changing the default working directory, and reading and writing files between the PC and a remote host with FTP.

   

Christine Cox has a PhD in Sociology from Duke University and has been a SAS user for 13 years on multiple platforms and with many types of data, especially very large files. Prior to joining the programming staff at the Carolina Population Center, she programmed for three years in Maternal and Child Health at the UNC School of Public Health.

   

SAS/EIS -- The Multidimensional Report Object

   

Ben Cochran, The Bedford Group

   

The SAS/EIS Product contains many pre-written objects that allow the end user to have a great deal of flexibility in developing applications rapidly. With the 6.11 release, SAS/EIS contained a new object, that greatly enhanced its ability to offer on-line reports within applications. This paper will take an in depth look at the Multidimensional Report Object, its strengths and capabilities that it brought to the forefront when it was first released as well as 6.12 enhancements. The author will start with a SAS data set and go through the necessary steps, including registering the data, to generate a drill down tabular report.

   

Ben Cochran has been a SAS user for over twelve years. After a 9 year tenure as a college professor, he joined SAS Institute in 1985 as an instructor in the Education/Professional Services Department. There he taught courses in Base SAS, SAS Programming, Advanced Programming, Report Writing, SAS/ASSIST and SAS/CALC. In 1993, he joined the Sales and Marketing Department and assumed the position of Marketing Manager for SAS/EIS. In that capacity, he taught EIS seminars around the country, assisted many corporations in their EIS development, and taught the SAS/EIS course for the Professional Services Department and provided user feed back to the Software Development Department. Before leaving SAS Institute in the fall of 1996 to start the Bedford Group, he served on the Data Warehouse Team.

   

Merging & Combining Files: More Techniques, Tricks and Traps

   

Malachy J. Foley, University of North Carolina, Chapel Hill, NC

   

This paper is an extension to last year's paper. It starts by looking at proven strategies used to avoid common traps in simple match-merges. It then examines tricks, traps and techniques for dealing with more complex merges, including FIRST.variable, LAST.variable, IN=, and what could be called a fuzzy merge.

   

Mal Foley started programming computers in high school and has never stopped. His career includes being an international computing consultant, a university professor, manager of several computing departments, and the CEO of his own computing company. Mal's specialties are statistical analysis of survey research data, business applications development, and database management. He has programmed in SAS, FORTRAN, COBOL, PL/1, RPG, ALGOL, BASIC, REXX, and Assembler. He has consulted to IBM, Dow Chemical, Ford-Rockefeller Foundation, United Nations, U.S. Department of Agriculture, U.S. Agency for International Development, many universities, and numerous Latin American government agencies and businesses. He is currently a statistical programmer at the University of North Carolina.

   

Documenting SAS Programs: Increasing Programmer Efficiency

   

Imelda C. Go, Richland County School District One

   

An often neglected aspect of computer programming is documentation. Systematic program documentation increases the chance of confidently reusing programs and reduces the drudgery of new programmers having to study their predecessors' programs. The drudgery is not usually because of inability or lack of skill but because of lack of time and inadequate documentation. In work environments that rely heavily on computing, programs are typically reused and revised long after the original programmer has gone. Supervisors can dread the loss of a programmer because of how much knowledge about the programs will be lost. Nothing can replace a human resource, but this paper outlines a strategy for systematic program documentation specifically in the SAS computing environment. It includes hints strategies and techniques that the author has found helpful in conquering the accumulation of programs and printouts. Your needs should guide the development of a system that best works for you. Modifying and improving the system will help it evolve into an organizational tool well worth the thought and implementation.

Examples of suggestions:

  • Be cryptic. John Smith used the "quotas" program for the Wilson Food Co. in May, 1996. This could be coded as: WFC (JS, 9605,quotas) and included in a TITLE or FOOTNOTE statement. Some time later when you encounter a SAS printout, you can identify (via the title/footnote code) its exact source.
  • Not only within but without. You can incorporate comments into TITLE and FOOTNOTE statements. This documents the program from within (program statements) and from without (output) at the same time.
   

Imelda C. Go, Ph.D., has worked with SAS programs since 1989. She believes that efficiency is an important aspect of any type of work. It is definitely not everything, but increasing programmer efficiency in terms of programming style and program documentation skills certainly holds true to the adage about working smarter instead of harder. She resides in Columbia, SC and works for a large school district as a researcher and SAS programmer.

   

The SAS/IntrNet Applications Dispatcher

   

Don Henderson, SAS Institute, Inc., Cary, NC

   

The Application Dispatcher component of SAS/IntrNet Software allows a user to run a specified SAS Application program on demand and return the generated Internet Content to a Web Browser. The Application Dispatcher is one of the compute services of SAS/IntrNet software and is composed of the following components:

 

The Application Broker CGI

The link between the Web Browser and the compute services. Resides on the Web Server and forwards requests for processing to the Application Server(s).

 

The Application Server

An SCL program that listens for requests from the Dispatcher on a defined TCP/IP socket. The Application Server runs the specified SAS Application.

 

SAS Applications

SAS programs that perform specified processing. They generate the results (Internet Content) which are sent back to the Web Browser by the Application Server via the Dispatcher. SAS/IntrNet software includes several Dispatcher Applications. The majority are customer supplied.

This paper will provide an overview of the SAS/IntrNet Application Dispatcher and will include several demos of SAS/IntrNet Applications and samples available from SAS Institute.

   

Don Henderson, SAS Institute Enterprise Computing Specialist, played a major role in developing the SAS/IntrNet product. He joined the Institute in 1995 and works in the Rockville, MD regional office.

   

Beyond the BY Group: Using SAS to Link "Not Exactly Matching" Lists

   

Sigurd Hermansen, Westat, Inc., Rockville, MD

   

Once you learn how to merge datasets BY a group of variables or join them in SQL, linking SAS datasets with well-defined and corresponding keys becomes a simple matter of finding the correct syntax. Then someone asks you to link two sources of data on identifying variables that differ in form: for instance, names that may have different spellings; addresses with different abbreviations or elements in a different order; or synonyms. Unaware of the scientific literature and commercial programs devoted to these problems, many programmers march blindly into the Not Exactly Matching Lists quagmires and disappear. Some have survived and have returned to help others understand the dangers. This presentation features a quick introduction to common traps and some known methods of working around them. It introduces standardization methods, regular expressions, and probabilistic pattern comparisons. SAS programs illustrate some useful list matching methods.

   

Sig Hermansen designs research databases and manages a group of programmers who develop application systems and data analysis procedures for Westat's biomedical studies group. He has over 10 years of experience in SAS programming. Current projects include record linkage, list matching, and pattern recognition applications

   

Ways of Learning: What the Trainer and the Student Need to Know about Learning Styles

   

Judy Loren, Independent Consultant

   

What is the best method for training? What media are most effective in accomplishing the trainers goals? The learners goals? How does a manager spend a training budget effectively? Knowing the subject matter of the training will not answer these questions. Choosing a training path that will be effective requires an understanding of the learning style of the student. Understanding learning styles benefits the learner, who can choose training paths that are most likely to succeed, the trainer, who can vary presentations to reach a variety of learners, and the training administrator, who can choose courses that include all learners in their audience.

This paper will review several proposed systems for categorizing learning styles and suggest specific training techniques that will broaden the accessibility of training courses to all learners. It will touch on ways to identify your own learning style, or your own teaching style, and provide information on how to adapt to styles that are different from yours.

   

Judy Loren has been using batch SAS under MVS since 1978. She was introduced to computers by her grandmother, who started programming back when software meant wiring the hardware. She let Judy punch a card in 1967, and Judy never looked back.

   

Getting outside data to work with SAS

   

Ruth Marinshaw, University of North Carolina, Chapel Hill, NC

   

Frequently programmers are called upon to incorporate data from other software sources and/or other platforms into SAS. We always are asked to do it quickly, and we may be asked to do this on an ongoing basis. This paper presents a variety of methods by which "outside" data can be used with SAS and assess the strengths and weaknesses of each method.

   

Ruth Marinshaw is the head of Systems and User Service for the Carolina Population Center at the University of North Carolina at Chapel Hill. She has been programming SAS for ten years and supports it on multiple platforms on a daily basis.

   

On The Macro-Based Information System

   

Jeff F. Sun, Blue Cross Blue Shield of North Carolina, Durham, NC

   

Running and maintaining a information system become more complex and more time consuming when the number of components in a system gets bigger and the number of running conditions gets more complicated. In order to handle this kind of complex information systems, it is better for us to link all system components together logically and systematically. The SAS macro facility/language is a powerful tool to accomplish this task. The goal of this paper is to introduce a 3M (i.e. Linkage Macros, Operation Macros, and Utility Macros) systematic structure for the effective development and maintenance of the macro-based information system in details. A case study in the MVS environment is also provided.

   

Jeff Sun completed a B.S. in Electronic Engineering from Xi’an Jiaotong University, P.R.China, in 1984, a M.A. in Applied Economics (1993), and a M.A. in Applied Statistics (1995) at the Ohio State University. He has extensively used SAS system for eight years. His experience includes clinic trails, statistical programming, macro processing, statistical graphics, statistical modeling, and file management in the academic, financial, pharmaceutical, and health care units. Currently he is working primarily on MVS and Windows platforms in the Blue Cross Blue Shield of North Carolina as a health service analyst.

   

Code or DATA?

   

Ian Whitlock, Westat, Inc., Rockville, MD

   

Report Writing Seminar given at Westat was charged with finding new techniques to control complex DATA _NULL_ reports. This paper presents one of the techniques developed. DATA _NULL_ reports often require numerous tedious conditional PUT statements writing a mixture of literal information with data. In such cases one can view the report as a text input file with variable references, where one wants to conditionally print certain lines after making substitutions for variable references and conditionally inserting lines which are not in the input text file. This approach dramatically changes the way one can look at some DATA _NULL_ reporting problems.

A macro COPYREPL, is used to generate DATA step code which automates the replacement of variable references with their values in a manner reminiscent of a mail-merge program. However, one quickly discovers the need to develop various control procedures to enhance the use of this macro. The talk will consist of presenting several examples ranging from simple to complex using this technique, concentrating on how to implement the control procedures required to use the macro in complex situations, and the macro.

   

Ian Whitlock is a senior systems analyst at Westat working on survey research problems. He has been programming largely in SAS since 1981 using an interactive environment to develop programs for execution in a batch environment. He is active on SAS-L, and has presented many different papers at national, regional, and local SAS User Group meetings.

   

Panel discussion "Turning DATA into Information"

   

Jeff Abolafia. William Calvert, Frank DiIorio, Ken Hardy, Judy Smith, Lee Talbot

   

The proliferation of raw data availability because of the present data collection and retention techniques opens a large question - How does one turn this raw data into useable information? To look at this fascinating question a group of panelists will start the discussion of the following questions:

 

  1. What is information?
  2. How do you turn data into information?
  3. How can information be misused or unusable?

 

The questions above will contribute to a discussion between the panelists and the audience. The panelists for ths discussion come from varied backgrounds that include the EPA, FDA, Collaborative Studies Coordinating Center (CSCC), Institute for Research in Social Sciences (IRSS), information technology both consulting, within universities and within business organizations.

   

Judy Smith works for the Office of Pesticide Programs in the Environmental Protection Agency. At EPA, she has done risk assessment for pesticides, trained state pesticide inspectors, developed several regulatory notices for pesticides, and serves as point of contact for states and industries that have questions about the Worker Protection Program. At Texas A&M, her doctorate focused on development of stochastic simulation models to reproduce rainfall climatologies. After completion of her doctorate, she did postdoctoral work in Industrial Hygiene and Safety Engineering at Texas A&M. She also spent three years in a remote sensing center where she was involved in digital processing of LANDSAT images and photointerpretation.

Dr. Kenneth Hardy is Associate Director for Information Systems for the Institute for Research in Social Science of the University of North Carolina at Chapel Hill. He has over twenty five years of experience in computing and data analysis an has published papers and books on statistical computing, criminal justice and quantitative methods in history. His latest book, coauthored with Frank DiIorio, is "Quick Start to Data Analysis with SAS ."

Jeff Abolafia is a member of the faculty in the Department of Biostatistics at the University of North Carolina at Chapel Hill, as well as, the Director of the Statistical Computing Division at the Collaborative Studies Coordinating Center. Jeff has used SAS for over fifteen years and is the author of several SUGI/SESUG papers. His areas of interest include cinical trials, statistical computing, and research data management.

Other Biographies not available at press time.