The Boston Area SAS® Users Group


[an error occurred while processing this directive]

Quarterly Meeting April 5, 2001


WHAT: Quarterly BASUG Meeting

WHEN: Thursday, April 5, 2001, 1.30 P.M. to 4.30 P.M

WHERE: Blue Cross Blue Shield of Massachusetts.
       Landmark Center
       401 park Drive
       Boston, MA 02215


RSVP:REQUIRED! by e-mail ONLY to: gajanan.bhat@parexel.com


NOTES:You MUST RSVP for this meeting to accommodate everyone!!!
Please be aware of the following:

This meeting will be at a Beginner to Advanced level of SAS.

Upon you arrival, please check-in with the receptionist at
the 4th floor East, BEFORE proceeding to the fourth floor
training room, for the meeting.

DIRECTIONS: See below.

AGENDA:

1:30-2.30 - Coder's Corner Presentations (SAS Programming
       Tips and Techniques)

2:30-3:30 - Key Presentation, "Writing the "Best" Program:
       The How and When of Efficient Programming"
       by Frank DiIorio

3:30-4.30 - Coder's Corner Presentations (SAS Programming
       Tips and Techniques)

RSVP:REQUIRED! by e-mail ONLY to: gajanan.bhat@parexel.com

CONTACT:If you have questions about the meeting or detail
       directions, contact: Thiru Satchi 617-246-3432
       or Gajanan Bhat 781-434-4617


ABSTRACTS AND BIOS:


1:30-2:30 Coders' Corner Topics

Topic 1:

"What is Corders' Corner" by Paul grant, SAS Institute

Coders' Corner is a great way to share coding techniques within the SAS programming community. This presentation will explain what Coders' Corner is and how - with a number of examples - you can develop and present your own coding tip at a Coders' Corner session.


Topic 2:

"Paying Health Care Claims With User-Defined FORMATs" by Robert Rosofsky , Massachusetts Department of Public Health

In a SAS application that edited and paid health care claims, user-defined FORMATs were used as lookup tables to determine the allowable amounts to be paid. Multiple variables, including provider identifier, the medical procedure code, and ranges of dates of service were all placed in a single FORMAT, to determine which rate to use. This FORMAT also made use of an interesting calendar change to solve the 16-character limit on the size of START and END components of FORMATs.

Topic 3:

"Customizing Statistical Output with ODS" by William Simpson, Harvard University

Description: Examples are given for using ODS to reduce the amount and to modify the format of the output from statistical procedures. These can be used even if you are using the standard listing output.


Topic 4:

"Output your SAS data set in Excel/Access -ready format using put statement" by Ali Sabouri, Blue Cross Blue Shield of MA

Outputting data in the 'right' format often is a time consuming task, to say the least. Two methods "PUT Statement" and "PROC PRINTO" to write out SAS data in a format that is readily imported into Microsoft Excel or Access will be discussed.

- No need to define column locations
- No need to worry about formats of the variables (type, length)
- Works on any platform (UNIX, IBM)

Topic 5:

"Renaming big set of variables in data set" By Arkadiy Pitman, Boston University

The main idea is to create a new set of variables instead of renaming the old set, if you have a really convenient set of names. Otherwise, you can create a macro, which would create a new list of variables from the old one by our rules and a rename statement for data step.


2:30-3:20 PM "Writing the "Best" Program: The How and When of Efficient Programming" by Frank DiIorio

It's relatively easy to write programs that optimize the use of CPU and other machine resources. There is a large and continually growing body of literature on the subject. What isn't as straight forward is knowing **when** to employ the techniques - blind implementation of tuning techniques is often not required by the task at hand and can sometimes even be counterproductive.

This paper addresses both the "how to" and "when to" aspects of writing efficient programs. It describes design and coding techniques that conserve hardware resource usage. It also identifies other, non-machine implications of their usage that could dissuade the programmer from their use. For example, using temporary array elements is more efficient than using named elements but has the documented-but-obscure behavior of retaining values across observations. Maintenance of such code by other than "seasoned" and up to date programmers can be unexpectedly problematic.

The concept of efficiency used in the paper includes all aspects of the program life cycle. We apply the "how and when" question to system design issues, system startup, DATA steps, procedures, and macros. Emphasis is on Base SAS software. The reader should finish the paper comfortable with the idea that the "best" program is not always the one that minimizes hardware resources.

Frank DiIorio is author of "SAS Applications Programming: A Gentle Introduction" and (with Ken Hardy) "Quick Start to Data Analysis with SAS,"Both titles are part of SAS Institute's Books by Users series and have sold nearly 30,000 copies. Frank has been active in the SouthEast SAS Users Group (SESUG) since its inception, co-chairing the 1994 and 1996 conferences. He has, much to his astonishment after doing the math, nearly a quarter century experience with SAS software. His new book, "The Elements of SAS Programming Style," (working title) will be published in 2001.


