There are programmers out there that are clearly macro crazy and sql
crazy(Please do not write email saying I am flaming a bit or changing
the topic since I already know this choose to do so, from one control
freak, I mean programmer to another-You know who you are!). I believe
folks become macro crazy and sql crazy from the insanity virus-(Just
learned sql or macro language before being experienced at the data
step). The virus changes the learning sequence, and causes data base
programmers to learn SAS without learning the data step very well.
It has been my experience that data step code runs much faster then
macro code or sql code. I once was hired to bail out a project where
some Yuck wrote a 4000 line macro to cover every type of table they
could think of. First it took way to much time to figure out how to use
it. The documentation was 40 pages. The volume of documentation
resulting from the complexity of the macro became a communication
problem in the production setting. Second, the person that hired me
said that when they used it to generate the table they wanted, it to 15
hours to run. I tried it on two tables and guess what, it took 15 hours
to run for each table. If you have 200 tables to redo and a tight time
deadline this is very relevant! It took me 1 hour to write the
necessary clear data step code which then took about 30 seconds to run
to generate the same report.
The only time I will use the macro language is when I need to program
something that cannot be done with the data step within several hundred
lines of code and can be done with the macro language with several
hundred lines of code. The one exception is if the macro code chokes
the computer. Then the deadline and circumstances will dictate whether
to macro or not to macro.
With respect to data set manipulation, I have found only a few things
that the sql code can do which data step code cannot due within 90 % of
the number of lines used to write the sql code. There are many data set
manipulation problems where the sql code will choke a computer(Crashing
a Vax) and the data step code will take seconds using little resources.
Seltzers Monthly predictions:
Yes: Some of the time.