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 1997, week 5)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:   Tue, 30 Sep 1997 09:00:51 -0500
Reply-To:   "Seltzer, Jon D." <SeltzerJD@PHIBRED.COM>
Sender:   "SAS(r) Discussion" <SAS-L@UGA.CC.UGA.EDU>
From:   "Seltzer, Jon D." <SeltzerJD@PHIBRED.COM>
Subject:   Re: Abusing SAS Macros
Content-Type:   text/plain; charset="us-ascii"

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.

>


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