In her completely random blog entry, AnnMaria says:
I can’t see a lot of people who are experienced SAS programmers switching to Enterprise Guide.
Yeah, we get that a lot. SAS programmers sometimes resist adopting SAS Enterprise Guide citing these (paraphrased) reasons:
- "I don't need a point-and-click interface to generate my programs."
- "I heard that my programs run slower in EG." [They can call it "EG". I have to say "SAS Enterprise Guide".]
- "I already know my way around SAS display manager. Why learn this new thing?"
Well, as Mr. Ziglar might say, that's the sort of stinkin' thinking that hardens the attitudes. It doesn't help our cause when a SAS programmer is coerced to switch because of a change in IT policy -- for example, when your IT staff replaces SAS for Windows on your desktop with a centralized SAS workspace server that you must access via SAS Enterprise Guide.
To encourage SAS programmers to take a fresh look at what you can do with SAS Enterprise Guide, I wrote this paper for SAS Global Forum last year.
SAS Enterprise Guide offers several productivity features that match or improve upon what you can do with traditional SAS tools. For example:
You can organize your work into projects. The project file keeps track of your programs, data, tasks, and results. You can still keep your SAS programs on disk in their own files and folders, even on remote servers. The same is true for the data sources: they still live in libraries or databases. The project file simply serves as a recipe with pointers to all of the necessary ingredients to repeat the SAS process you design.
Control your process with the process flow. The process flow diagram shows the relationship of your tasks, programs, data and results within a project. You can read a process flow from left-to-right, top-to-bottom and see exactly what's going to run and in what order. You can even use the process flow to influence the order of things by creating your own links (arrows) between items on the flow.
Keep a history of what happened in the project log. SAS programmers are familiar with the running content of the LOG window within SAS. SAS Enterprise Guide has a project log feature that keeps track of all SAS log content over time. The project log is saved within the project file and accumulates this history for as long as you want it to. You can clear it or save it to an external file at any time.
Let SAS tasks do the heavy lifting. Like to write your own code, but can't remember that GCHART syntax exactly? Use a built-in chart task to get things started, then copy and paste the code that it generates for you. Or use the custom-code-insertion feature to keep your work inside the point-and-click task, but add just the code snippet you need to make it your own.
Get flexible with project prompts. We used to call these "parameters" in previous releases, and SAS programmers call them "macro variables." That's all they are: a way to display a prompt for values so that you can plug them into macro variables and make your program behave accordingly. It's a great way to reuse your work in a variety of situations.
Apply conditions to your tasks. This point is a bit of a spoiler since it's coming in our 4.2 release -- you don't have it yet. You will be able to apply conditions to evaluate to any item in your process flow, and then change the behavior of the flow depending on the condition. Basically, this is a way to provide IF-THEN-ELSE logic to your process flow and make it do different work depending on the situation.
Now I'll be candid: when you use SAS Enterprise Guide you do give up a few things that you might be accustomed to:
- DDE is D.O.A. Read the paper for more details, but basically since DDE relies on interprocess communication between Microsoft Excel and SAS, and your SAS session is running on another machine, the DDE model doesn't work.
- X command and SYSTASK. These functions tell SAS to run operating system shell commands from within your SAS session. By default, this feature is turned off for SAS workspace servers. However, there are workarounds.
- SAS/AF programs. SAS/AF programs and certain SAS applications rely on the SAS windowing environment to display a user interface. In the client-server model used by SAS Enterprise Guide, the SAS workspace does not have anywhere to host those windows. Many customers work through this by developing custom tasks, which provide a better experience in SAS Enterprise Guide.
Our goal is to make SAS Enterprise Guide the preferred tool for SAS programmers. Many SAS programmers have already (voluntarily!) adopted it. We are working on additional key features (for example, a smarter syntax editor, process flow improvements) to help seal the deal for the rest of you. Got a wish list? Post a comment or send us a suggestion.