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 (September 2000, week 2)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:   Thu, 14 Sep 2000 10:24:24 -0400
Reply-To:   Ian Whitlock <WHITLOI1@WESTAT.COM>
Sender:   "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:   Ian Whitlock <WHITLOI1@WESTAT.COM>
Subject:   Re: SAS macro skills: master or not master ?
Comments:   To: paula <icj808@USWEST.NET>
Content-Type:   text/plain; charset="iso-8859-1"

Paula,

If one is heavily into SAS/AF or statistical analysis perhaps one can push aside SAS macro or at least prove useful without this skill. If one operates with SAS as a programming language for data manipulation, batch jobs, or reporting then I don't see how one can avoid SAS Macro. I would not want to consider anyone an experienced general Senior SAS Programmer without a sound understanding of SAS macro.

The "compile step then execute step" nature of SAS makes SAS macro both astonishingly powerful and necessary. If anything I would downgrade your candidate for putting the skill at 6 on a scale of 10. I would argue for 4 or lower.

Do not confuse SAS macro with macros is MS products. There is little relationship. In the MS case they offer a cheap way to get cheap results without sound programming skills. As such they offer the ability to make a product useful to someone who otherwise could not use it.

In SAS, macro provides the ability to provide flexible and complex programs that could probably not be otherwise produced in SAS. In other words the lack of macro skill hampers one's ability to produce good SAS programs. The lack of macro in the MS world can indicate a mature VB programmer. The lack of macro in SAS should indicate a student programmer.

There are good reasons for distrusting SAS macro. It is easy to write very unreadable and unmaintainable code. It is hard to debug and probably rarely adequately tested. It disconnects the written program from the help of the SAS compiler because the macro facility is a text processor and can have no SAS knowledge. The closest analogy in VB is the construction of a string of SQL code. The VB compiler is helpless to be able to judge the validity of the string as valid SQL code. To deny the use macro in SAS, to me, is equivalent in VB to denying the use of SQL code in VB.

The object oriented programming languages gain their power by other means, but if one is to work in SAS, then the SAS means of providing power is SAS macro. The choice SAS versus another language is reasonable. The choice SAS without macro is a foolishly crippled misunderstanding of where the language gets it power from. To be a complete SAS programmer one has to learn how to use macro, conquer its weaknesses and difficulties, not avoid macro altogether.

Now when should one delve into SAS Macro? I think it wrong to consider macro techniques before one has a sound understanding of how SAS works. To study macro too soon will stunt one's ability to write good code rather than enhance it. At first I would limit the use of macro to providing a parameterized unit of SAS code. So that at first a macro would be no more that SAS code with macro variable references. After this has been mastered, then I would start to add macro instructions.

Ian Whitlock <whitloi1@westat.com>

-----Original Message----- From: paula [mailto:icj808@USWEST.NET] Sent: Wednesday, September 13, 2000 9:27 PM To: SAS-L@LISTSERV.UGA.EDU Subject: SAS macro skills: master or not master ?

Today I had the great honor to be invited to sit in a technical interview of a candidate for a senior SAS programmer position. The guy obviously was very capable and experienced. He especially showed a lot of his knowledge about Macro. I recall he said if a SAS user is not very good at using SAS Macro languages, the user should not be called a sas programer. One of my SAS staff, who happens to be not very fond of SAS Macro for some reason, asked him on a 10-point scale, if one does not master SAS macro languages, what is the max he can get. The guy said 6.

I heard similar opinons/comments about Macro before, as related to MS Excel and VBA programing. I recently embarked onto Macro variables and understand they are good text substitutes. I would like to hear some feedbacks on Macro before I get deep into it. TIA. Paula D


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