SAS Enterprise Guide options: my favorite 5

44

SAS Enterprise Guide has about 150 options that you can customize in the Tools->Options window. With each release, the development team adds a few more options that have been asked for by customers, and they rarely decommission any existing options. It's getting quite crowded on some of those options windows!

Alas, the team has not yet discovered how to implement the "Read my mind" option (but believe me, it's been requested), so it remains up to you to investigate the options that are offered and select those that suit the way that you want to work.

I use SAS Enterprise Guide every day to get work done, and I've got some favorite settings that I like to run with that help me to be more productive. Here are my top 5.

Replace results: Replace without prompting

How to find it: Tools->Options->Results->Results General, under the Managing Results heading.

The Replace Results option

After you set this option, you'll never again see this message "Do you want to replace results? Yes, No, or Cancel" when you re-run a task or program. Your results will always be replaced, which is what most people almost always want.

Turn off Show generated wrapper code in SAS log

How to find it: Tools->Options->Results->Results General...about halfway down the window. This option really helps to declutter your SAS log within SAS Enterprise Guide. I've written about this option in more detail in a previous post.

Show full details when viewing SAS libraries in File Dialog

How to find it: Tools->Options->General...about 1/3 of the way down the page. Checking this option allows you to see more details about the data sets in your libraries before you add them to your project. Read more about the File Details option in an earlier post.

Turn off Show Welcome window at start-up

How to find it: Tools->Options->General...top option. Or, check the box that says "Don't show this window again" the next time you see the "Welcome to SAS Enterprise Guide" window. This tells SAS Enterprise Guide, "Hey, the honeymoon is over. Get out of the way and let's get to work."

The Welcome window does provide handy one-click access to your most recently used projects. But you can also get to those via File->Recent Projects. Bonus added in the 4.3 release: File->Recent Programs, which provides easy access to SAS program files that you've opened recently.

Change default SAS Report style to Plateau

How to find it: Tools->Options->Results->SAS Report, Appearance section.

The default ODS output style for SAS Report is Analysis. It's a nice clean style, but I prefer Plateau because it's a bit more concise and can fit more information on a screen. Here: take a look at this sample to see what I mean. There are lots of different styles: experiment and see which one you like the best.

Change Graph Format to PNG

How to find it: Tools->Options->Results->Graph, Graph Format.

The PNG graph option

The default graph format for items such as bar chart and line charts is ActiveX. ActiveX has been the default output format in SAS Enterprise Guide since 1999, when the product shipped with version 1.0 on top of SAS Version 8. Back then, the quality of the charts produced using the ActiveX graph control was pretty impressive when compared to the output produced using GIF or similar static chart types.

The ActiveX device tells SAS to generate verbose scripting code as part of the SAS Report or HTML output. Then a client-side control is used to render the graph. This allows for some interactivity in the graph, but it also comes with a limitation: if the graph contains lots of data points, the script gets larger, and that can make for a very large output file.

SAS/Graph has come a long way since the early days of SAS Enterprise Guide, and with SAS 9.2 we like to recommend the PNG device for most applications. The PNG (or GIF or JPEG devices) respect the SAS graph styles and look pretty nice. If you use ODS Graphics (or the SGPLOT procedure), you get PNG already since ActiveX isn't supported.

Whoops, that's 6 options, not 5! Once I get going it's difficult to stop. I've got some other favorites that I recommend for certain situations (working with databases, making the best of network latency, collaborating with teammates on projects); those will provide good topics for a future post.

What about you? Do you have a favorite set of options for SAS Enterprise Guide, or even SAS in general? Post back in the comments.

Share

About Author

Chris Hemedinger

Senior Manager, SAS Online Communities

+Chris Hemedinger is the manager of SAS Online Communities. Since 1993, Chris has worked for SAS as an author, a software developer, an R&D manager and a consultant. Inexplicably, Chris is still coasting on the limited fame he earned as an author of SAS For Dummies.  He also hosts the SAS Tech Talk webcasts each year from SAS Global Forum, connecting viewers with smart people from SAS R&D and the impressive work that they do.

44 Comments

  1. Michelle Homes on

    Thanks for sharing your tips Chris... I hadn't noticed the "Replace without prompting" setting before so thanks for pointing that one out.

    In teaching SAS Enterprise Guide courses for SAS Institute Australia I find that some common settings/options people want to know are:
    - Removing the default footnote that appears in results (Tools -> Options -> Tasks -> Tasks General)
    - Removing the SAS Procedure title in results (Tools -> Options -> Tasks -> Tasks General - checkbox or in code ODS NOPROCTITLE;
    - Turning off the default setting in Enterprise Guide which automatically opens data when added to a project (Tools -> Options -> Data -> Data General)

    I just love using the ODS excelxp tagset statement & options at the moment... Using it with the SAS macro language, it is an awesome way to automate the creation of excel spreadsheets - are there any plans for including this as a task in EG for the non-programmers?

  2. Awesome post Chris!

    Couple of my 'required' option settings are based on prior expeirence.

    A statistics professor from NCSU always preached that we MUST review the logs first before reviewing the output. So I've set the option 'Project Views' -> 'Show SAS Output Log' to on. I also uncheck the box to 'Automatically open data or results when generated' in the 'Results'->'Results General' area. (This second one keeps me from cheating and looking at the results 1st anyway.)

    Also, to keep me from sitting at the computer goofing off while waiting for large data sets to open or to receive the 'are you sure you want to open this' message. I unchecked the box for 'Data'->'Data General'->'Automatically open data when added to project'.

  3. Michelle, thanks for sharing! Great tip about changing the default footnote text. Did you know that EG creates some macro vars you might find useful there? Try "Created by &_CLIENTUSERNAME" and see what you get.

    I agree that tagsets.ExcelXP is powerful. The EG and SAS Add-In team are working on better integration to show you ExcelXP results, but not too much for controlling what you get without additional programming. The ExcelXP options are tremendous; it's difficult to put a comprehensive user interface around all of that.

    Instead, point-and-click users can use SAS Report, and create custom reports with File->New->Report. Then you can "Send To Microsoft Excel" if you have SAS Add-In for Microsoft Office installed.

  4. Angela, that "automatically open data" tick mark is a favorite for folks who don't want to automatically hit a data source just because it was created/modified by a step. There are actually two options: one in the Data section ("Open data when you add it to the project") and one in the Results section ("Automatically open data/results when generated").

  5. Andy Ravenna on

    Another great entry in your blog, Chris. Thanks for sharing your thoughts. These are awesome tips that I will share with my SAS Enterprise Guide students.

  6. Bob Whitehead on

    Chris,

    "Alas, the team has not yet discovered how to implement the "Read my mind" option..."

    I am still looking for an explanation for an old internal option that existed until not long ago.

    options $magic;

    I can only assume this was one of the earlier attempts at "read my mind"

    Of course I was always very afraid of changing the option to "$nomagic" just in case ......

  7. Doc Muhlbaier on

    I must add one, absolutely necessary for me, option to the list. My clients all use Word, so they prefer RTF reports. However, the default date that is used is the Word version on today(), so every time the result is opened it displays today's date rather than the date created. The fix is in

    tools --> options --> results --> rtf
    and add
    sasdate
    to the box labelled "Additional Options for the ODS RTF statement:"

    I find that much more satisfying than using the global NODATE option and relying on the footnote.

  8. Dave Underwood on

    Hi Chris, you made reference to this post in reply to my colleague Ben's query on my behalf regarding "Collecting results". Obviously there are a number of preferences that can be selected to limited the time this takes.
    However, if "Collecting results" actually means downloading the ODS results from the workspace server into your EG project why does it take some time if the only thing run is a simple datastep? The only thing being collected is the "Output Data", & if the "Automatically open data/results when generated" preference is already deselected then shouldn't the "Output Data" tab not be required at all as there is no ODS component?
    Ideally it would be great if "Collecting results" could be suppressed entirely by a preference as well.
    Any other thoughts greatly appreciated, Thanks.

  9. Dave,

    You might be running into an issue, relatively rare but reported by a few customers, where we see an inexplicable delay in the "collecting results" step. I recommend that you work with SAS Technical Support to collect some diagnostic logs, and perhaps together we can identify a solution.

    Chris

  10. Bruce Nawrocki on

    I like the look of the Plateau style, but it's not available on SAS EG 4.1. Any suggested substitutes for those of us still using 4.1? Or could I find the Plateau style somewhere and install it myself?

  11. Pingback: The default settings are not good enough - The SAS Dummy

  12. An option that has saved my sanity...putting my column names in alphabetical order.

    Tools -> Options -> Data -> Data General

    The first checkbox: Display columns in alphabetical order within task windows and the Query Builder.

  13. Pingback: Traffic report: the most visited posts of 2011 - The SAS Dummy

  14. Hi,
    I know all the cool kids are in sunny Florida... But I'm just starting to play with EG, and I'm curious:
    Is there a way I can assign a function key to be "Run Selection"? F8 runs the whole program. And I'm getting tired of mousing to run->selection. Thanks for the tip on how to replace without prompting! Good luck with the closing session!
    --Q.

    • Chris Hemedinger
      Chris Hemedinger on

      Quentin, If you select/highlight lines of code in EG and press F3, it should submit just the selection. I do this quite often, actually, while developing bits of code.

  15. Chris,

    Do you know if it's possible to disable the option "send to microsoft.."???
    I have a request from my audit team to deny all the options to save data into users desktops...

    Thanks

  16. Thanks for the great tips, I just switched from Base SAS to EG and found these really helpful. I have a specific question - is there a way to get SAS EG to keep on writing code to the LOG file without deleting the log for previously submitted statements? So if I run interactive code and want to submit it statement by statement - can I get SAS to just keep on writing to the same LOG file without overwriting previous statements? Thank you in advance.

    • Chris Hemedinger
      Chris Hemedinger on

      Marina, you might look at the Project Log feature for what you want. It aggregates all of the logs produced by all tasks and programs in your project.

      • Thank you - the project log does indeed contain all the log statements for any code I have submitted. I just hadn't noticed that option before. Thanks again.

    • Sakthivel Ramasamy on

      Hi Chris,
      I would like to add one more question related to SAS EG logs. I'm working on automating SAS EG projects using the VBS scripts generated by SAS EG, I would like to send an email to the users with SAS log attached. I already have the code for email, but i don't know the location of SAS log. Where can I find it?

  17. Thank you so much Chris. The reduced clicking from F3 and "...without prompting" is enough to make grown men cry.

    I wanted to share that checking the box for "Automatically run "Autoexec" process flow..." can save a lot of time too. That flow is a good place for libname and ODS statements that I know I am going to run every time.

  18. Chris,

    These are some great options that you have outlined here. I just have one follow up question, related to the "prompt without replacing option". Is there any way that you can have EG prompt before running an entire process flow? In EG 4.3, if you click anywhere within a process flow and press F3, EG will start to run your entire process flow. I have run into cases in stacked or side-by-side view where I thought the active window was a program file, only to find out after pressing F3 that the active window was actually my process flow. If this happens, then not only will EG start running all your programs, but it also seems that all your log files for existing programs will be immediately wiped, no matter how quickly you scramble to stop the processing (unless you have been writing them out to an external file using PROC PRINTTO). I would love to have a prompt that warns me I am about to run the whole process flow--do you know any way to do this?

    I love the SAS Dummy blog--thanks for all the tips!

    • Chris Hemedinger
      Chris Hemedinger on

      Andrew,

      I've been burned by that F3 thing as well. Unfortunately there isn't an option to change that behavior. I'm thinking that removing F3 as a shortcut for "run flow" is the proper fix, since I think it's great for Programs, but not for the entire flow. It would make a good suggestion for the SASWare Ballot!

  19. A solution to the "Collecting Results" problem is to run ODS NORESULTS; before any ODS output steps run.

    This stops EG from processing ODS results output, which can take 10-20 mins if your project is generating 100s of reports in a macro loop, as we do. Refer to the SAS doco for more info.

  20. Great post, thanks. Does anyone know if it's possible to make EG 'save' my windows layout? I like the process view on the left, thin, and the data view on the right, wider, and finally the tasks running view on the bottom, as squat as it can be.

    Exiting a project or restarting the program makes them all jump back to middle-middle-too tall which is an irritant....

    Thanks

    • Chris Hemedinger
      Chris Hemedinger on

      John,

      It looks like EG saves the general window arrangements (which items are open and options like "Split" or "Stack" windows) but not the proportions. Sorry...

  21. Deon Pretorius on

    Hi Chris,
    How do I create a log file And still see the log in the tab. Important that the log file has all log details and so does the log tab.

    Many thanks
    Deon

  22. Hi Chris,
    When I run the program and I have my tools options, results General, text output selected.

    can we remove the prompt Downloads results?

    'Before these results can be viewed, they need to be downloaded, would you like to download them now?'

    Then appear the download button.

    Any change to get rid off this window?

    I would like to see my txt report document directly, without this window question of download.

    Many thanks.

    • Chris Hemedinger
      Chris Hemedinger on

      Usually text results (ODS LISTING) are displayed automatically. If your program is creating additional results (like PDF or HTML), the SAS Enterprise Guide will prompt you before downloading. You can change that behavior by UNCHECKING the "Link handcoded ODS results" option in Tools->Options->Results General.

  23. Under Tools/Options/Data/Performance you can set the maximum number of rows to show with SAS/Access data, but didn't there use to be an option to limit the number of rows shown after a query? I know I could do it in EG 7.1, but I don't see it in EG 7.13? I know you can limit the number of records output under query results, but what I want to do is only see a certain number of records when I open the results, but still be able to do additional work on the entire dataset. I don't have a need to browse through millions of records when opening a query result.

    Thanks,

    • Chris Hemedinger
      Chris Hemedinger on

      In the "Options for this Query" window (which you can select on the top bar of the Query Builder), you can limit the number of output observations (OUTOBS) as well as limit the number of input records that are considered for the query (INOBS).

  24. Ramesh kumar SK on

    Hi there!

    I’m looking for an option to run my user defined macro thru keyboard shortcuts. This is because I’ve built a tool as a SAS macro and run it with user defined keyboard shortcut. Any help would be appreciated.

    Ramesh

  25. Andrea Zimmerman on

    I'm new to EG, been using PC SAS for many years. I often highlight a section of code and run that to see what happens before moving on to the next section of code.

    I'm grateful to learn how to keep that annoying log pop up from happening every time, but what I really want is for it to just append to the existing log and keep adding, not wipe it all out and replace it.

    Is that an option that I'm just missing or does it go on the list after mind reading?

  26. Thank you Chris for posting this. At a previous workplace I would use the SAS generated code for Proc Export and Proc Import to start my import program. From there I could make small tweeks and voila, new code without the hassle. Currently I am not seeing the generated code for Proc Import. Can you tell me how to retrieve it?

Leave A Reply

Back to Top