A SAS options viewer for SAS Enterprise Guide

15

On the heels of the release of the popular SAS macro variable viewer from last month, I'm providing another custom task that I hope will prove just as useful. This one is a SAS options viewer, similar in concept to the OPTIONS window in SAS display manager.

You can download the new task from this location. (The download is a ZIP file with a DLL and a README.pdf that explains how to install it. In fact, it's the same download package as the macro viewer task; I've packaged them both in the same DLL, so if you install one, you get them both. You're welcome! Both tasks require SAS Enterprise Guide 4.3, with a SAS 9.2 or 9.3 environment.)

If you've tried the macro variable viewer, then the user interface for the Options viewer will look familiar. It shares many of the same features: the window "floats" as a toolbox window so you can keep working while it's visible, you can filter the results (important, given the hundreds of options!), you can view options as a straight list or grouped by category. In addition, there are important features specific to SAS options, such as the ability to see details about how each option was set and where it is valid. Here is the complete set of features:

Always-visible window: Once you open the task from the Tools menu, you can leave it open for your entire SAS Enterprise Guide session. The window uses a "modeless" display, so you can still interact with other SAS Enterprise Guide features while the window is visible. This makes it easy to switch between SAS programs and other SAS Enterprise Guide windows and the options viewer to see results.

Select active SAS server: If your SAS environment contains multiple SAS workspace connections, you can switch among the different servers to see options values on multiple systems.

One-click refresh: Refresh the list of option values by clicking on the Refresh button in the toolbar.

View by group or as a straight list: View the option values in their group categories (for example, MEMORY, GRAPHICS, EMAIL, etc.) or as a straight list, sorted by option name or current value. Click on the column headers to sort the list.

Set window transparency: You can make the window appear "see-through" so that it doesn't completely obscure your other windows as you work with it.

Filter results: Type a string of characters in the "Filter results" field, and the list of options will be instantly filtered to those that contain the sequence that you type. The filtered results will match on option names as well as values, and the search is case-insensitive. This is a convenient way to narrow the list to just a few options that you're interested in. To clear the filter, click on the X button next to the "Filter results" field, or "blank out" the text field.

Show option details: The "About" pane at the bottom of the window shows details about the currently selected option, including the current value, its value at session startup (SAS 9.3 only), where the option can be set (in OPTIONS statement or startup) and how the current value was set. You can show or hide this pane by clicking a toggle button at the top of the window.

I can imagine several more features that might be useful, but I decided that these were enough for a first version. Try it out and leave feedback for me in the comments here. (That worked pretty well with the macro viewer task; in fact, this options viewer was one of your suggestions!)

See also:

Share

About Author

Chris Hemedinger

Director, SAS User Engagement

+Chris Hemedinger is the Director of SAS User Engagement, which includes our SAS Communities and SAS User Groups. 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

15 Comments

  1. Pingback: Inspecting SAS macro variables in SAS Enterprise Guide - The SAS Dummy

  2. i'm new to the SAS Tool.
    I need to execute some SAS macro in SAS Environment using c# windows application and need to get the output from it. (like SAS Enterprise Guide Automation using C#)
    Can any one tell me how to start.

    SAS Environment is in server.
    C# Window Application need to developed in local Machine.

  3. This is great!
    not only providing the "Current value", but also the source of the value, as well as the "startup value" .

    Only way I could think to improve this would be adding a link to the online-doc for the system option ;-)
    except, just checking, some options like LOGNOTE1 are not present.
    There is a classing of options that do not appear: host, "Portable" and Internal.

    • Chris Hemedinger
      Chris Hemedinger on

      Thanks for the comments, Peter. I did consider the online doc link, and might add that at some point. The HOST/PORTABLE distinction is probably not as useful to users as it once was (most options are PORTABLE in name but some have HOST-specific nuances).

  4. This is very easily done in Display Manager. A simple macro assign to a function key.
    Now in EG - Click, click click .... waste of time!!

    • Chris Hemedinger
      Chris Hemedinger on

      I built this task because I recognized that many EG users missed the easy access to the OPTIONS window, which is accessible from a simple command in Display Manager, as you point out. I tried to improve the experience a bit though, by making the Options list very easy to search, and to provide a richer set of information (how the option was set, for example). I hope that you'll agree that the Macro Variable Viewer task is even more useful, and it doesn't have a direct analogy in SAS Display Manager.

      • Hi Chris

        That is fine. But why take away functionalities such as the Display Manager and functions keys!!! where these kind of things can easily be done in a SAS macro then assiged to a function key etc.

        Regards

        • Chris Hemedinger
          Chris Hemedinger on

          True, display manager makes it convenient to map keys to any function. Just a reminder that nothing is taken away, Display Manager continues to work. This post is about adding something new to SAS Enterprise Guide.

  5. Pingback: Custom tasks for SAS Enterprise Guide: Q&A - The SAS Dummy

  6. Pingback: My favorite SAS tips and tools from 2012 - The SAS Dummy

  7. Pingback: 11 super-useful custom tasks for SAS Enterprise Guide - The SAS Dummy

  8. Pingback: New SAS programming features in SAS Enterprise Guide 7.1 - The SAS Dummy

  9. Pingback: Video: Demonstrating the new features in SAS Enterprise Guide 7.1 - The SAS Dummy

  10. Hey Chris,

    Do these work for EG 6.1 and Base SAS 9.4M4? Also, for the portable internal options, I'm assuming I can change these. For example, if I wanted to set the LogNote1 and LogNote2 to blank I could that Like so --> Options LogNote1 = '' LogNote2 = '' ; Is that the case?

    I've just stumbled across the internal options and would be interested in finding out more about a couple of them. How do I find more information about them? In particular, I'm interested in learning more about the FormatLog, LockWait, SourceLineNum, and Validation. Just curious as to what these options do so I can determine if they might be helpful.

    Thanks!
    -Andrew

    • Chris Hemedinger
      Chris Hemedinger on

      Hi Andrew,

      Yes, these tasks work in EG 6.1. And of course, they are built into EG 7.1 and later.

      The System Options Viewer task will not show the "internal" options -- those are undocumented (officially) and don't show in the list. It's no secret that you can run "proc options internal; run;" to see the list of these internal options, but you should use them only under the guidance of SAS Tech Support. They may be undocumented for any of several reasons, including the level of testing and current attention they receive from SAS R&D. Some of these log-related options are used by SAS R&D for testing/benchmarks, such a SOURCELINENUM (set to NOSOURCELINENUM to suppress references to code line numbers in output logs.) However, these may not be intended for use in production environments.

Back to Top