Everything

As a SAS programmer, the idea of Big Data is nothing new to me. Decades have passed since I first wrestled with the special challenges of making sense out of huge data sets. Some things have changed, of course. A million records doesn’t seem as remarkable now as it did 20 years ago, but the basic principles involved are still the same; we just have a lot more computing power at our command now. So it’s interesting to me to see that the idea of Big Data has finally–even suddenly–hit the mainstream.

I don’t agree with every claim this journalist makes. (Math and Statistics are not the only routes to success in data analysis. What you need is a logical mind and you’re just as likely to find that in someone majoring in Home Ec or Art as in Math and Stats.) And no discussion of Big Data is complete without mention of the fact that SAS Institute practically invented the field. Despite those shortcomings, the fact that Big Data has attracted this much attention is good news for SAS programmers everywhere.

During the discussion, the topic of reviewer comments came up. I mentioned that when Lora Delwiche and I first sent our proposal for The Little SAS Book to SAS Institute, one of the reviewers said, “It’s not possible to write a book like this, and if you do, then you will be doing a disservice to readers!” That was a pretty strong statement, and it stung—a lot. I mentioned this to make the point that you can’t let negative comments derail you from following your dreams. However, I now realize that I may have left people with the impression that they can safely ignore any comments they don’t like. On the contrary, I have learned the hard way that

There is something to be learned from every reviewer’s comment.

Those comments you don’t like…they’re the ones you should pay the most attention to. Maybe, just maybe, that reviewer knows something that you don’t. And maybe, just maybe, that reviewer is even right. If that is the case, wouldn’t you rather find out before your book goes to press? Yessiree, that reviewer might be doing you a favor. Maybe you should (politely!) ask that reviewer for more information. At times like this, it is important to set aside all defensiveness and listen because there is something to be learned from every reviewer’s comment—although it is not always what the reviewer intended.

For example, you will likely get some comments that are just factually incorrect. When you do, it’s tempting to think, This reviewer doesn’t understand!, and then ignore the comment. However, when you get such comments, you should ask yourself, Why doesn’t this reviewer understand? If the reviewer didn’t understand, then perhaps readers won’t understand. Can you make your writing more clear? Did you fail to explain something? What does this reviewer need to know in order to understand?

So what was the lesson to be learned from the reviewer who said that it was impossible to write The Little SAS Book, and that if we did, we would be doing a disservice to readers? The lesson I learned is that some people will react very negatively to a book that is small and friendly. Of course, Lora Delwiche and I never imagined that we were writing a book that would appeal to everyone and that would meet every SAS programmer’s needs. But we also never imagined that some people would react so violently. Honestly, I do think that some people need to get a life. It’s just a book, for goodness sake. But even so, this reviewer did us a favor by warning us.

It may just be me, but every time I attend SAS Global Forum, I always leave feeling that I have missed a large part of the conference. There are too many things going on at once and in too many different places for me to catch it all. Fortunately, for those of us who have yet to master being-in-multiple-places-at-the-same-time, we do get a second chance. Here are three ways to experience SGF right now:

Conference Proceedings Most people are aware that papers from the conference can be found online. You can do a search to find papers related to your interests. A search for “ODS Graphics,” for example, returned no fewer than 50 papers—enough to keep me busy for quite a while.

Best Contributed Paper Awards Don’t want to search through hundreds of papers? Why not start with the best by checking out the winners of the Best Contributed Paper Award for each section of the conference?

SAS Global Forum Take-Out Or better yet, watch videos of some of the best papers in SGF’s Take-Out program from the comfort of your own cubicle.

Recently, my mother handed me a copy of the May 2011 issue of Reader’s Digest magazine. Now, Reader’s Digest is not a magazine that I ordinarily read (though I confess to being a fan of its monthly Word Power vocabulary quiz), but this particular issue holds special interest. The article, Best of America, says that it is a “celebration of all that’s right and good in America.” What’s right and good in America? Well, it turns out that SAS Institute is.

