If one is heavily into SAS/AF or statistical analysis perhaps one can push
SAS macro or at least prove useful without this skill. If one operates with
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
general Senior SAS Programmer without a sound understanding of SAS macro.
The "compile step then execute step" nature of SAS makes SAS macro both
powerful and necessary. If anything I would downgrade your candidate for
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
In the MS case they offer a cheap way to get cheap results without sound
skills. As such they offer the ability to make a product useful to someone
otherwise could not use it.
In SAS, macro provides the ability to provide flexible and complex programs
could probably not be otherwise produced in SAS. In other words the lack of
skill hampers one's ability to produce good SAS programs. The lack of macro
the MS world can indicate a mature VB programmer. The lack of macro in SAS
indicate a student programmer.
There are good reasons for distrusting SAS macro. It is easy to write very
and unmaintainable code. It is hard to debug and probably rarely adequately
It disconnects the written program from the help of the SAS compiler because
macro facility is a text processor and can have no SAS knowledge. The
analogy in VB is the construction of a string of SQL code. The VB compiler
to be able to judge the validity of the string as valid SQL code. To deny
macro in SAS, to me, is equivalent in VB to denying the use of SQL code in
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
versus another language is reasonable. The choice SAS without macro is a
crippled misunderstanding of where the language gets it power from. To be a
SAS programmer one has to learn how to use macro, conquer its weaknesses and
not avoid macro altogether.
Now when should one delve into SAS Macro? I think it wrong to consider
before one has a sound understanding of how SAS works. To study macro too
stunt one's ability to write good code rather than enhance it. At first I
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
mastered, then I would start to add macro instructions.
Ian Whitlock <email@example.com>
From: paula [mailto:icj808@USWEST.NET]
Sent: Wednesday, September 13, 2000 9:27 PM
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