BASUG Quarterly Meeting Announcement

 

 

We are thrilled with the response we got to our Call-for-Papers for our Q1 Coders’ Corner meeting. This meeting will feature many presenters – some first-timers, some seasoned – covering a variety of topics. Please join us to learn lots of tips ‘n techniques from your fellow BASUG colleagues.

 

 

 

Topic: Coders’ Corner 2008

 

When: Friday, March 28, 2008, 8:15 AM – Noon

 

Where: Holiday Inn Brookline

1200 Beacon Street

Brookline, MA 02446

                          (617) 277-1200

 

For directions, please visit: http://www.basug.org/directions.html

 

How: Individual, On-Line Registration Required. No Email!

 

To register: Please visit: http://www.basug.org/register.php3

 

Contact: If you have questions about the meeting contact Sally Skinner (sally.skinner@tufts.edu)

 

 

Agenda*

8:15

Sign in and Refreshments

8:45

Announcements

9:00

PUT and INPUT functions: Making more use of formats and informats

by James Zeitler, Harvard Business School

9:12

Using SAS® Graph to produce four graphs per page

by Amanda Tweed, Millenium Pharmaceuticals

9:24

Population Pyramid Graphs

by Meena Doshi, New England Research Institutes

9:36

Enterprise Guide: Tips for Programmers

by John D. Chapman, PhD, Markcelian Analytics, Inc.

9:48

BREAK

10:10

Exporting the Data to EXCEL? Order the columns the way you want them!

by Mark Martin, Siemens Healthcare Diagnostics

10:22

Tricks to create report quality WORD tables and figures in SAS®"

by Brendan Bartley, CBAR, Harvard School of Public Health

10:34

Compressing Output files in a SAS® job (on UNIX)

by Leslie Somos, Paraxel

10:46

Writing SAS® Functions Without SAS® Toolkit

by Jerry Lewis, Biogen Idec

10:58

BREAK

11:15

Comparing Values Across Observations: Be Careful

by Prafulla Girase, IMS Health

11:27

How to automatically run SAS® procedures on a group of datasets

within a single directory

by Diana Ventura, CBAR, Harvard University

11:39

Go Where Few Have Gone Before (learn to use SAS® metadata)

by Steven Ezzy, Ingenix

11:51

Closing remarks & announcements

Noon

Meeting Adjourned

 

*Note: Times are approximate and subject to change. Please re-visit the BASUG website ( www.basug.org) for updated information.

 

 

Abstracts and Bios

 

 

Tricks to create report quality WORD tables and figures in SAS®

by Brendan Bartley

 

This paper describes some macros and tricks to enhance RTF output for reports. The first macro allows the user to move tables within a document and have the table numbering change corresponding to their location in the document. It also sets up bookmarks for reference in a report. Another macro eliminates all but the first section breaks in a RTF document. The last macro gives a table its own style name so that its formatting does not change when the formatting of the text in the document changes.

Brendan Bartley is a programmer in clinical trials at the Center for Biostatistics in AIDS Research (CBAR) at the Harvard School of Public Health. Brendan has been using SAS® software in health research since 2001.

 

Enterprise Guide: Tips for Programmers

by John D. Chapman, PhD

SAS® marketing of Enterprise Guide (EG) emphasizes its graphical nature, with tasks and wizards that offer “point-and-click interface to the full power of SAS.” But EG also has many features that make it an attractive alternative to the conventional Windows

interface for programming. This Coders’ Corner presentation will present several such features and seek to motivate programmers who aren’t using EG to give it a try.

John D. Chapman provides data analysis and reporting services to the health care industry. SAS® is a valued tool in his arsenal. A long-time user of the SAS® Windows interface, he became an EG convert with the release of version 4.1 and would never choose to go back.

Population Pyramid Graphs

by Meena Doshi

The most important characteristics of a population—in addition to its size and the rate at which it is expanding or contracting—are the ways in which its members are distributed according to age, sex, ethnic or racial category, and residential status (urban or rural). Perhaps the most fundamental of these characteristics is the age distribution of a population. SAS® can be used to create these population pyramids that can depict

the age and sex distribution of the population.

 

Meena Doshi is a Statistician at New England Research Institutes, Inc located in Watertown MA. She has a Masters in Applied Statistics from The Ohio State University and a Masters in Public Health (Epidemiology and Biostatistics) from Tufts University. She has worked as a Marketing Analyst with a startup in Boston and as a Statistical Analyst at Tufts University.

 

Go Where Few Have Gone Before (learn to use SAS® metadata)

by Stephen Ezzy

As has often been said, there are many ways to accomplish the same thing in SAS®. Many SAS® users are unaware of the 'data about their data' (better known as metadata) that the SAS® system maintains in the SASHelp library. This presentation suggests ways to use these data to think outside the box in terms of accomplishing SAS® tasks. (It may even suggest a few tasks that might not be possible any other way!)

Steve Ezzy has been with Ingenix in Waltham MA since May, 2005 and has 19 years experience in SAS® programming. He also has some expertise in SQL Server, Visual Basic and geographic information systems (GIS). Steve has used SAS® to solve problems in the areas of public health, environmental epidemiology, clinical trials and

fishery biology. He even wrote a SAS® program to solve sudoku puzzles and was pretty

pleased with himself about that until he discovered that every Tom, Dick and Harry on the

SAS-L web site has done the same thing.

Comparing Values Across Observations: Be Careful

by Prafulla Girase

 

There are several techniques that can be used to compare values across observations in SAS®. It is important to understand how each technique works in order to pick the most appropriate technique and get correct results. This paper discusses three of the techniques that can be used. The techniques discussed in this paper include the LAG function, one-to-one reading, and one-to-one merging. To illustrate appropriate usage and

