SAS Enterprise Guide Version 2.0 Custom Tasks

Note: The information on this page pertains only to SAS Enterprise Guide 2.0. The APIs that support custom tasks are now based in the Microsoft .NET Framework, and are described in more detail in Creating Custom Add-In Tasks for SAS Enterprise Guide.


SAS Enterprise Guide is a great application for gaining access and management of the powerful SAS analytics. With the addition of the SAS Enterprise Guide Add-In Support, you can take advantage of the features in SAS Enterprise Guide as well as all the time and resources SAS has invested in developing and testing this application to quickly develop a custom solution to fit your specific needs. One way to provide users with a custom solution is to build an add-in. An add-in extends an application by adding functionality that is not in the core product itself. If you are a frequent user of Microsoft Office products, you might already be familiar with the concept of add-ins. With SAS Enterprise Guide, you can create Component Object Model (COM)add-ins. These add-ins are targeted specifically for extending the core functionality found in SAS Enterprise Guide to allow for the creation of custom wizards (code tasks) and custom libraries (stored code). Custom wizards help users through a complex process step-by-st ep. Custom libraries allow you to store frequently used procedures and generic code to be run without interaction from the user.

What Is a COM Add-in?

A COM add-in is a dynamic-link library (DLL) that is specially registered for loading by the SAS Enterprise Guide application. You can create COM add-ins with Microsoft Visual Basic, Microsoft Visual C++ or any other development environment that supports COM. For more information about these development tools, see the Microsoft Developer Network (MSDN) Web site at COM add-ins use the Component Object Model that makes it possible for you to create an add-in that is available to SAS Enterprise Guide. By developing SAS Enterprise Guide COM add-ins, you can extend the functionality of SAS Enterprise Guide without adding complexity for users.

Creating Add-in Tasks for Enterprise Guide 2.0

One of the major new features of Enterprise Guide 2.0 is the ability to create your own task dialogs and plug them into Enterprise Guide as add-ins. This allows you to define analysis and reporting tasks that are specific to your industry or company and fit them in as a natural part of Enterprise Guide; you can then use these tasks just like any of the built-in tasks. This means that you can provide the task with any data that you can access, submit the task as SAS code and gather the results, include it in a process flow diagram, and script and schedule it as part of a project.

The following sections describe some resources that you will find essential as you begin extending Enterprise Guide by creating your own tasks.

Reference Documentation (.chm)

The documentation of the API (application programming interface) that you need to use to implement your own add-in task. This documentation is written with Visual Basic programmers in mind, but you can create an add-in task using any language that allows you to create an in-process COM DLL (including Visual C++ and .NET languages such as C#).

Sample Add-in Tasks (With Visual Basic Source Code)

Sample Add-in Tasks (Using C#/.NET Framework)

PROC SQL UPDATE Example (.zip) - a .NET Windows form that shows how you can write tasks that use the Microsoft .NET Framework. This example task updates records within a dataset using PROC SQL statements.


GetProgID (.zip) - a handy tool that lets you "peek" into a DLL that contains an add-in task and determine the ProgID, or programmatic identifier, of the task that it contains. You need to supply this ProgID within Enterprise Guide to register the add-in task for use.