More on this Topic


SAS® Enterprise Guide® for Programmers: Webinar Follow-up

This webinar was originally presented to a live audience in December 2009 and is now available on demand. This page summarizes the questions submitted by the webinar audience, and the answers that were provided by a panel of experts during the session. Many of the answers have been researched since the original session and are presented with more detail here.

Here are some other links of interest for those who want to learn more about this topic:

Questions and Answers from the Webinar Session

These answers were last updated in December 2009, and apply to SAS Enterprise Guide 4.1 and 4.2, as indicated.

Will this presentation be available for playback at a later date?

Yes, it's available for playback from here.

Is there a 64-bit version of SAS Enterprise Guide for Windows 7?

There is not currently a 64-bit version, but the 32-bit version is supported on 64-bit versions of Microsoft Windows. SAS Enterprise Guide runs as a 32-bit application. Windows 7 support for SAS products is planned for early 2010. In the meantime, you might find this blog entry useful.

Are you are concerned that the 32-bit version of SAS Enterprise Guide will be limiting because it cannot access the larger data sizes and computational power facilitated by 64-bit systems? Don't be. SAS Enterprise Guide is a client application that communicates with a SAS process, which can be a 64-bit application. You can still use SAS with the benefits of a 64-bit architecture even while SAS Enterprise Guide remains a 32-bit application.

Where are the upload/download tasks located in 4.1?

The Upload Data and Download Data tasks are add-on tasks for SAS Enterprise Guide 4.1, and are available for download here. They are labeled as "Experimental" for 4.1 but they are used reliably by many SAS customers. In SAS Enterprise Guide 4.2, they are built into the Tasks->Data menu and are supported as production-level tasks.

SAS Enterprise Guide is not automatically installed. I need to install it as a separate product, right?

SAS Enterprise Guide is a separate application from SAS Foundation (or The SAS System). If installing SAS 9.2 software, you need to make sure that SAS Enterprise Guide is part of your install plan for your client desktop. If using SAS 9.1, you'll find SAS Enterprise Guide in your media bundle on client8cd.

Is the Project Log button only on SAS Enterprise Guide 4.2?

The Project Log feature is much easier to use in SAS Enterprise Guide 4.2. But it is available in SAS Enterprise Guide 4.1. Right-click on the project name in the Project Explorer (tree) view, and select Properties. You'll find settings for the Project Log within the Properties window for the project.

Do you have to turn the project log "on" in every new session? Will it be cumulative if left on?

The Project Log setting is saved with the project. Once you turn it on for a project, it stays on within that project. Any activity that you run within that project will be reflected in the project log, even if you save and close the project and use it later. When you create or open a different project, the project log setting is off by default. You can change the default behavior by checking Tools->Options (General tab): Enable project log for new projects.

How does one compare SAS Enterprise Guide to SAS Enterprise Miner? SAS Enterprise Guide's project process flow appears similar to what would be seen in SAS Enterprise Miner.

The primary user audience, or persona, is different. SAS Enterprise Miner is used to build predictive analytics models or neural networks, and is used by statisticians or modelers. SAS Enterprise Guide is a productivity tool for SAS programmers or business analysts performing ad-hoc query, analytics, and reporting. See this blog post for some more information.

If you allow SAS Enterprise Guide to "write" code, can you see the code?

Yes, absolutely! Many of the built-in tasks allow you to preview the SAS code as you select options, and SAS Enterprise Guide always adds the SAS code to your project when the tasks are run, so that you can see exactly what program statements were used.

SAS Enterprise Guide is different from SAS viewer, right? To use SAS Enterprise Guide, a base SAS license is required, right?

Yes, it's completely different from the SAS Viewer or SAS Universal Viewer. SAS Enterprise Guide uses a SAS session to access data, run programs, and generate results. If you have SAS for Windows (Workstation) installed on the same machine with SAS Enterprise Guide, you need just Base SAS to access these features (SAS/Stat and SAS/Graph are highly recommended). If your SAS installation is on another machine or platform running Windows, UNIX, or z/OS, then you need SAS Integration Technologies to be able to connect to that SAS environment from within SAS Enterprise Guide.

How can I integrate SCL code into SAS Enterprise Guide tasks?

SCL ("SAS Component Language", which was formerly also known as "Screen Control Language") is most commonly used in SAS full-screen applications built with SAS/AF. As such, those uses of SCL are not accessible from within SAS Enterprise Guide, because SAS Enterprise Guide connects to SAS as a "headless" server that has no full-screen capabilities.

To the extent that you can run SCL programs without displaying a user interface (using PROC DISPLAY, for example), you can use SCL programs from within SAS Enterprise Guide. As a general rule, if you can run it unattended within a batch SAS process, you can probably run it using SAS Enterprise Guide.

SAS Enterprise Guide has a rich user interface that offers many features formerly accessed using SAS/AF applications. Before investing too much time in getting your SCL to work, you should explore the built-in features of SAS Enterprise Guide to see if there is something that already comes close to what you need. Also, you can create your own custom tasks (using Microsoft .NET technology) and add them into SAS Enterprise Guide.

Can you annotate and make notes on your process flow diagram?