highlight advantages of each technique, a business question is proposed and answered

using all three techniques. After reading this paper, you will be better prepared to select the most appropriate method in instances where values must be compared across observations. The intended audience for this paper is someone with a basic understanding of BASE SAS®.

 

Prafulla Girase is a Statistical Programmer at IMS Health in Watertown, MA. He has been using SAS® software with various data including epidemiology, clinical trials, & medical claims since 2000.

 

 

Writing SAS® Functions Without SAS® Toolkit

by Jerry Lewis

 

Where a frequently repeated calculation can be written in closed form, a

parameterized SAS® macro can be written to produce the non-terminated SAS® expression. Since the expression is non-terminated, the macro effectively behaves like a SAS® function (that can be used within a larger expression in a SAS® data step). As an example, a macro function for exact Clopper-Pearson binomial confidence limits will be discussed (published implementations, such as Daly [1992] used a dedicated data step). A seed list of some other useful expressions (exact Poisson confidence limits, 1-sided normal tolerance factors, Wald-Wolfowitz approximate 2-side normal tolerance factors, etc) will be given to stimulate thinking about other possible applications.

 

Jerry Lewis is a Lead Biostatistician (nonclinical) at Biogen Idec in Cambridge. He has been using SAS® in academia and industry since 1976.

 

Exporting the Data to EXCEL? Order the columns the way you want them!

by Mark Martin

 

Do you spend time re-ordering the variable columns in Excel after exporting data

from SAS® datasets? You can specify the variable order before Proc EXPORT in either of two ways: the DATA step RETAIN statement, or the Proc SQL SELECT statement. Code examples will show how to do this. You’ll also learn subtle Proc Export differences between SAS® 8 and SAS® 9 for Excel output.

Mark Martin is a Senior Biostatistician at Siemens Healthcare Diagnostics in Norwood MA. His internal clients include product development scientists, who often like to use Excel for graphics and data exchange. Mark has been using SAS® since 1990.

 

Compressing Output files in a SAS® job (on UNIX)

by Leslie J. Somos

 

When your disk space is limited, here is one way to write your flat file from SAS® in an already-compressed format, instead of writing it out and then compressing it outside of SAS® (which requires space for both the original file and the compressed version on disk simultaneously).

Leslie has used SAS® for many years, on many platforms. He misses the documentation for Version 5, when it all fit into a single (~2-inch thick) book. At Boston University School of Public Health, he recently earned a Master of Public Health with concentration in Biostatistics. He currently works at PAREXEL in Lowell.

 

 

Using SAS® Graph to produce four graphs per page

by Amanda Tweed

SAS® Graph provides many options for enhancing graphical display. While simple bivariate plots can be generated using very basic code, producing numerous graphs based on data subsets can lead to an overwhelming volume of graphical output that is cumbersome to review. Condensing the output facilitates comparison between plots, aids in the review of voluminous output and reduces paper use. PROC GREPLAY allows the programmer to define a template and position multiple graphs per page. Used in conjunction with the ODF RTF destination, the code is not complex. This session demonstrates the use of the GREPLAY procedure to display four separate graphs created

using PROC GPLOT on a single page and highlights the benefits of this form of output.

Amanda Tweed is a Statistical Programmer at Millennium Pharmaceuticals in Cambridge. She has been in industry for nearly 3 years. Prior to that time, she worked in academia—both at Mass General Hospital and the University of Pennsylvania. She has been a SAS® user for four years, with prior experience programming in STATA. Currently, she is learning to program in R.

 

How to automatically run SAS® procedures on a group of datasets within

a single directory

by Diana Ventura

 

Sometimes it is necessary to analyze a group of datasets. In this case it makes sense to create a macro variable that represents the dataset names. The macro variable allows SAS® procedures to be run on a group of datasets without typing the names of each dataset, this streamlines repetitive code and eliminates needless typing. It might seem complicated to capture the name of datasets in a selected directory into a macro variable but the process actually requires only the use of the contents option within the Proc Datasets procedure, the use of call symput to put the variable into a macro variable, and setting up a iterative macro do loop to initiate use of the macro. All of this can be accomplished in a few lines of code.

Diana Ventura is the Head of Standardization for the Center for Biostatistics in AIDS Research, where she manages meta-data analysis, clinical data quality assurance, and CRF forms programming. She has been using SAS® in the public health arena since 1992.

 

 

PUT and INPUT functions: Making more use of formats and informats

by James Zeitler

 

Using the INPUT statements with informats is the standard way to read into SAS®

from an external data file. And the PUT statement with formats is the analogous way to write from SAS® to an external data file. In this talk we’ll see how to use informats and formats with the INPUT and PUT functions to transform variables in a SAS® dataset. It’s a good thing.

 

 

James Zeitler is a Research Database Analyst at Harvard Business School, working

primarily to assist faculty doing research in a variety of business-related disciplines. He has been using SAS® to do this sort of thing for at least twenty years.

 

 

BASUG Membership

 

Keep your BASUG Membership up-to-date! Print out a membership form from our website, and bring it with you to the meeting (along with your check). Please note that we have discontinued Corporate Memeberships – we now provide only Individual Membership at $30 annually. For more information on our membership policy, or to print out a form visit: http://www.basug.org/basugj.shtml

 

 

Directions and Parking

 

Please visit: http://www.basug.org/directions.html

 

 

BASUG Contacts

 

Mailing Address:

BASUG

PO Box 253

Boston, MA 02117

 

To email our Webmaster: basugwm@basug.org