WELCOME TO PhilaSUG

Agenda



Click on any hyperlinked topic for an abstract
12:30 - 1:00 Registration*
1:00 - 1:10 President's opening remarks
1:10 - 2:00 Longitudinal Data Techniques:
Looking Across Observations

Ron Cody, Robert Wood Johnson Medical School
2:00 - 2:15 Breakout, Refreshments, Posters *
2:15 - 2:35 Alternatives to Merging SAS Datasets ... But Be Careful
Mike Wieczkowski, IMS Health
2:35 - 3:05 Symbol Table Generator
Jim Johnson, Covance, Inc.
3:05 - 3:20 Breakout, Refreshments, Posters *
3:20 - 3:35 Open Forum, Business Issues
3:35 - 4:25 Year 2000 Issues for SAS Users
Rick Langston, SAS Institute
4:25 - 4:30 MBCR (Mercifully Brief Closing Remarks)
* Light refreshments will be served during breaks

You are invited to join the speakers and the PhilaSUG Executive Committee for dinner at a nearby restaurant at the conclusion of the meeting. The location will be announced at the meeting.


[ R E T U R N   T O   T O P ]
[R E T U R N   T O   P h i l a S U G   H O M E   P A G E ]


Abstracts


Papers

Longitudinal Data Techniques: Looking Across Observations
Ronald P. Cody, Ed.D
Dept. of Environmental and Community Medicine,
Robert Wood Johnson Medical School

ABSTRACT:
One of the most difficult tasks for a SAS® programmer is to perform operations across multiple observations. For example, you may have a data set of patient visits, with a variable number of visits per patient and the data for each visits stored in a separate observation. Some of the techniques for working with such data include the RETAIN statement, FIRST. and LAST. logical variables, the LAG function, and the use of multiple SET statements (each with a separate FIRSTOBS= option). Other techniques for summarizing data for each patient (such as the number of visits, the mean and median of some variables) involve procedures such as PROC FREQ, PROC MEANS and PROC UNIVARIATE to output summary data sets. This talk will demonstrate and discuss these techniques.

BIOGRAPHY:
Dr. Ron Cody is an Associate Professor in the department of Environmental and Community Medicine at the Robert Wood Johnson Medical School, Piscataway, New Jersey. He has been a SAS user for more than 20 years and is the author of Applied Statistics and the SAS® Programming Language (fourth edition), published by Prentice Hall. Along with Ray Pass, he has written a book called SAS® Programming by Example, a book of annotated SAS examples, published by the SAS Institute as part of their Books by Users series. His latest books, also published by the SAS Institute, are The SAS Workbook, and the SAS Workbook: Solutions. He is currently under contract with the SAS Institute for a book on Data Cleaning Techniques. Ron has presented invited papers for numerous local, regional, and national SAS conferences.


[ R E T U R N   T O   T O P ]
[R E T U R N   T O   P h i l a S U G   H O M E   P A G E ]



Alternatives to Merging SAS Datasets ... But Be Careful
Mike Wieczkowski, IMS Health

ABSTRACT:
The "MERGE" statement in SAS is a very useful tool in combining information from multiple SAS datasets. If you work with large datasets the MERGE statement can become cumbersome because it requires all input datasets to be sorted prior to the execution of the data step. This paper looks at several simple alternative methods in SAS that can be used to bridge information together. It also highlights caveats to each approach so that you are careful not to yield unwanted results.

PROC SQL can be very powerful but if you are not familiar with the SQL language or if you do not understand the dynamics of SQL "joins" it can seem intimidating. The first part of this paper explains to the non-SQL expert, the advantages of using PROC SQL in place of MERGE. It also highlights areas where PROC SQL novices can get into trouble and how they can recognize areas of concern.

The second section shows several other techniques for bridging information together. One technique is using PROC FORMAT with the CNTLIN option in conjunction with the PUT function. Another technique is using the CALL SYMPUT routine as a way of adding external information to your dataset.

BIOGRAPHY:
Michael Wieczkowski is a Sr. Statistical Programming Specialist for IMS Health, a market research company in the pharmaceutical and healthcare industries located in Plymouth Meeting, PA. In this position he is responsible for statistical and application programming development in the researching and prototyping of new product offerings. Michael has 10 years SAS programming experience on various platforms specializing in the MVS platform. He holds a B.A. in Statistics from The College of New Jersey (formerly Trenton State College).

[ R E T U R N   T O   T O P ]
[R E T U R N   T O   P h i l a S U G   H O M E   P A G E ]



Symbol Table Generator
Jim Johnson, Covance, Inc.
ABSTRACT:
Have you ever written a lengthy program, printed it, and tried to find where in the program that a particular variable or two were used? Do you remember sitting there with your printout, highlighter, and program editor, repeatedly using the editor’s find feature, then trying to locate the reference in the printed copy so you can highlight it?

