Enterprise guide for SAS coders.(Part 1 – Code glorious code)

by | Feb 5, 2013

Enterprise guide for SAS coders. (Part 1 – Code glorious code)
There is a silent war in the SAS world, 2 camps locked in a bitter rivalry. In the red corner we have Base SAS coders, who believe that writing in pure code is the way forward, in the Blue corner there are the Enterprise Guide converts who like to use the tasks and wizards in their projects.
I can’t answer which approach is right but I will offer pros and cons to both arguments and I think I can offer a compromising way forward.
 
The common arguments for and against pure code
Pros:

  • Runs faster
  • Easy to manage
  • Transportable
  • Debugging is easy
  • Easy to reuse/repurpose

Cons:

  • Hard to understand and write for new users
  • Large jobs can be confusing to navigate
  • Can be very messy!

 
While lots of people take courses on how to code in SAS not many people (in my experience) are aware of basic good practice for writing code, this may be something as simple as a change log or a context statement at the start of each body of code. I have seen strings of code out there with little to no commentary; this really means that while the author knows what the code is up to it may take another coder a significant amount of time to get to grips with it.
Another issue is that clever coders can write the same tasks a number of different ways, not just SQL vs. data step but there a so many different ways to produce the same results. You may be a good coder but picking apart someone’s macro code can be like watching the movie Donnie Darko; frustrating, confusing and probably a waste of your time.
In the part 2 we look at the pros and cons to using Enterprise Guide’s tasks and wizards.
 
 

0 Comments

Trackbacks/Pingbacks

  1. How to search your SAS Enterprise Guide Projects « OptimalHq - [...] few weeks ago Chris Hemedinger linked to one of my blogs from his SAS for Dummies blog, well I…
Submit a Comment

Your email address will not be published. Required fields are marked *