3:30-4:30 Coders Corner Topics

Topic 7:

"Simplifying Complex Character Comparisons by Using the IN Operator and the Colon (:) Operator Modifier" by Paul Grant, SAS Institute Inc.

Complex character comparisons - comparisons of character values in a data set against a number of character constants that vary in length - are easier specified than coded. For example, how would you select the records of customers whose last names begin with 'Mc' or 'Mac'? How would you select the records of customers who live in ZIP codes beginning with '010' through '0131'? This paper will show you how to use the IN operator and the colon (:) operator modifier to code these comparisons simply and clearly.

Topic 8:

"Using the Magical Keyword 'INTO:'" in PROC SQL by Thiru Satchi, Blue Cross Blue Shield of Massachusetts

SQL INTO: is a powerful tool that simplifies programming code while minimizing the risk of typographical errors. SQL INTO: creates one or more macro variables, based on the results of a SELECT statement. This macro variable(s) reflects a list of values that can then be used to manipulate data in both DATA and PROC steps. The usefulness of SQL INTO: will be demonstrated by analyzing a large medical claims database.

Topic 8:

"Dictionary Tables / Customizing Windows Shortcut to SAS" by Kimball Lewis, Harvard University

A brief introduction to the SAS dictionary tables. What are they, how are they accessed, and what are some ways they are used? (Hint: they provide quick access to all sorts of SAS metadata.)

Learn a simple way to create a windows shortcut will open the SAS session in the current folder and will make file open commands open a dialog box for the current folder. This requires creating a shortcut and modifying the "target" and "start in" fields of the shortcut's properties dialog box.

Topic 9:

"Describing Data Libraries In HTML" by Tim Muir, Compaq Computer Corporation

A method of extracting data library information, creating tables of contents, and linking them to data set content descriptions in an HTML frame will be shown.



DIRECTIONS:

Please Check in with the receptionist at the fourth floor before proceeding to the fourth floor training room.

By Car:

> From North of Boston:

Take Route 93 South to the Central Artery. Then take Exit 26B, Storrow Drive West. Follow "Storrow Drive " direction below.

(Storrow Drive West via Boylston street)

Follow storrow Drive West for approximately 2.0 miles. Take the exit for Kenmore Square/Fenway. (This exit is a left turn.) Keep to the left for Fenway. Once on the overpass bridge, keep to the right. Bear right going onto Boylston street (outbound). Follow Boylston St. for .8 mile (5th set of traffic lights) the intersection of Boylston St., Park Drive, and Brookline Ave. Landmark center is on your right. Take a right onto Brookline Ave. Then take the first left onto Fullerton St. The Landmark Center parking garage is located on the left.

> From South of Boston:

Take 93 North to exit 16 Southhamton St./Andrew Square. At exit 16, keep to the left. At the traffic light at the top of the ramp take a left onto Southhampton St. Go .6 mile and turn on to melena cass Blvd. Follow "Melina Cass Blvd." directions below.

(From Melena Cass Blvd.)

Travel along Melnea Cass Blvd. (1.5 miles) to Tremont St. Take a left on Tremont Street. At the 2nd traffic light, Ruggles St., take a right. Stay on Ruggles St. Go across Huntington Ave. (landmarks are Wentworth Institute and Northeastern University) to Louis Prang St. At the next set of traffic lights (two sets close together), bear left onto the Fenway, and keep to the right . At the split bear right and then bear left onto Park Drive. once on Park Drive keep to the right. at the next set of the lights you will see the Landmark Center. At this traffic light bear to the right and take the second right onto Brookline Ave. (a hard right is Boylston St.) . Take first left onto Fullerton St. Landmark Center parking garage is on the left.

Parking:

There are ample parking spaces in the Landmark Center and surrounding for $6.00 to $8.50 a day.

Public Transportation:

> From Orange Line

Take the orange Line to Ruggle Station. Transfer to Bus Route 8 (destination : Kenmore), 47 (Destination: Central Sq. , Cambridge), or CT2 (Destination : Kendall/MIT). Take Bus Route 8, 47, or CT2 to Landmark Center.

> From Green Line:

Transfer to Green Line west bound. Take the D car (Cleveland Circle) to Fenway station

Remember: Please Check in with the receptionist at the fourth floor
East before proceeding to the forth floor training room.



BASUG Contacts:

  Mail: BASUG
       PO Box 253
       Boston, MA 02117

To email our Webmaster: webmaster@basug.org

Subscribe to our email list:

Subscribers receive automatic e-mail notification of upcoming meetings, courses, and conferences of interest to local SAS users.


To subscribe to the BASUG message list, send a message to:
Mailto:subscribe@basug.org Subject: subscribe

To unsubscribe from the BASUG message list, send a message to:
Mailto:basugwm@basug.org Subject: unsubscribe

[an error occurred while processing this directive]