The Boston Area SAS®
Users Group Quarterly Meeting
March 22, 2006
TOPIC: Coders’
Corner Galore
A smorgasbord of computing
techniques and tricks brought to you by experienced SAS® programmers, members of our very own
BASUG.
WHEN: March 22, 8:00AM to 12:00PM
WHERE: Holiday Inn - Newton (Directions are
included below)
399 Grove Street
Newton, MA 02462
617-969-5300
AGENDA:
8:00 - 8:30
Sign in and Refreshments
8:30 - 8:45
Meeting Announcements
8:45 - 9:05
“Numeric
Representation Problems In SAS® ” by Jeff Martin
9:05 - 9:35
“All Programming Is Local:
Successfully Managing Local and Remote SAS®
Sessions (with apologies to Tip O’Neill)” by Robert Rosofsky
9:35 - 9:55 “Data Flow Diagrams I: A
Useful Tool for SAS® Users and Application Developers”
by Mark Martin
9:55 - 10:10 BREAK
10:10
- 10:30 “Effective Strategy to Set Page
Breaks for ODS RTF Outputs Using
PROC
REPORT” by Songtao Jiang and Daniel Boisvert
10:30
- 10:45 "Put Down That
Mouse!" by Daniel Boisvert
10:45
- 11:00 “My Favorite Title” by Bob Virgile
11:00 - 11:15 BREAK
11:15
- 11:35 “Creating Code Templates in the
SAS® Enhanced Editor Using
Abbreviations and
User-Defined Keywords”
by Paul Grant
11:35 - 11:55 “Data
Flow Diagrams II: Not Just for
Programmers!” by Mark Martin
11:55 - 12:00 Final
Announcements and Adjournment
LEVEL: This
meeting is appropriate for anyone with a basic understanding of the SAS DATA
step.
To register, visit: http://www.basug.org/register.php3
CONTACT: If you have questions about the meeting
contact:
Vanessa Hayden: vchayden@yahoo.com
ABSTRACTS AND BIOGRAPHIES:
Daniel Boisvert: Put Down
That Mouse!
Abstract: The Enhanced Editor is the most widely used
interface in SAS®.
Understanding all it has to offer allows the programmer to write code
more efficiently. This paper will focus
on the use of the keyboard, as opposed to the mouse, to save programming
time. New users and seasoned pros can
all benefit from these featured methods.
Speaker: Daniel Boisvert is a Senior SAS® Analyst at Genzyme. He is responsible for statistical
programming, program validation and general support in clinical trials. Daniel has been using SAS® extensively for the last 3
years. Daniel holds a Bachelors degree
in German from Hamilton College.
Paul Grant: Creating Code Templates in the SAS® Enhanced Editor
Using Abbreviations and User Defined Keywords
Abstract: Two features of the SAS Enhanced Editor make it
possible for programmers to create templates for SAS code. Code templates are
portions of code which are pre-programmed with the statements, options and
formatting most useful to you and which can be inserted into your programs by
typing a keyword. The two features of the Enhanced Editor which make this
possible are abbreviations and user defined keywords. This presentation will
show you how to create your own code templates using these two features.
Speaker: Paul Grant is a Systems Engineer at the SAS
Boston regional office. He chaired SUGI 21 in Chicago in 1996 and co-chaired
NESUG '94 in Philadelphia. He has been
active in the Boston Area SAS Users Group for many years. He originated Coders’
Corner and the Sunday Workshops at SUGI and NESUG. Some of his other papers are
“The ‘SKIP’ Statement” and “Simplifying Complex Character Comparisons by Using
the IN Operator and the Colon (:) Operator Modifier”. Paul has been using SAS
software in a variety of industries since 1981.
Songtao Jiang and Daniel
Boisvert: Effective Strategy to Set
Page Breaks for ODS RTF Outputs Using PROC REPORT
Abstract: PROC REPORT, combined with output deliver system
(ODS), is a very powerful and widely used report generator in SAS®. By allowing Microsoft Word
to control the printing process, SAS users relinquish some of the power to
control the layout of the output. This
makes it almost impossible to set appropriate page breaks for ODS rtf
output. This paper proposes an
effective strategy to force correct page breaks. By calculating number of
printed rows for each dataset observation, the proposed algorithm assigns each
observation a page number according to the column width and page size, which
are set by user. This approach is extremely useful and efficient when dealing
with long data listings.
Speakers: Songtao Jiang is a statistical programmer at Harvard Clinical
Research Institute. He is responsible for statistical programming, data
validation and table/graph/listing generation using SAS. He has been a SAS user
for 3+ years. He also has extensive programming experience including SQL,
C/C++, Java and VB. He holds a
M.S. degree in Computer Science and
B.S. in Mathematics.
Daniel
Boisvert is a Senior SAS® Analyst at Genzyme.
He is responsible for statistical programming, program validation and
general support in clinical trials.
Daniel has been using SAS® extensively for the last 3
years. Daniel holds a Bachelors degree
in German from Hamilton College.
Jeff Martin:
Numeric
Representation Problems Using SAS®
Abstract: Appearances may be deceiving when working with numeric
variables in SAS®.
Values that look equivalent may not yield the results one expects. This may be attributable to numeric
representation error inherent in computer systems and could impact programming
results if one is not aware of it. This
presentation will give an overview of some methods for recognizing numeric
representation error and possible solutions for dealing with it.
Speaker: Jeff Martin is a Principal Statistical Programmer/Analyst at
Serono, Inc. in Rockland, MA. He has been working with SAS for 14 years in
the biotech and pharmaceutical industries and holds a master's degree in
Biostatistics from Boston University.
Mark
Martin: Data Flow Diagrams I: A
Useful Tool for SAS Users and Application Developers
Data Flow
Diagrams II: Getting Started Back at the Office
Abstract
for Data Flow Diagrams I: Have you
ever tried to map out a SAS program, only to find that a flow chart is too
tedious? Try using a data flow diagram
(DFD) instead! DFDs show the flow of
data, not of control. Through examples
you'll learn how to construct data flow diagrams, while the benefits of their
use are demonstrated. The final example
will show how a DFD can visually depict a SAS program.
Abstract
for Data Flow Diagrams II: There are
many ways that data flow diagrams (DFDs) may be useful in your own work. We'll explore a few possibilites: (1) using
Proc Contents to create a "data dictionary" to complement a DFD; (2)
using DFDs proactively in application development; and (3) drawing a DFD to
decipher inherited SAS code.
Speaker: Mark Martin is a Biostatistician in Bayer Healthcare's
Diagnostics Division. His time is split
between R&D collaborations and manufacturing support. During his undergraduate studies, two of his
project-based Computer Science courses employed data flow diagrams (for systems
analysis and for software engineering).
He has found these diagrams are useful for writing cleaner SAS code, for
making sense of inherited SAS code, and even for understanding his own code a
few months or years after writing it.
Robert
Rosofsky: All Programming is
Local: Successfully Managing Local and
Remote SAS®
Sessions
Abstract: Similar
to the differences between living alone and then getting roommates, having
multiple SAS environments means increased management and communication issues
that would not be required when working in a PC or remote host environment
alone. With the power and flexibility
of submitting code in both local and remote SAS environments, simultaneously
managing both of them together requires some finesse and careful tracking of "Where's
my stuff?" This
talk will cover some of the basic issues inherent in managing SAS components,
such as source code, datasets, macro features, etc. and then how to communicate
critical information between remote and local environments.
Speaker: To improve patient care and public health through the
effective use of information systems, Robert Rosofsky has been developing and
implementing health information systems for over two decades in both the public
sector and for the last 5 years as an independent consultant. He offers services in project management,
systems analysis, SAS data management/ statistical programming, and SAS
training.
Bob
Virgile: My Favorite Title
Abstract: I believe in leaving a paper trail ...
documenting my programs as well as connecting the output back to the program
itself. One way to do this is to
include the program name in a title or footnote. Despite this, I've used the same title on nearly all my programs
for the past several years. Come find
out why.
Speaker: Bob Virgile is a SAS guru, with over 20 years of experience
designing
and teaching SAS courses. He has written two books for SAS Institute,
formerly composed problem-solving contests for NESUG and SUGI, and is currently
barred from the NESUG SAS Bowl due to superior SAS knowledge.
MEMBERSHIP: Keep your BASUG Membership
up-to-date! If you are not currently a
member,
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 Memberships - we
now provide only Individual Membership at $25 annually.
For
more information on our membership policy, or to print out a form visit: http://www.basug.org/basugj.shtml
DIRECTIONS TO MEETING
DRIVING:
FROM BOSTON: Take I-90 West
to Exit 15, then take Route 128 South (I-95) 1/4 mile to Exit 22. When you
exit, stay right and bear right at the fork onto Grove Street. Hotel is on your
left.
FROM SOUTH OF BOSTON AND
RHODE ISLAND: Take Route 128 North (I-95) to Exit 22. When you exit, stay right
and bear right at the fork onto Grove Street. Hotel is on your left.
FROM WESTERN MASS: Take I-90
East to Exit 14, then take Route 128 South (I-95) 1/4 mile to Exit 22. When you
exit, stay right and bear right at the fork onto Grove Street. Hotel is on your
left.
FROM NEW HAMPSHIRE: Take I-93
South to Route 128 South (I-95), follow for approximately 15 miles to Exit 22.
When you exit, stay right and bear right at the fork onto Grove Street. Hotel
is on your left.
PUBLIC TRANSPORTATION:
The hotel is adjacent to the
Riverside T Station. Take the Green
Line - D (Riverside) to the Riverside stop. The hotel is also accessible from downtown Boston via Express
Bus #500 (EXPRESS BUS Riverside - Downtown Via Mass. Turnpike.). See http://www.mbta.com/schedmaps/bus/index.cfm for detailed bus
route and schedule. Bus drops off at Riverside T Station. Hotel is adjacent to
the T Station.
BASUG CONTACTS:
Mail Address:
BASUG
PO Box 253
Boston, MA 02117
Webmaster: basugwm@basug.org
BASUG - Quarterly Meeting
announcement – March 22, 2006