SAS Enterprise Guide allows you to add Note items to your project, and you can link these to the objects within your process flow for easy reference. There currently isn't a "sticky note" style of annotation, although that is something that's planned for a future release.

For all work that is done in SAS Enterprise Guide, can a batch-mode equivalent be created on demand?

Almost all tasks that you complete in SAS Enterprise Guide generate SAS programs. You can use the File->Export->Export All Code feature to create a standalone SAS program that contains all of the SAS code needed to run your project work in batch SAS.

If you have SAS Integration Technologies or SAS BI Server, you can also publish your project work as a SAS stored process. A stored process is a SAS program that is stored in a central location that can be run on-demand by a group of authorized users. Stored processes can be run in SAS Enterprise Guide, in the SAS Add-In for Microsoft Office, or in a Web application.

How do you make sure a task (or program) has completed successfully before performing the next one?

In SAS Enterprise Guide 4.2, you can add one or more conditions to a task that control whether the task (and any items that follow it) will run. A condition can be based upon a prompt value, date/time conditions, or a value in SAS data set. It's this last type that can be very powerful, since you can add almost any value that you want to a SAS data set and check for it within a condition.

To ensure that a particular task has what it needs before continuing, use a Query Builder or SAS program step in the project to populate a value into a SAS data set. Then create a condition (right-click on the task and select Condition->Add), and create a condition based upon the expected value within the data set you created.

Is there a separate charge for SAS Enterprise Guide apart from the SAS 9.x license?

SAS Enterprise Guide is provided with SAS for Windows (Workstation) at no additional charge. It's also provided as part of a number of SAS packaged solutions. You can also license it as a separate product for use with SAS already installed at your site. You should work with your SAS account representative to learn whether you already have SAS Enterprise Guide or what is required to get it.

Are there whitepapers beyond this presentation teaching specific steps taught in this seminar?

There are many additional resources for information about SAS Enterprise Guide and how to use it. The SAS Enterprise Guide product support page is a great place to start. You might also be interested in this training course: SAS Enterprise Guide for Experienced SAS Programmers or these other related offerings.

I was told by our IT department that SAS 9 or SAS Enterprise Guide requires that the coder manually add the "WITH UR" clause to the statement. Why is this necessary and where should it go in the code?

This appears to be a nuance of your database client. The Query Builder in SAS Enterprise Guide generates SQL queries using ANSI SQL, and the SAS SQL processor tries as best as it can to ensure that the SQL commands are passed down to the backend database (for example, Teradata or Oracle or DB2) where it can be run most efficiently. Your specific example of "WITH UR" may be a factor for certain DB2 clients ("UR" stands for "uncommitted read"). You should work with SAS Technical Support to see if there is a way to avoid having to use custom query code, especially if you would rather stick to the point-and-click Query Builder.

How do you run cross tabs using a sum of a weighted value as an output? I'm trying to get frequency within cross tabs.

There are two tasks/wizards for cross tabs: Summary Tables Wizard and Summary Tables Task. You can try these (they both use the TABULATE procedure in SAS.) For a weighted sum, you might want to use the Query Builder to make the calculation first.

I use an program to define libnames, user formats, macro library, ... Does SAS Enterprise Guide use this?

Yes, if your SAS session is initialized with an program, the statements are automatically run when you connect to SAS using SAS Enterprise Guide. If you want to create your own statements that run only when you connect with SAS Enterprise Guide, you can follow the instructions in this tip on

We can chain several SAS programs together by using "%include" statements. Can we chain multiple EGP projects together? If so, how?
We can batch submit our SAS programs, how can we batch submit EGP projects?

There is not a way to use the SAS Enterprise Guide user interface to "chain" projects together. But you can automate SAS Enterprise Guide to run projects unattended by writing scripts. The scripting API documentation is available here.

SAS Enterprise Guide has a File->Schedule Project feature that:

  1. Creates a VB script (VBS file) to run your project.
  2. Adds an entry into the Windows scheduler to run this script at a time that you specify.

You can modify the VB script to open and then run more than one project in sequence.

Given that the project flow can show tasks that may be run in parallel, will SAS Enterprise Guide run those tasks simultaneously?

Yes, that's possible to do. Each SAS session (workspace) can run just one thing at a time, but you can create projects that connect to multiple SAS sessions and run tasks in parallel. See Multitasking in your SAS Enterprise Guide projects for more information.

What's a "program node"?

It's simply a SAS program that you include within your SAS Enterprise Guide project to run as part of your project flow. You can create program nodes that exist only in the project ("embedded"), and you can also reference program files that reside on your file system (.SAS files). These SAS files can be on your local Windows file system or on the file system of a remote SAS session that you connect to.

In the main project showing tasks flows, is there a way to document its elements (especially the program scripts), such that:

These are great ideas. There currently isn't any such feature other than the File->New->Note items discussed earlier. Please keep those suggestions coming!

How can you debug DATA steps using SAS Enterprise Guide 4.2?

The DATA step debugger, being a full-screen application based in SAS, cannot run within SAS Enterprise Guide. You can still use the time-tested and proven techniques of OBS=0 (to prevent data processing) and strategically placed PUT statements (to see the values of key variables within the SAS log).