More on this Topic


Creating Custom Add-In Tasks for SAS Enterprise Guide 3.0

Links of interest:

SAS Enterprise Guide is a great application that provides you with easy access to powerful SAS analytics and data.  Now you can extend SAS Enterprise Guide to take advantage of its connectivity and services, and use it to create a custom solution that fits the needs of your organization or industry.  One way to extend SAS Enterprise Guide is by creating an add-in.  An add-in allows you to add custom functionality that goes beyond what is delivered in the core product.  Here are some examples where this can be useful:

Another key advantage of creating custom add-ins -- you can use these same add-ins within the SAS Add-In for Microsoft Office.

This documentation describes how to create add-ins for SAS Enterprise Guide 3.0 and the SAS Add-in for Microsoft Office.  SAS Enterprise Guide has been extendable using add-ins since release 2.0.  Although previous add-ins used a different technology, add-ins that you created for SAS Enterprise Guide 2.0 will work in SAS Enterprise Guide 3.0.  The following table illustrates what works with each version:

  Add-ins for SAS Enterprise Guide 2.0 Add-ins for SAS Enterprise Guide 3.0
Implemented using COM (Visual Basic 6.0 or Microsoft .NET via interop)

Implemented using native Microsoft .NET (C#, Visual Basic .NET, others)  
Work in SAS Enterprise Guide 2.0  
Work in SAS Enterprise Guide 3.0 (see note below)
Work in SAS Add-In for Microsoft Office  


Note: Using SAS Controls Supplied with SAS Enterprise Guide 2.0

If you have an existing COM-based custom task that makes use of the user-interface controls that shipped with SAS Enterprise Guide 2.0, you will need to install those controls to use your task on a system that does not have SAS Enterprise Guide 2.0 installed.  The controls are supplied in this zip archive file: 

You can extract the controls (all ActiveX controls with a .OCX file extension) and copy them to a new folder that you create on the target machine.  Then you must register the controls with Windows so that they are available for use by your custom tasks.  The zip archive contains a sample batch file that will register the control files using regsvr32.exe.


All examples supplied were created using Microsoft Visual Studio .NET 2003.  They are implemented using the C# language except where noted.

Note: All examples are provided for illustration purposes only, and are not necessarily production-quality add-ins that are supported by SAS.

Classic Hat (C# and Visual Basic .NET)

Description: Simple example of an add-in that creates the cowboy hat graph.


Data Set Contents (C#)

Description: Creates a PROC CONTENTS report for the selected input data.


Characterize Data (C#)

Description: Creates a report on data or a library that you select, detailing the contents and characteristics of the data columns within the selected members.


Life Expectancy (C#)

Description: Uses a 3rd party web service to create a life expectancy table, and adds that data to the project.


System Command (C#)

Description: Allows you to supply a series of Windows system commands to run within your project.


SAS Catalog Explorer (C#)

Description:  Launches a mini-application that allows you to view the contents of SAS catalogs on any server you select.  You can even view the contents of certain types of entries, and delete entries.


SAS Products Checker (C# and Visual Basic .NET)

Description:  Analyzes the SAS server to determine which SAS products are licensed and installed.


Compare Columns (Visual Basic .NET)

Description:  Compares two columns in a data set using PROC COMPARE.