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.

INDIVIDUAL, ON-LINE REGISTRATION REQUIRED. NO EMAIL!

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