SAS Programming Professionals,
SAS & bugs & rock & roll? But, of course!
Because of its amazing versatility, SAS is indisputably the greatest software package currently in use anywhere within the Milky Way Galaxy. Can SAS input every type of flat file imaginable? Yes! Can SAS read and write to relational database management systems? Yea! Can SAS perform predictive analysis? Yup! Can SAS facilitate end-user analysis of data via web-based GUI’s? Uh-huh! Can SAS be used to Extract? Of course! Can SAS be used to Transform? Affirmative! Can SAS be used to Load? Well, duh! Can SAS help you to lose weight? Aw c’mon; let’s not be silly here!
Given that SAS is so powerful and that you want to either learn it or to learn more about it, here are a few helpful resources:
- Learning SAS – You can either learn SAS from scratch or learn something new about SAS from SAS Education. They offer dozens of classes in various formats that range from classroom lectures/exercises at SAS training facilities to e-learning classes that you can take from the privacy of your own office. There is likely a SAS class just waiting for your own particular needs.
- SAS Documentation – Documentation on every SAS product can be found on the support.sas.com web site. The online documentation is entirely free and easily searchable via a number of facilities on the documentation web pages.
- SAS Books –If you prefer to curl up with a good SAS book, then you are in luck! SAS Press offers a couple hundred SAS books written by expert SAS programming practitioners.
- Using SAS – There is no substitute for experience; and you can learn how to use SAS from a legion of SAS programming professionals by reading the technical papers they have published as SAS conferences. Two great links for this are:
- Lex Jansen’s web site – Allows you to search thousands of SAS conference proceedings for specific SAS topics.
- org – This SAS-oriented wiki has links to thousands of SAS technical papers.
Now that you have some ideas about SAS information, you should: Extract it from the classes, documentation, books, and technical papers; Transform the way that you write your SAS programs; and Load those new ideas and techniques into your professional SAS programming assignments.
So, when was the last time that you wrote a SAS program from scratch and didn’t have a single NOTE:, WARNING:, or ERROR: message in the log? Right; thought so; same here! Bugs are as much a constant of SAS programming as they are of any other type of programming. There are generally two types of bugs in SAS programs: logic bugs and programming bugs. Logic bugs are generally harder to catch because they are tied to the algorithms you are using to Extract, Transform, and Load your data in your SAS programs. They may result from bad specs, an insufficient understanding of the programming assignment, unruly data, or other meta-programming circumstances. Programming bugs result from the way that you code SAS programing language statements to Extract, Transform, and Load data.
Fortunately, the SAS log is a great source for identifying and correcting programming bugs in SAS programs. But, don’t take my word for it; check out a few recent papers from the experts:
- SAS® Debugging 101, by Kirk Paul Lafler
- The Three I's of SAS® Log Messages, IMPORTANT, INTERESTING, and IRRELEVANT, by William E Benjamin Jr
- Cleaning up your SAS® log: Note Messages, by Jennifer Srivastava
Of course, if your attitude is summed up by the infamous quote:
“The SAS Log is basically a waste of time and effort. I never look at it because it only prints bad news!”
…then the aforementioned links are not going to be of any help. None at all!
& Rock & Roll
Do you listen to music when you are writing SAS programs? I do. But, the type of music that I listen to is entirely dependent upon the type of SAS program that I am writing. If I am writing a new program with complicated logic, then I like to have either spa or ambient music playing in the background. If it is a run-of-the-mill SAS program, then it’s got to be rock!
I have eclectic tastes in rock music, but my go-to-bands for SAS programming are (in no particular order): Led Zeppelin, Pink Floyd, Nirvana, the Who, Nine Inch Nails, David Bowie, Depeche Mode, the Cure, and Green Day.
You can see that “classic rock” is well represented in my list of favorite groups to program by. If you are a fan of classic rock and want to find a classic rock station in your own particular corner of the US of A, then check out SAS data visualization guru Robert Allison’s classic blog post: When did ‘your music’ become ‘classic rock’
Robert’s informative post will also show you the top 20 rock artists overall in the 25 radio stations in the sample, so that you will know what to expect. What to expect—that is—besides great music with which to write your serious SAS programs.
SAS & bugs & rock & roll? Yep; just another great day in the office!
Best of luck in all your SAS endeavors!
(aka Michael A. Raithel)