A two-page spread honors SAS Institute as the Best Place to Work thanks to being ranked number one by Fortune magazine two years in a row. Being mentioned in Reader’s Digest may not be as glamorous as being mentioned in Fortune or Economist magazine, but it’s a whole lot more noteworthy. It represents a new level of attention for SAS products–and that can only be good for the prospects of SAS programmers.

I’ve been so busy over the last month that I am just now getting a chance to sort through my notes from SAS Global Forum 2011. Here are a few highlights I found:

SAS OnDemand for Academics

SAS OnDemand for Academics (the cloud computing version of SAS) will be free for academic research starting in Fall of 2011. This is exciting news! I’m surprised it didn’t get a lot more attention at the conference. Since Fall 2010, SAS OnDemand for Academics has been free for use by students enrolled in courses that use SAS. However, the number of professors and students doing research is far greater than the number of students enrolled in courses that use SAS. In addition, professors now have more reason to teach SAS because students will be able to use it after the class is over. This change will help SAS to compete with R since the main reason that R is so popular is because it is free, but SAS Institute will need to work hard to get the word out.

New output in SAS 9.3

SAS 9.3—which is expected to be released this summer—will bring major enhancements to output. For the first time ever, text output (AKA listing) will no longer be the default. HTML will become the default destination for output in Display Manager, and a new default style template, HTMLBlue, will make our output pretty. Of course, you will still be able to turn on text output for those times when you need vanilla instead of mocha-almond-fudge.

ODS Graphics will be part of Base SAS starting with SAS 9.3

ODS Graphics (which became production with SAS 9.2) continues to grow in both features and popularity. In SAS 9.2 you need a SAS/GRAPH license to use ODS Graphics, but starting with SAS 9.3 it will be part of Base SAS. This is good news because it will make sophisticated graphs available to all users of SAS/STAT regardless of whether they have a SAS/GRAPH license. This should also help SAS to compete with R since the second most common reason that people use R is because it produces graphics. (Of course, traditional SAS/GRAPH still does a lot of things that ODS Graphics doesn’t, and you will still need a SAS/GRAPH license to use traditional SAS/GRAPH.)

ODS Graphics will be on by default in SAS 9.3 in Display Manager

One of the problems with ODS Graphics in SAS 9.2 is that you need to turn it on. Many of the people who need it most (occasional statistical users) never learned about it and therefore never turned it on. SAS 9.3 will fix this problem by producing graphs for statistical procedures automatically. This applies only to statistical procedures run in Display Manager; for jobs run in batch, ODS Graphics will still be off by default.

New features in ODS Graphics

In addition to becoming part of Base SAS and being on by default, ODS Graphics will deliver many new features in SAS 9.3. Here are a few of the ones that I’m excited about: bin control on histograms, side-by-side bar charts, ability to control the order of groups, grouped box plots, interval box plots, ability to produce bar charts from pre-summarized data, ability to draw a line using slope-intercept values, and even pie charts—because corporations still produce annual reports despite Stephen Few’s quixotic ranting against them.

New ODS Graphics documentation

One highlight of SGF was something I didn’t see. SAS developers Sanjay Matange and Dan Heath have written a book about SG procedures. A pre-production draft of his book was on display in the Demo Room, but I didn’t get to see it because both copies of the book were stolen! Julie Platt, Editor-in-Chief for SAS Press, told me that this is the first time a pre-production draft has ever been stolen. The fact that someone or some people couldn’t wait a few months for the book to be published says something about how eager people are to use SG procedures.

Enterprise Guide 5.1

Enterprise Guide 5.1 which is scheduled for release toward the end of this year (after SAS 9.3, not at the same time) uses the same basic layout and menus as EG 4.2 and 4.3. This is good news. Early versions of EG evolved so rapidly, that users were forced to learn an entirely new interface with each new release. Starting with EG 4.2, the interface has stabilized. It means that this is a good time to learn EG. If you’ve been waiting on the sidelines wondering when to jump in, it’s time to get your swimsuit.

Las Vegas

I admit I was sceptical about Las Vegas as a location for SGF, but the city of “Lost Wages” turned out to be a fun and classy location for a gathering of SASites (despite the irony of a bunch of statisticians meeting in a gambling capital). I would not be surprised to see SGF return to Las Vegas again.

