Custom Tasks for SAS® Enterprise Guide® Using Microsoft .NET
Custom Tasks for SAS® Enterprise Guide® Using Microsoft .NET
Custom Tasks for SAS® Enterprise Guide® Using Microsoft .NET
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Chapter 1. Why <strong>Custom</strong> <strong>Tasks</strong>? 4<br />
• Create user interface as a front-end <strong>for</strong> a SAS procedure or technique that you use all of the<br />
time, but that doesn't have a built-in task in SAS <strong>Enterprise</strong> Guide. With the over 250<br />
procedures that SAS offers, plus the extensive programming language, it's no surprise that<br />
there are gaps between what the user interface offers and what SAS can actually do <strong>for</strong> you.<br />
(For an example, see Chapter 8, "The Top N Report".)<br />
• Connect to a web service to gather data from an external source and import the data into SAS.<br />
(For an example, see Chapter 14, "Running PROCs on Your Facebook Friends".)<br />
• Provide simple access to SAS macros programs used within your organization, making them<br />
more approachable to non-programmers. (For an example, see Chapter 13, "Putting the<br />
Squeeze on Your SAS Data Sets".)<br />
• Provide a sign-in prompt to a proprietary database or server resource without revealing the<br />
SAS code required <strong>for</strong> this action.<br />
There are a few things that customers often wish they could do with custom tasks, but currently<br />
cannot. These include:<br />
• Automate the SAS <strong>Enterprise</strong> Guide interface to add to and run parts of your project. You<br />
can accomplish some of this with the SAS <strong>Enterprise</strong> Guide automation model, which is a<br />
separate mechanism from the custom task APIs.<br />
• In SAS <strong>Enterprise</strong> Guide 4.1, you cannot use custom tasks to examine project contents and<br />
extract in<strong>for</strong>mation such as SAS programs. However, there are newer APIs within SAS<br />
<strong>Enterprise</strong> Guide 4.2 and later that allow this. (For an example, see Chapter 9, "The Task<br />
Property Viewer".)<br />
Who Uses <strong>Custom</strong> <strong>Tasks</strong> Today, and <strong>for</strong> What?<br />
Who uses custom tasks, and what do they use them <strong>for</strong>? The short answer is: lots of people, <strong>for</strong><br />
lots of things. Even SAS Institute uses custom tasks as a way to prototype new features in SAS<br />
<strong>Enterprise</strong> Guide and to deliver those new features in-between major releases.<br />
Be<strong>for</strong>e <strong>Custom</strong> <strong>Tasks</strong>: SAS/AF<br />
<strong>Custom</strong> tasks are not a new concept in SAS. For years, SAS customers have created customized<br />
SAS applications using the SAS application framework (known as the product SAS/AF). SAS/AF<br />
provided an environment to host a full-screen application based in SAS, presenting a custom user<br />
interface and yet provide full access to the power of SAS.<br />
The objectives of SAS/AF are the same as those of custom tasks: provide a simplified, focused user<br />
interface to allow end users per<strong>for</strong>m some task that is specific to their industry, company, or<br />
department. There are still companies that have a large investment in SAS/AF-based applications,<br />
and their end users still interact with SAS in this way.<br />
SAS/AF applications were "just the ticket" when SAS users used to “live” in the SAS Display<br />
Manager session, which acts as the host <strong>for</strong> SAS/AF. But today, most SAS users access SAS using<br />
Hemedinger, Chris. <strong>Custom</strong> <strong>Tasks</strong> <strong>for</strong> <strong>SAS®</strong> <strong>Enterprise</strong> <strong>Guide®</strong> <strong>Using</strong> <strong>Microsoft</strong> .<strong>NET</strong>. Copyright © 2012 SAS Institute Inc.,<br />
Cary, North Carolina, USA. ALL RIGHTS RESERVED. For additional SAS resources, visit support.sas.com/bookstore.<br />
Draft copy <strong>for</strong> promotional purposes. Additional changes may be made during the production process <strong>for</strong> the book.