This paper will present a short program that reads a user-provided SAS® program and generates a line numbered listing of the program and a symbol table, indicating each variable and keyword in the pro-gram and every line number on which it is referenced. The symbol table excludes comment text (I know we all use ample comments in our code :-) ). A few of the programming tricks will be discussed, as well as some of the program limitations. A unique programming style will also be demonstrated.

BIOGRAPHY:
Jim Johnson is a Principle Scientific Programmer with Covance, a Pharmaceutical Contract Research Organization located in Radnor, PA. He has been programming SAS® in the pharmaceutical industry for 13 years. He has expertise in base SAS, macros, and PROC SQL. Jim also teaches at the Covance Institute, a joint educational venture between Covance, the SAS Institute, and the Philadelphia College of Textiles and Science.


[ R E T U R N   T O   T O P ]
[R E T U R N   T O   P h i l a S U G   H O M E   P A G E ]



Year 2000 Issues for SAS Users
Rick Langston, SAS Institute
ABSTRACT:
This presentation discusses various Year 2000 issues as they pertain to SAS users. Included are compliance definitions, licensing issues, testing with different clock settings, things to look for when testing, and the SASXDTU diagnostic module for two-digit year detection.

BIOGRAPHY:
Rick Langston is a Senior Systems Developer in the Base System Research Division at SAS Institute Inc. Among Rick's duties is maintaining the license man-agement components and the date/time processing code of the SAS Supervisor. He is the technical liaison for the SAS® System in the Year 2000 Customer Inter-face Committee at the Institute. He is also responsible for PROC FORMAT, the MODULE routines, and is the developer and product manager for SAS/TOOLKIT® Software. Rick has been a SAS user for 22 years, 19 of which have been with SAS Institute Inc.


[ R E T U R N   T O   T O P ]
[R E T U R N   T O   P h i l a S U G   H O M E   P A G E ]


Posters


Betcha didn't know...
Rick Langston, SAS Institute

This poster discusses various features of the SAS System that I only recently learned about. I suspect that other users may not be aware of them and could benefit from learning about them. Features discussed include functions to dynamically open SAS data sets in DATA steps, the WHERE= option for output data sets, and the use of _TEMPORARY_ arrays in problem solving.




A Taste of SAS New Enhancements
Jiang Jin, Smithkline Beecham

A SAS® coding job can be done differently by various SAS programmers in different levels. Those who catch SAS new enhancements can always produce more efficient SAS codes. The purpose of this paper is to present the flexibility of SAS New Enhancements by a group of examples which include using SYMPUT ROUTINE, SAS %SYSFUNC( ), host variables from PROC SQL, and CALL EXECUTE( ). It demonstrates the advantages of SAS New Enhancements and the differences between SAS New Enhancements and normal SAS coding technique.




User Experience SAS/GRAPH® Charts & Plots Using MXG®
Neal Musitano Jr., Department of Veterans Affairs

IBM mainframe MVS computer performance data is collected using IBM System Management Facilities (SMF) and Resource Measurement Facility (RMF) data. The raw SMF/RMF data is processed with MXG® and SAS® software into an easily usable SAS® format.

This paper utilizes that performance data. The MXG® Performance Database, i.e., daily, weekly or monthly contains millions of performance variable values all in SAS® readable format.

The intent of this paper is not to explain MXG® software, which is SAS® source code, but to display some user examples of SAS/GRAPH® computer performance graphs utilizing the MXG® Computer Performance Database as input.

The SAS/GRAPH® Charts and Plots displayed were produced on the mainframe using the Computer Graphics Metafile driver "CGMMWWA" for Microsoft Word or PowerPoint. The GOPTION of GACCESS=GSASFILE is used to write the graph to a file on the mainframe. The graph is then downloaded to a PC in binary format, and finally inserted as a picture graphics into Microsoft® PowerPoint or Word documents.



Extending PROC EXPLODE Using the SAS Macro Language
John J. Cohen, Zeneca Pharmaceuticals

Veteran SAS users may remember the user-supplied supplemental procedures available under Version 5. Some were discontinued under Version 6. Happily, a handy banner-making utility, PROC EXPLODE, has been incorporated as one of the procedures available to us in Base SAS.

While the procedure's output by today's standards is not elegant, it nevertheless can be useful in creating burster pages for separating sections within large streams of output. Unfortunately, the values (character strings) to be displayed must be designated in advance and hard coded in your program. Neither data step variable values nor macro variable values can be displayed in your banners (a run time/execution time issue). Given the data-driven nature of many applications, this may present a significant drawback.

This poster is a very brief tutorial on PROC EXPLODE, we will suggest an approach using the SAS macro language to create dynamic programs-to-write-programs which get around this limitation.

[ R E T U R N   T O   T O P ]
[ R E T U R N   T O   P h i l a S U G   H O M E   P A G E ]


Last Update: 9:12PM 5/16/99