SAS Enterprise Guide Makes You Smarter

The difference between working for a business and being at a university is in a business we’re not paying you to show us how smart you are.

Don’t get me wrong. I think the best career advice I ever read was in an article by James Watson in Technology Review, never be the brightest person in the room. Yes, we want people who are very smart but we are not paying them to BE smart, we are paying them to DO stuff.

In a post entitled “Is SAS Enterprise Guide Making You Stupid?“, Chris Hemedinger (yes, that IS his real name) compared using SAS EG to using a GPS to get around London, and now, all of a sudden, no one has the streets memorized any more.

I don’t see a problem with that, since my goal in London is to get from Point A to Point B as quickly as possible, preferably where Point B involves a pub with good beer, and, if that fails, at least a garden, those being the two best things in England in my view. Since my cab driver doesn’t have to memorize all the streets in London, he or she can just focus on the important things, like which roads are closed and which pubs have the best beer.

How this all relates to SAS Enterprise Guide …

Enterprise Guide versus SAS programming is often presented as an either-or solution but I personally find it a lot easier to do certain things just writing the code. This includes setting the options, selecting a subset, writing formats and labels.

I’ve been doing this stuff for a long time so there’s usually a program already on my hard drive that does close to what I want to do. All I need to do is open SAS Enterprise Guide from the START menu, then from the FILE menu select OPEN > PROGRAM and select the program.

For the analysis I’m doing today, I need a new format. One of the great tragedies of life – although defining your own sex format sounds like it’s going to be really hot, all it is, is this.

Proc format ;
value sex
1 = “Male”
2 = “Female” ;

A very abbreviated form of the program is shown below.

libname readin "e:\wuss2010" ;
options nodate missing = " " ;
proc format ;
value sex
1 = "Male"
2 = "Female" ;
data recruits ;
set readin.recruits ;
if will_joi = 4 ;
format sex sex. FAILGRAD SUMMERSC SUSPEND YN. GRADES grades. race $race. ;
Label grades = "H.S. GRADES"
Failgrad = "Failed A Grade"
Summersc = "Attended Summer School"
Suspend = "EVER SUSPENDED" ;

I can use Enterprise Guide to create summary tables. [If you are familiar with PROC TABULATE, this accomplishes exactly the same thing. In fact, if you look at the code, it is, in fact PROC TABULATE.]

From the TASKS menu I select DESCRIBE and then SUMMARY TABLES.

Task Roles in SAS Enterprise Guide

Let’s pause briefly before continuing with the pointing and clicking to review task roles in SAS Enterprise Guide, because this concept comes up a lot. Many Enterprise Guide tasks will require an analysis and/or classification variable.

• Analysis variables are variables for which statistics will be produced, e.g., mean, N, standard deviation. An analysis variable must be numeric.
• Classification variables – are variables by which subjects will be classified within an analysis. Classification variables can be either character (categorical) or numeric. However, if a numeric variable is defined as a classification variable, it will be treated as if it is a categorical variable.
• Group variables – are variables for which separate analyses will be performed.

The window for the SUMMARY TABLES task pops up with the data window.The first step is to define the variables.

I drag sex, race, failgrad, vo-tech and suspend under CLASSIFICATION variables and grades under ANALYSIS variables.

Notice that the RUN button is grayed out and, just in case I didn’t know why, there is a helpful note at the bottom of the window that says
“You must add at least one variable to the Table definition”

Next, I click on Summary Tables (in the left pane of the window) , and begin dragging the variables to the positions where we want them, either row or column. This is very much like painting a table, which is probably the closest I am ever going to get to art.

NOTE that I defined grades as a numeric variable so it is going to be treated that way, with only one row, for whatever statistic I choose. I defined SUSPEND as a classification variable so it will have categories

For each variable, I drag the statistic I want from the pane in the lower left to the desired position in the table.

I want the output to be in html and think the default format is ugly so I’m going to click on the PROPERTIES tab, select HTML for the output type and Torn for the style.

The process flow for this “program” is shown below, beginning with the first step, the program that produced the Recruits dataset, the summary tables task that used the Recruits dataset as input and produced the html file as output.

But what about replicability? In research it is crucial to be able to defend and justify your procedures that led to the results. And my procedure looks like a computer version of Lego. What about THAT?

For those who want to look at the individual code, any of these steps can be double-clicked and a window will pop up with both a CODE tab and a LOG tab at the top and you can read code to your heart’s content. You can copy the code, paste it into a program window and modify it however you want.

When we went from solving equations with a pencil and paper to using computers, I don’t think it made us dumber. Maybe some of the dumb people could now find SPSS in the START menu and run a logistic regression, but they still didn’t know how to interpret it or whether they had done it right or not (my guess would be “not”) and the smart people had more time to read articles on logistic regression, read documentation for whatever software they were using and learn more stuff in the time that they previously would have spent mindlessly crunching numbers.

In fact, I’m not sure that anyone would do a maximum likelihood method by hand unless the person was really, really weird.

By freeing us from the necessity to memorize and perform repetitive tasks, SAS Enterprise Guide has given us the time to engage in more high-level intellectual pursuits.

So, my conclusion is that, SAS Enterprise Guide does not make us stupid. It makes us smarter. And less weird.

We should all write Chris and thank him.

Similar Posts


  1. Thank *you*, AnnMaria, for the post and comments. If people do write to thank me, I will simply pass on the thanks to my great teammates — the people behind the ideas and the software.

    (And actually, “Chris Hemedinger” is just my stage name. You should have seen what it was like before I changed it.)

  2. Pingback: The SAS Dummy

Leave a Reply

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