SAS Enterprise Guide for SAS programmers

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.

tags: SAS Enterprise Guide, SAS programming

53 Comments

  1. mjw149
    Posted January 28, 2009 at 1:17 pm | Permalink

    I know it's come a long way, but there have been many more bugs in EG than in the program editor. It's galling that the Unix base sas editor hasn't been modernized, and there's still no java client - we still need an x-windows manager for our Base SAS users. I use vi instead of the default editor when I don't have EG. EG won't install everywhere, has a multitude of annoying messages and has a project metaphor that is generally overkill. It won't install on Vista Home, which means fewer of our SAS users working from home. The easy ability to take content to the web, the much improved 'filter and query' interface and the task list are really nice.

    Not having auto-save (which Program editor has), autocomplete on table and column names and parentheses highlighting in this day and age is terrible. There are many freeware programs that do these minimum things.

    And how many times a day do I have to be told 'This data file already exists in the project'? How many program files has EG just deleted? Why does a client running on Windows hang up when I'm querying a database from the Unix server?

  2. Chris
    Posted January 28, 2009 at 1:35 pm | Permalink

    Thanks for the feedback (hey, I asked for it). Let me respond to a few of your comments.

    The "program editor" you refer to is what you see in SAS display manager. SAS for Windows and SAS Enterprise Guide actually use the same program editor for display SAS programs (color-coding, etc). While everything you do in EG happens in a project, you don't have to save projects. You can open SAS programs, run them, edit them, save the programs back to disk, and discard the project.

    Auto-save for projects/programs is coming in our 4.2 release, which will be available Really Soon Now. And autocomplete/parenthesis matching is a project we are working on. If you come to SAS Global Forum this year, we may be able to show you a preview of that.

    EG 4.1 does support Vista now with an updated release last April. It's officially supported on Vista Business, but it should work on Vista Home just as well -- that's how we support SAS OnDemand for Academics.

    And as for the annoying messages, I hear you. We've removed those in our 4.2 release.

    If you are having data performance problems with your Unix database, please contact SAS tech support. It's not supposed to be slow, nor is it expected to be slow. Tech support is very good at diagnosing these sorts of issues.

  3. Alan Churchill
    Posted January 28, 2009 at 10:57 pm | Permalink

    What gets my goat with the SAS 'Enhanced Editor' and EG is the simple lack of support for all of the things I love in Visual Studio:

    - Intellisense
    - Parentheses matching
    - Error highlighting
    - The ability to stop a program while running and see values (I am tired of using put statements for debugging)
    - Watch window
    - Float over help
    - Tab statement completion (related to Intellisense)
    - Snippets
    - Auto-formatting
    - on and on...

    It would be good if EG would set the pace and delivered true editor support for SAS code. I seem to code in UltraEdit almost as much as anything else because the SAS editors seem to be basic text editors. That is not how it should be, especially today.

    How long has it been since SAS released any enhancement to its editor? 5 years maybe? More?

    EG is better, I concur there, but that isn't saying a lot.

  4. Chris
    Posted January 29, 2009 at 8:36 am | Permalink

    Alan, thanks for the comments.

    I use Visual Studio every day, almost as often as I use EG! So I know exactly what you mean.

    Even today's SAS enhanced editor has several "hidden" features that you might find useful. That's a good topic for another blog post, I think.

    We are working on projects to support many of the features you mention. Stop by our demo area at SAS Global Forum this year and I'll give you a preview of what we're working on.

    Chris

  5. Alan Churchill
    Posted January 29, 2009 at 10:31 am | Permalink

    Chris,

    i am probably going to miss SGF this year. The venue is pretty far away and way out of the city.

    I'll just have to catch up on what you guys are doing at a later point. if you are striving to do more VS like stuff, thank you, thank you. VS is hard to beat or match but any move in that direction is surely welcome.

    I am just tired of having the SAS editors be so inferior to the other editors I work with.

  6. Peter Crawford
    Posted January 29, 2009 at 4:32 pm | Permalink

    I feel like a dinosaur when it comes to SAS Enterprise Guide. Having boosted myself to SAS9.2, it was disappointing and inconvenient to have to wait another year for the new guide.
    Having tried in earlier releases to cross the divide to guide, I found the following early on: Wizards are not up to the capability I would like, E.g. for example, I wanted to create an embedded informat so that the csv file from terradata with ? for missings could quietly import. Not available! Not possible to customise the appropriate parts of the code generated by the proc format wizard. I take for granted this nested/embedded informat method for dealing with special missing values. So, I'm back to the code window. [does the do-end and parentheses matching with keyboard features alt+ and cntl+ and bracket key, not work as in the enhanced editor in old-sas on widows?]
    Some enhancement of the wizard environment seemed in order, but I then discover I'll need to step outside of my comfort zone! In DI studio I can create generic user transforms with base SAS. For SAS Enterprise Guide, I must program on some variety of C. Shame, I need to reassess what I should learn and why. The convincing has yet to get through to clients. Those I support have yet to see any real benefit of transition...... because a guesture of faith will cost (not as much in SAS licencing fees but) in validating the impact of adding the new client to the desktop infrastructure and the creation of new packaging for roll-out.
    Once the real users see how their modelling can become not only much more diverse, but especially, under their own control, then demand for the SAS Enterprise Guide client can be based on real benefit and will demolish "old-way resistance".
    Maybe I'm seen too much as a dinosaur

  7. AnnMaria De Mars
    Posted January 29, 2009 at 9:53 pm | Permalink

    For me that "let SAS EG do the heavy lifting" is the most persuasive argument. I don't see myself giving up coding any time soon, but the option of being able to write code AND using EG, and it being pretty effortless to switch between the two, that is a major advantage.

    The project flow might be a turn-off for some people. A lot of the excellent technical people I know have made a career of avoiding going into management. Anything resembling Microsoft Project induces a Pavlovian reflex of disgust. Or maybe that's just me.

  8. Chris
    Posted January 30, 2009 at 12:41 pm | Permalink

    Peter,

    Dinosaurs cannot use a keyboard nearly as well as you can.

    There are shortcut keys and commands that live as hidden gems in the enhanced editor. I'll have to dig those out for another blog post.

    Chris

  9. Chris
    Posted January 30, 2009 at 12:51 pm | Permalink

    AnnMaria,

    A project-view-as-Gantt-chart -- what a great idea! (..kidding...I'm kidding you -- still, others will probably lobby for it)

    It's difficult to categorize SAS users in general, but I have definitely noticed two types of EG users. I'll call them (project)-tree-huggers and go-with-the-(process)-flow people. Some folks hop back and forth between the tree and the flow, but most people seem to favor one over the other. Believe me, as much as you dislike the flow view, we have other customers who live in it and love it.

    Thanks for the comments.

    Chris

  10. Michael Tuchman
    Posted January 30, 2009 at 3:55 pm | Permalink

    I have been using this product for two years, and I can say that there are some points of frustration

    First, it is not easily to change the input to a query. I have to open the query, delete a table, and enter a new table.

    When a project grows to have many process flows, searching for a term in one of the code nodes or a dataset becomes tedious, whereas I can search a single SAS file in seconds.

    I do like having several code nodes with each code node having a single idea.

    Process trees can still grow unwiedly. There is such a thing as spaghetti processes as well as spaghetti code. EG is not a magic bullet.

    It is FASTER to write a series of short SAS steps than to build an entire tree.

    Your SAS/GRAPH point is well taken, but I typically resort to using the code template because it is faster for me to tweak than it is to figure out task roles, point and drag, and remember. In addition, SAS ODS Graphics addresses the need for easy graphics as well.

    People who are textually oriented do not enjoy asking "what window did they hide the text box I need to adjust this proc". We want it all on a single page in front of us.

  11. Chris
    Posted January 30, 2009 at 4:09 pm | Permalink

    Michael,

    Thanks for the comments.

    I know that many SAS programmers find it faster to simply open a code window and write a program and submit it. None of this pointy-clicky stuff for them. That's fine -- I just like to make sure folks know that they can do that within EG.

    As far as finding which tasks support which SAS procedures, you can look in the task list (menu: View->Task List), and select Tasks by Name to see the list of tasks with the SAS procedures beside it. That list will also make a good future blog post for me...

    Chris

  12. Peter Crawford
    Posted January 30, 2009 at 7:54 pm | Permalink

    I think Alan may have missed some of those keyboard gems

  13. Alan Churchill
    Posted January 31, 2009 at 12:40 am | Permalink

    Chris,

    You know, as much as anyone else, what makes VS2008 so great.

    Leave the flow in, the graph creator, etc. but give me what a coder needs. I need code snippets and, above all else, Intellisense. I also need refactoring, and a lot of the stuff I mentioned before.

    I tell my clients to use EG but I face the same challenges as you do: coders don't like it. Personally, I agree: I don't care for it because it is an analyst's environment, not a programmers.

    Sweeten it up with some of the sugar that is VS and coder's will cotton to it more. I am ready but I would like to see more programmer-centric toolsets.

  14. Michael Tuchman
    Posted February 2, 2009 at 6:14 pm | Permalink

    What I was trying to say is that I know where to find, say how to do a PROC ANOVA using EG. I found that menu. What I was saying is different - when it comes time to *tweak options* on my ANOVA, I find it easier to transform the task to SAS Code using the 'Add as Code Template' option.

    There may be people whose brains are tuned differently than mine. It is good to have several ways to approach SAS. My concern is that people who never learn how to do a MERGE statement might spend hours trying to build just the right query with a series of SQL Nodes.

    If you don't know *both*, you won't know which is better. I tend to like the task nodes for unfamiliar tasks, but when I get good at them, I translate it to SAS Code.

  15. Derek Adams
    Posted February 3, 2009 at 3:57 am | Permalink

    I've only been using SAS seriously for a few years, about 6 (used to be in the Construction Industry in good ol godzone (NZ) on the end of a hammer. A bit of a change...although I could quite happily take my hammer to the computer at times..), and have been using base and Enterprise Guide 2.1 until around 2 years ago we moved to V9 and Enterprise Guide 4.1.

    What a vast improvement that was and in my current work environment all of the ETL developers use DI Studio for the ETL and EG 4.1 to test the data.

    I develop the BI reports, which includes building the Info maps and WRS reports and also use EG to test the maps and reports.

    I also provide data on the organisation to anyone who requests it and the predominant tool for this is EG if the data isn't readily accessable from our Portal.

    Admittedly there are some buggy things about EG such as assigning horrendous labels to the output from tasks, but this can be worked around by inserting extra code in the task, but again this can be confusing to other people who run the projects, they may be looking for a particular dataset that doesn't appear to exist.

    The process flows are excellent as it allows you to, so long as you think about what you are trying to achieve, see exactly what is happening to the data. You have to get into the habit of using sensible names for tasks and output so you don't end up with a name like "query_for_query_for_queryxxxx".

    The ordered lists are also good value, although we don't use them much anymore. We used to have vbscripts that opened the EG2.1 projects and run the tasks.

    Somebody mentioned searching for something. If you turn on the project log can't you search through this and find where in the project the item you are looking for is

    It may be a bit harsh and will probably upset some users, but it seems this is the way SAS is heading for the future, so don't we either keep up with the times or .........

    Keep up the good work Chris and I can't wait for 4.2 although as we use some solutions that aren't going to be available for some time yet it is going to be a long wait.

  16. Chris
    Posted February 3, 2009 at 8:17 am | Permalink

    Derek,

    Thanks for the comments. You will be happy to know that we've fixed the way that the query builder generates output data names in 4.2. No more query_for_query_for_query_and_so_on.

    Chris

  17. Jen
    Posted February 3, 2009 at 6:24 pm | Permalink

    I suggested to Shelli Sessoms that SAS Press come up with a switchers' guide sort of like windows people who adopt macs have available. I've also put this in the fish bowl at the publishing booth for 2 or 3 years now. I keep meaning to go through switcher books/guides and find a model to adapt, but then I don't know EG well enough to even write a user group paper on it, let alone a book.

    I'm picturing something that lets us get existing code up and running in EG. Just having my .sas and .log in one project file is a benefit - learning the additional benefits of the GUI and tasks will come...

    Can I as a coder confidently open any existing code I have in EG and know my production jobs will run? What's involved in converting things? I want to know how to set up EG to work more like the SAS environ we already use - or at least highlight the differences or let us know key tweaks we have to make to our code for it to run well in the EG world.

  18. tom
    Posted February 9, 2009 at 11:37 pm | Permalink

    The project metaform seems nice but I cannot figure our how to extend it to real life problems. I need a project that can be worked on simulatenously by 4 or 5 programmers from remote locations. I think perhaps it is just a limitation of the client-server model versus a multi-user operating system. The project involves producing between 20 and 1000 different reports on a data library. With audit trails, QC and validation.

    Once that is working how can I then use these projects as a template to be replicated thousands of times. Each one referencing its own data library and set of user choices for presentation and analysis decisions?

    PS You can only see the spam prevention image if you push the preview button.

  19. Chris
    Posted February 10, 2009 at 1:19 pm | Permalink

    Tom,

    Thanks for the comments. I can appreciate your desire to use a project as a way to collaborate on work among multiple users, but as you know, it's not designed to work that way right now. You can think of a project file similar to a Word document file. You can store it in a shared location and multiple people can contribute to it, but only one at a time. (And I realize the analogy here goes only so far, because EG doesn't have a "track changes" feature in place.)

    Some of the features you mention are part of SAS Data Integration Studio, but that is geared towards the ETL process more than the reporting process.

    Some customers use EG as a way to create content building blocks, such as SAS stored processes, and then use SAS Add-In for Microsoft Office and SAS Web Report Studio as a way to reuse those building blocks among a wider audience.

    Chris

  20. Michal Gawlik
    Posted February 12, 2009 at 6:28 am | Permalink

    Chris,

    From my point of view the biggest trouble with projects in EG 4.1 is lack of any kind of flow refactoring. Simple use case: creating some reports based on data from few tasks linked one by one. That's true that EG helps creating first implementation fast and in easy way but if I want to modify, extend, change existing flow or switch some tasks to another sublfow... troubles are raising. In consequences work with EG projects with tasks its more *time consuming*, *more expensive* than simple codding. These two markers are essential from project profitability perspective. Why using tool which not improve your productivity?

  21. David Pope
    Posted February 12, 2009 at 8:46 am | Permalink

    Chris,
    First of all thanks for more points on why programmers should use EG. I've programmed in SAS for 18 years and now with my customer facing role I literally have this conversation with long time SAS programmers (who are our customers) almost daily. I position EG two ways: 1 as a productivity tool for a programmer like you mention and 2 as a way to introduce the power of SAS to non-programmers and business analysts.

    We need more than programmers using SAS and EG is vital in growing the use of SAS beyond an IT environment. In addition to that I have had long time customers tell me they love SAS but that their internal user base of SAS is literally retiring or dying off and the younger or new workers coming in to replace them expect not to program so EG is needed to keep SAS useage spreading.

    I realize that no GUI will surface the entire power of the SAS programming language, but it is a great way to open people's eyes to want to learn more while at the same time providing programmers an interface that can be used to shorten many routine tasks such as inputting files, merging, sorting, and not having to look up syntax for SAS/GRAPH. It also allows a base SAS programmer a window into using more SAS/STAT as well as a great tool for creating stored processes.

    Looking forward to 4.2 and beyond.
    David

  22. Jerry
    Posted February 12, 2009 at 9:21 am | Permalink

    Dear Guru of all things Enterprise Guideish,

    Based on your persuasive challenge to programmers, my desire to always avoid stinkin' thinking, and a stated preference to use SAS (when appropriate) in ISD, my thought is "OK, what could it hurt to give Enterprise Guide another try?"

    So rather than bumbling around, I thought also that I would check into some training. I've had good experience with our e-Learning in the past, so I consulted our e-Learning offerings. There are five e-Learning entries related to Enterprise Guide, from beginning to querying, reporting and analyzing with Enterprise Guide.

    Since there are so many references in your blog and comment responses to recent Enterprise Guide improvements and "coming soon" improvements, my question is: Will the current e-Learning offerings be sufficiently up to date to be useful? Please keep in mind, I have used some e-Learning in the past only to find that the new version of the software was so different that what I had learned barely transferred knowledge forward to the new version.

    So, please let me know what you think. If the current e-Learning offerings are not sufficiently up to date, I won't give up. I'll look for an alternative. But I sure don't want to stack the deck against my success in giving Enterprise Guide another fair try.

    Thanks for all the effort you make to evangelize for Enterprise Guide and other fascinating SAS topics.

  23. Chris
    Posted February 12, 2009 at 1:30 pm | Permalink

    Jerry,

    Thanks for the comments. Both the instructor-based training and the self-paced e-learning are being updated for EG 4.2, which will be released Very Soon Now. These 4.2 materials may lag the software availability for a bit. In the meantime, there are several self-paced e-learning courses, instructor-based classroom and web courses, plus several books that cover Enterprise Guide 4.1 from various angles: new to SAS, new to programming, statistician/analyst, etc..

    Most of the skills/techniques you learn in EG 4.1 will transfer to EG 4.2. There are some big differences, but my hope is that they are not too disruptive for the current EG customers.

    [BTW, in the interest of full-disclosure, Jerry P -- the commenter -- works for SAS.]

    Chris

  24. Thomas
    Posted February 12, 2009 at 3:43 pm | Permalink

    Dear Chris, dear all,

    we are using EGuide 4.1 as our "SAS-IDE" daily since we startet with SAS in 2005. Though it really is a great product there is one issue which annoys us: when a table is open in the data grid it will be locked exclusively by EGuide.
    Until today we couldn't find a solution to prevent our (batch-) jobs to run into the problem of not getting a lock to a required table.

    Does anyone know if this will be solved in EGuide 4.2 or any other idea?

    br Thomas

  25. Roger
    Posted February 12, 2009 at 3:49 pm | Permalink

    I have been able to get some converts by showing the process flow and how one can select part of branch to execute. From code, we often just rerun the entire code. So in code, if you want to run just part of the code, you have to figure out the relational dependencies (merges, sort, etcs - highlight and run). In EG you can see the dependencoes and run just part of the branches that you need.

    The other things, I show to Unix users... suppose you have a local text file how do you prcoess it.. FTP upload the text file, telnet, vi a program, submit, FTP your results (and maybe the program) back down, print. Well, EG can do the upload/downloads and utilize a gui editor with the magic of IT. Just download your results automatically is usually a big winner. So...I would agree

    But, one problem that EG is hard pressed to address... legacy code. Yes, you can include code into your project, but now you have a bunch of data node populating your project with no idea of which are related. (Be nice if there was task that would break step boundaries into code nodes, so the user could go back and setup the correct interdependencies, I digress).

    Another issue that is hard to solve... MACRO programs. How do you run a code node through a macro loop contains several different proc/data steps. So I ask... how many SAS programmer do you know that DON'T use macros. And yes, you could develop the code with EG task, extract the code, and reuse in a macro loop and customize ODS to create multiple output object but will EG save development time?. So...as a good two handed economist... on the other hand, I also disagree.

    I think that sometimes EG is mis-positioned/understood as a DIS tool or a WRS(AMO) solution. EG project don't share well (change management and WRS or AMO can create reports like EG, with less flexible (client) interface than EG. But when you do need to access local data or need to do light data management (query/merge), or developing SP, EG is real handy,

    The things that EG really ropes in...the SAS cowboys. Programmer need to grow to fit the new enterprise model. We as programmers need to get with the adminstration...metadata registration. It's just old and easy habit are hard to break...

    Thanks Chris for all your hard work over the years. Like the Oldsmobile saying, today's EG is not your father's EG anymore.

  26. Julian Wong
    Posted February 12, 2009 at 9:09 pm | Permalink

    I'm a technical support for part-time learner of Statistics. Our department introduced EG to them since 3.0 version and they were amazed with the interface which let them finished their tasks very easily . The problem is that as Vista OS is getting popular. Our students have problem the installation problems (4.1.0.471). Even there are EG 4.1.0.1000 or 4.2, the SAS HK office got no responseto our problem. Either I got the wrong contact on SAS HK or those products are not on the HK market yet.

    Well, my point is, EG is excellent to new comer on statistical analysis but our students cannot enjoy yet.

    Urgently looking forward to new release in Hong Kong.
    Julian.

  27. Chris
    Posted February 12, 2009 at 9:37 pm | Permalink

    Julian,

    Thanks for the feedback. EG 4.1 has supported Vista since a re-release around April of 2008. I've forwarded your message to our technical support department; I expect they will open a track for you.

    Chris

  28. Julian Wong
    Posted February 13, 2009 at 1:38 am | Permalink

    Chris,

    Thanks. I'm looking forward for your new book on creating EG custom tasks.

    Julian

  29. Thomas Zhou
    Posted February 17, 2009 at 10:49 am | Permalink

    I have been using SAS for over 5 years, EG definitely a big leap for SAS package, however, as a programmer, I found there are several awkard for me to use it, first I cannot highlight a piece of code and only run this part, second there is no favorite folder option for me to put my folder linkage in, and also server list does not work as goof as windows explorer for me to copy data among diffrent folder and it won't support shortcut linkage that most each for me to use.

  30. Chris
    Posted February 18, 2009 at 11:11 am | Permalink

    Thomas,

    Thanks for your comments.

    You can highlight a selection of code in EG and submit just the selection. Select the statements that you want to submit, right-click, and choose "Run Selection On " (for example, it might read "Run Selection on Local".

    Chris

  31. Cindy Gentillon
    Posted February 18, 2009 at 12:14 pm | Permalink

    You admit that Enterprise Guide does not support the "DDE" option for working with Excel files. I have base SAS applications that use DDE to read specified rectangles from specified pages in Excel work books. I update the resulting SAS datasets and then paste them back into the pages. Finally, I paste today's date in specified cells in the workbook. The entire sequence of work is performed by invoking one SAS script file while the workbooks are open. The updated workbooks are the products my customers want to see. Is there a work-around that allows one to accomplish this task in one keystroke (once it is set up) using Enterprise Guide?

  32. Michael Tuchman
    Posted February 18, 2009 at 1:22 pm | Permalink

    The process diagrams in EG should be able to be run backward as well as forward. That is, if I had a dataset at the right side of a process diagram and wish to rebuild it, SAS should run those branches necessary to rebuild the data set but only those branches.

  33. Dawn Dietzel
    Posted February 20, 2009 at 6:27 am | Permalink

    Hi, Chris. I have been using EG for about 8 months now. It has its good and bad parts. What I don't like (related to Thomas' comment), is when testing new code by highlighting and running only that section, EG does 2 things:
    1. Gives me a separate section of code (I often find when I am typing corrections to my code, I've put it into the "wrong" tab and closed it!)
    2. Always returns to the top of the code, so when my 'problem piece' is near the bottom, I am contantly having to scroll down to run that piece.

    Are there ways to get around either/both of my issues? (I have not had any real training in EG, just what I have picked up by using it and playing with it)

  34. Chris
    Posted February 20, 2009 at 8:51 am | Permalink

    Michael,

    Thanks for the comments. That's a great idea -- to allow you to pick a spot in the flow and select "Run up until this point". It is on our futures list.

    Chris

  35. Tim Walters
    Posted February 26, 2009 at 1:01 pm | Permalink

    One of the most annoying aspects of EG that is in the regular SAS GUI is the inability to pop open a dataset and apply a where clause to get a subset of data. Why not include this in EG?

  36. Chris
    Posted February 26, 2009 at 1:39 pm | Permalink

    Tim,

    Thanks for the feedback. I agree; it would be nice to have a place to specify a simple WHERE statement and have it applied to your data view. It's something we are considering for a future release.

    In the 4.2 release (just about to ship), we added a simple Filter and Sort window that lets you select the columns you want and build a simple WHERE clause. It's a step closer to what you're asking for, I think.

    Chris

  37. Lori Walker
    Posted February 26, 2009 at 1:53 pm | Permalink

    I've been working with SASEG for about one year now, and I'm one of those programmers who does not want to give up the "old" style of programming.

    Some of the issues that I have had with EG include: 1. a dataset cannot be brought into a project without opening it which takes hours for my huge (>100,000,000 obs) files, 2. I still don't know how to process arrays, 3. there is a merge bug (feature?) where only the first record per byvarlist in the first file gets a value from the second file, 4. reading and writing transport files must be done "old' style, and 5. cannot control variable type and length when importing Excel files.

    Perhaps these issues are a result my lack of time to play around with EG, but then again, the info is too hard to find since I haven't found it yet.

  38. Peter Crawford
    Posted February 26, 2009 at 2:18 pm | Permalink

    a feature of the SAS System Viewer provides remote network access to SAS data sets (at least using ftp). Could this be implemented within the SAS Enterprise Guide client?

  39. Jonathan Goldberg
    Posted March 4, 2009 at 10:29 am | Permalink

    We don't have EG here and there is little prospect of getting it. So, my worry is that SI will put so much into EG that the poor old-fashioned types like me will be left behind.

    I want two things: 1) As with others above, intellisense. Compared to which templates and wizards crawl. 2) A debugger upgrade. The SAS interactive debugger is not only downmarket (to say the least) but I cannot remember the last time it has been improved.

    I understand SI's desire to expand its market by making it possible to use SAS with less up-front effort investment. Well and good. But let's face it: for the foreseeable future most SAS development will be done by programmers.

  40. Wildboar
    Posted March 8, 2009 at 12:17 pm | Permalink

    I faced the same problem as Thomas mentioned. There is a workaround solution is to 'kill' all active EG sessions when updating data in data library. It's not the efficient way as many users will leave their program overnight ( I started batch job at midnight) but it's the only way to I can figure out. Any other ways?

    Another problem I faced it's some of my EG project will be executed in batch mode and sometime SAS will prompt a 'Credential Required' screen to request user to key in user name and password. This issue will caused my batch job fail as no one was monitoring it at midnight. Any solutions?

  41. Geoffrey Brent
    Posted March 19, 2009 at 6:50 pm | Permalink

    I also find it frustrating trying to change the input to a query - if I design a complicated join/sort/filter with calculated columns etc, and realise I need to use table "data_11" instead of "data_10", all that work can be lost. If I convert it to code, I can search-and-replace easily enough, but then I can't go back to the EG query tool.

    My work-around: before creating a complex query step, I use a code step to generate input tables for that query (usually as copies of pre-existing data, e.g. set table input_for_joining_a equal to work_data_010109). I then create the query based on the new tables. If I decide later that I want to use work_data_010209 instead, it's trivial to change the code step.

  42. Chris
    Posted March 20, 2009 at 8:36 am | Permalink

    Geoffrey,

    We've made this much easier in EG 4.2.

    When you open the query, you can right-click on the table in the query builder (on the left-hand side that lists the data sources and available columns), select Properties, and change the source of the input table.

    Actually, we made this available in an early EG 4.1 hotfix as well. Try it!

    Chris

  43. Xavier Illy
    Posted October 18, 2009 at 6:03 am | Permalink

    Chris,

    In my company they are some users who regret the command line on SAS PC (analyse data). They can't select interactively rows with sql statement. Do you know if there's add-in whith the same fonctionnality or if i must create it ?

    Thanks
    Xavier

  44. Chris
    Posted October 20, 2009 at 2:49 pm | Permalink

    Xavier,

    You mean like VIEWTABLE? There isn't currently a task for this, although it is on our future feature list to support. In the meantime, yes, a custom task could be used to provide something like this.

    Chris

  45. Phani
    Posted December 29, 2009 at 6:26 pm | Permalink

    we moved from SAS EG 4.1 to 4.2 and most common complaint is that we can't view open more than two datasets at a given time and also can't see multiple programs at a time.

    Like we did in EG 4.1 is there a solution for it

  46. Chris
    Posted January 4, 2010 at 9:54 am | Permalink

    Yes, it's possible.

    Check out this thread on the discussion forum:

    http://support.sas.com/forums/thread.jspa?threadID=8131&tstart=0

    Chris

  47. AnnMaria
    Posted April 25, 2010 at 12:29 am | Permalink

    Well, this is ironic. I am using SAS EG and frustrated that I cannot find a WHERE clause so I do a search and find a post that begins with a link to _my_ blog talking about how programmers won't all be flocking solely to SAS Enterprise Guide and complaints that there is not a Where clause. So, that answers my question. It's not that it's there and I can't find it, it's not there. Rats. & yes, now I will go do the filter & sort but that's a bit inconvenient.

  48. Xavier Illy
    Posted June 11, 2010 at 1:29 pm | Permalink

    For several years, we use SEG for SAS development in my company. Now, we would like to implement revision control system (SVN / Tortoise). But in the future, do you think SAS will package this functionality inside client such SEG ?

  49. Chris
    Posted June 11, 2010 at 1:40 pm | Permalink

    Xavier,

    Subversion/Tortoise make it very easy to integrate source control management with the file system.

    You can use SAS Enterprise Guide in this environment by managing your project files (EGP files), and also by managing SAS programs external to the EGP files. That is, you can File->Open SAS program files in EG, edit them in place and save them on disk. The reference remains in the project file, like a shortcut, but your SAS program is managed outside of the the project file. In this way, you can keep your SAS programs "loose" for easy Diff and version control, but still use them with SAS Enterprise Guide.

    In EG 4.3 we will have better support for relative paths, so it will be even easier to keep an EGP file together with SAS programs and have them work without modification as you move them among different folders.

    Only data files and SAS program files are managed as shortcuts in the project. Other items, such as tasks and queries, are embedded in the EGP file and cannot be separately controlled.

    Chris

  50. Mark
    Posted August 17, 2010 at 4:28 am | Permalink

    I've just upgraded to SAS 9.2 (which contains EG 4.2) on my Vista (Business) PC, I am trying to evaluate if EG will be any use to us.

    However, whenever I try to open a program from windows explorer it opens it in EG instead of SAS (some of our programs must be run in SAS, as we use FSEDIT for Data Entry).

    Trying to open, for example, a sas program on a networked drive (J:SASCxxxSyyyyyENTER0.sas),

    Doubleclick will open it in EG;

    If I select "Run with" from the context menu and select SAS it gives me an error (ERROR: Insufficient authorization to access C:Windowssystem32Enter Program 0.log)

    If I change the default program to SAS 9.2, it will open in SAS but in batch mode automatically running the code (not helpful when I need to edit my code first - or only want to run a section of the code).

    Any ideas?
    Thanks,
    Mark

  51. Peter Crawford
    Posted August 17, 2010 at 6:13 pm | Permalink

    on my install of foundation SAS92 and SAS Enterprise Guide42, the start menu gets a "SAS9.2 Licence renewal and utilities" folder which contains "manage sas file types" application
    There, you can choose what default actions should apply

    good luck
    peterC

  52. Phiip Coltharp
    Posted October 5, 2010 at 11:26 am | Permalink

    *(#8 Derek Adams on 2009-02-03 03:57 (Reply) )* said: Somebody mentioned searching for something. If you turn on the project log can't you search through this and find where in the project the item you are looking for is

    Good tip, ...but

    I would like an option on the search and replace dialog to search through all programs in a process flow. Analogous to the way Excel can search and replace over one sheet or the entire workbook. Thanks

  53. Phiip Coltharp
    Posted October 7, 2010 at 3:13 pm | Permalink

    When I use to code in UNIX, I had an healthy appreciation on the program called MAKE. It would be something if SAS EG would run a program inside a process flow only if code inside a program had been modified since the last target was either created or modified or if the target had not been created yet.

    I'm new to SAS EG, I do not know the ins-and-outs of conditional processing in EG yet.

    For an example of SAS and MAKE see: http://support.sas.com/resources/papers/proceedings09/080-2009.pdf

2 Trackbacks

  1. By Yeah! What he said! - The SAS Dummy on October 3, 2011 at 11:24 am

    [...] frequently have the opportunity to introduce SAS programmers to SAS Enterprise Guide. They sometimes approach it with skepticism and trepidation. It looks a lot different than what [...]

  2. By SAS Talks: You listening? - The SAS Dummy on October 3, 2011 at 3:23 pm

    [...] most-visited blog post of 2009 discusses how SAS programmers can use SAS Enterprise Guide effectively. Next Thursday (17Dec2009), I'll be discussing this topic live in the next installment [...]

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <p> <pre lang="" line="" escaped=""> <q cite=""> <strike> <strong>