Semicolon People: The Video

Here we see the real reason why people attend SGF—because it’s so much darn fun. If you missed it at the conference (as I did), it’s not too late to see the video produced by Greg Nelson and Neil Howard. Will next year bring a “Return of the Semicolon People” video?

During the few weeks when my father was sick, I discovered an instrumental version of Aaron Copland’s “The Tender Land Suite” and fell in love with one particular movement, playing it over and over and over….

I just learned that “The Tender Land” is an opera with libretto by Horace Everett—and the movement I fell in love with is named “The Promise of Living.” The story is about a family living on a farm in the Midwest during the Depression. As a young boy, my father lived on his family’s homestead in Kansas—until a massive swarm of locust ate all the crops and the farmhouse burned down. In other words, he grew up on a farm in the Midwest during the Depression. Coincidence?

Here are the words:

The promise of living
With hope and thanksgiving
Is born of our loving
Our friends and our labor.

The promise of growing
With faith and with knowing
Is born of our sharing
Our love with our neighbor.

The promise of living
The promise of growing
Is born of our singing
In joy and thanksgiving.

For many a year I’ve known this field
And know all the work that makes her yield.
Are you ready to lend a hand?
I’m ready to work, I’m ready to lend a hand.
By working together we’ll bring in the harvest,
the blessings of harvest.

We plant each row with seeds of grain,
And Providence sends us the sun and the rain.
By lending a hand, by lending an arm
Bring out, bring out from the farm
Bring out the blessings of harvest.

Give thanks there was sunshine,
Give thanks there was rain,
Give thanks we have hands
To deliver the grain.

O let us be joyful,
O let us be grateful to the Lord
For his blessing.

The promise of ending
In right understanding
Is peace in our own hearts
And peace with our neighbor

The promise of living
The promise of growing
The promise of ending
Is labor and sharing and loving.

With SGF 2011 fast approaching, I’m sure I’m not the only speaker hard at work preparing my PowerPoint presentations. I can remember the old days when speakers brought actual slide trays full of film slides. I don’t miss the expense of those slides or the amount of room they took in my suitcase, and it is wonderful to be able to fix any typos you may discover at the last minute. Still PowerPoint has its limitations….

If you haven’t seen Peter Norvig‘s Gettysburg PowerPoint Presentation, then you definitely should. It’s not new, but I just recently learned about it from my son. Click here to see what is possibly the most entertaining PowerPoint presentation ever created.

I recently learned about an interesting resource for SAS users. Sunil Gupta—a SAS Press author and consultant—maintains lists of his favorite SAS papers on various SAS-related topics. You can peruse these lists on his page on SAScommunity.org.

With SAS Global Forum less than two months away, I am busy putting the finishing touches on my papers. One of those papers is SAS Macro Programming for Beginners. Of all the conference papers I have written over the years, this is probably my favorite. Yet oddly, I have only presented this paper once at SGF and that was long ago. So I am pleased to have an opportunity to dust this paper off.

Don’t expect a lot of advanced macro tricks here. This paper is exactly what the title says: macro programming for beginners. It’s a crystal-clear presentation of the basic concepts you need to understand in order to be comfortable in the company of SAS macros. I can summarize the paper in two sentences that I call “Susan’s macro mottos.” Here they are:

Susan’s Macro Mottos

Remember: You are writing a program that writes a program.

This is the most important concept to keep in mind whenever you write or debug SAS macros. If you feel the least bit confused by a macro, repeating this motto can help you to see what is going on. I speak from personal experience here. This is my macro mantra.

To avoid mangling your macros, always write them one piece at a time.

First write your program in standard SAS code. When that is working and bug-free, then add your %MACRO and %MEND statements. When they are working, then add your parameters, if any, one at a time. If you make sure that each macro feature you add is working before you add another one, then debugging will be vastly simplified.

If you are lucky enough to attend SAS Global Forum and you want to catch this presentation, look for me in the Milano V-VI room Tuesday April 5, 2011, 10:30-11:20 am.