LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (June 2003, week 1)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Fri, 6 Jun 2003 11:38:31 -0400
Reply-To:     NYASUG@pace.edu
Sender:       "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:         NYASUG <NYASUG@PACE.EDU>
Content-Type: text/plain; charset=us-ascii

NYASUG Meeting Announcement -- Have a nice weekend !

For members of SAS-L in the Tri-State area who are also members of the New York Area SAS Users Group (NYASUG):

The next meeting of the New York Area SAS Users Group will be on Wednesday, June 11, 2003. This will be a half day meeting with 3 scheduled presentations, and a programming problem from Bob Virgile. The theme of this meeting is macro processing and Data Step merges.

SAS "jedi-masters" Ian Whitlock and Bob Virgile will also be holding a code clinic. If you have a tough programming problem, and need help, get it from these experts. Make sure to bring your code (on disk if possible), sample data and SASLOGS.

This meeting is being held at the Bank of New York, and we thank them for hosting the meeting ! Directions to the BONY site are at the end of this text.

The following are abstracts of the scheduled presentations:

-------------------------------------------------------

SAS Macro Design Issues By Ian Whitlock

Two questions motivated this paper. The first came more than twenty years ago at the end of my first programming course when the professor asked, "You now know how to write programs, but do you know when it is appropriate to write a program?" For SAS macro the question might be rephrased. What kind of SAS problem is appropriate to macro? Or when should the solution involve macro code? The second came from SAS-L in September 2001, "What sources discuss how to develop clear and good macro code?" There have been many Beginning Tutorials on macro, and many of the examples in them may illustrate some of the principles that these questions hint at, but I do not know of any source that concentrates on the principles.

To sum up, I will consider: 1) What makes a macro good? and 2) How do you make a maintainable, useful, clear system of macros? Do you need to know how to write %IF and %DO statements to understand this talk? No, all terms will be introduced, however, knowing something about these statements will increase your appreciation of the subject.

A Serious Look at Macro Quoting By Ian Whitlock

So you can make decisions in macro with %IF and do looping with %DO- loops. But there are times when you don't understand why the beast does what it does. Now what? It is time to come to this presentation.

It is time to take a serious look at macro quoting. I have often said that anyone who thinks macro quoting is simple, probably doesn't understand the problem; so I have been there. Now I want to explain how simple it is.

Everything relevant to this paper is in SAS/BASE. Although the examples have been executed on a PC under Windows, the examples are independent of any particular operating system with the exception of file definitions.

Biography

Ian Whitlock is a Senior Programmer/Analyst for Westat, a survey research company, where he supports the statistical analysis of survey data and teaches SAS programming. He has been programming in SAS since 1981. He is an active participant on SAS-L, and in national, regional, and local "Sugi" meetings.

-------------------------------------------------------

Danger: MERGE Ahead! Warning: BY Variable with Multiple Lengths! By Bob Virgile

Normally, when a data step merges two data sets, any common variables will have the same length in both sources of data. When a variable has different lengths in the incoming data sets, and when that variable is also a by variable, the merge can produce truly bizarre results. For example, change the order of the data sets in the merge statement and the data step generates a different number of observations. Or merge two data sets that are in sorted order and the data step issues an error message claiming that the data sets are not in sorted order. This paper examines the situation, some of its manifestations, and solutions to the problem.

===========================================

Extra 'Problem' to Solve

Naturally, the put statement in data step below wrote a message to the log. How could that have happened?

data combined; merge males females; by lastname; where lastname > ' '; if lastname=' ' then put "I better read Bob's paper!"; run;

===========================================

Biography

Bob Virgile is an independent SAS trainer and consultant, with 20 years of experience designing and teaching SAS courses. He has presented papers at many SUGI and regional conferences, formerly wrote the problem-solving contests for SUGI and NESUG, and has written two books for SAS Institute.

-------------------------------------------------------

Schedule

09:00-10:00 SAS Macro Design Issues Ian Whitlock

10:00-10:30 Dr. Bob and Dr. Ian's Code Clinic and Break combined

10:30-11:30 Danger: MERGE Ahead! Warning: BY Variable with Multiple Lengths! Bob Virgile

11:30-11:45 Extra "Problem" to Solve Bob Virgile

11:45-12:45 Serious Look at Macro Quoting Ian Whitlock

-------------------------------------------------------

Directions

Please Note return to Old Location!!!

Check the Website for any last minute changes. Bring your copy of the Newsletter for identification. In addition, you will be asked for a photo id or to turn on or check your laptop. Please be courteous and understanding with security personnel. Thanks.

Bank of New York 10th Floor Auditorium 101 Barclay Street New York, NY 10286

The Bank of New York is located one Block North of the former World Trade Center between Greenwich and West Streets, Barclay and Park Place. The Main Entrance is on Greenwich. Park Place is closed. A lot has changed downtown since 2001, so it might be a good idea to allow extra time. We will post last minute changes and additions on our web site.

By Subway

Take IND (A,C,E) to Chambers Street stop, exit at Park Place walk 2 blocks west to Greenwich. West side IRT (1 or 9) to Chambers Street, Walk 1 block west to Greenwich and 3 blocks south to Park Place, IRT (2 or 3) to Park Place walk 2 blocks west to Greenwich. Eastside IRT (4 or 5) to Broadway Nassau walk north to Park Place and west to Greenwich. BMT(N, R) to City Hall, walk 1 block south to Park Place and 3 blocks west to Greenwich.

By Bus

M9, M10 or M22 to Battery Park City

By Car

Take West Street (West Side Highway) and turn onto Murray Street. There is limited parking in the area.

From New Jersey

By train to Hoboken and then the New York Waterway ferry from Hoboken to the downtown terminal. Other ferries go from Port Imperial to the 38th Street Terminal or the NY Waterway bus downtown express.

By Bus from NJ to Port Authority and then go downtown on the IND trains.

-------------------------------------------------------

For further information about this meeting, or the New York Area SAS Users Group, please contact:

Henny Wolland Henrietta.Wolland@Pfizer.Com

_______________________________________________________________________ Sent via Pace University's WebMail system at fsmail.pace.edu


Back to: Top of message | Previous page | Main SAS-L page