Copyright © 2005, SAS Institute Inc. All rights reserved. Filling the Gap: Extending the SAS BI Server with Custom Tasks Chris Hemedinger, SAS Institute Alex Dmitrienko, Ph.D., Eli Lilly and Company
Copyright © 2005, SAS Institute Inc. All rights reserved. 2
3 Agenda Custom tasks defined Case Study Example: Custom Tasks at Eli Lilly How to create an Add-In Task
Copyright © 2005, SAS Institute Inc. All rights reserved. 4 What is a Custom Task? A user-friendly interface for your existing SAS processes A connection between SAS and non-SAS resources An extension to provide access to a SAS feature not shipped with Enterprise Guide
Copyright © 2005, SAS Institute Inc. All rights reserved. 5 Enterprise Guide (or SAS Add-in for Microsoft Office) Built-in tasks (supplied by SAS) Custom tasks (supplied by you )
Copyright © 2005, SAS Institute Inc. All rights reserved. 6 User-written custom task Multiple-column tabular summary Summary of clinical trial data Common to summarize patient demographic data Small clinical trial Two doses of an experimental drug versus placebo Create a tabular summary of selected demographic variables in a dose group versus placebo Carry out standard statistical tests to compare the variables between the treatment groups
Copyright © 2005, SAS Institute Inc. All rights reserved. 7 Summary of patient demographics
Copyright © 2005, SAS Institute Inc. All rights reserved. 8 Multiple-column tabular summary A wizard-type custom task that goes through a series of screens Define row variables (age, gender) Define column variable (treatment group) Select descriptive statistics for numeric variables (counts and percentages are automatically computed for character variables) Specify statistical tests for comparing the variables across the treatment groups
Copyright © 2005, SAS Institute Inc. All rights reserved. 9 Multiple-column tabular summary Demonstration
Copyright © 2005, SAS Institute Inc. All rights reserved. 10 Custom tasks: Summary User-written custom tasks are a lot more “intelligent” and user-friendly than user-written SAS macros the more complex the macro the longer it takes for the user to understand all of its options Custom tasks can virtually eliminate the learning curve walk the user through the process of performing a complex analysis or setting up a complex report
Copyright © 2005, SAS Institute Inc. All rights reserved. 11 Custom tasks: Summary Custom tasks can greatly increase the productivity of SAS users Custom tasks can accelerate the design and analysis of pharmaceutical studies
Copyright © 2005, SAS Institute Inc. All rights reserved. 12 Business Intelligence Exchange (BIX) Sponsored by Business Intelligence SAS Users Group (BISUG) Searchable web-based library of Enterprise Guide and Add-in for Microsoft Office custom tasks Custom tasks specific to various industries (financial, insurance, pharmaceutical) Submitted by SAS Enterprise Guide and Add-in for Microsoft Office developers and users
Copyright © 2005, SAS Institute Inc. All rights reserved. 13 What do I need to create a custom task? A vision Microsoft.NET Framework SDK (or Visual Studio.NET) SAS.EG.Addins interfaces and documentation
Copyright © 2005, SAS Institute Inc. All rights reserved. 14 Components of a Custom Task Must implement 3 interfaces from our API VS.NET 2003 will automatically generate these for you Add-in templates available from Design a UI Add any necessary business logic
Copyright © 2005, SAS Institute Inc. All rights reserved. 15 Example: SAS Products Checker Problem: Enterprise Guide allows you to connect to multiple SAS servers, which might have different product configurations Solution: A simple add-in that reports on the installed and licensed products for a given server.
Copyright © 2005, SAS Institute Inc. All rights reserved. 16 SAS Products example: the SAS program
Copyright © 2005, SAS Institute Inc. All rights reserved. 17 SAS Products example: the UI
Copyright © 2005, SAS Institute Inc. All rights reserved. 18 Demo: Creating a Custom Task Create a new “add-in” project in Visual Studio.NET Create user interface for your task Inject logic to create SAS code based on selected options Add logic to save/restore task state Build/Deploy/Test/Debug
Copyright © 2005, SAS Institute Inc. All rights reserved. 19 Supporting Information Samples and supporting documentation can be found at: BI SAS User’s Group
Copyright © 2005, SAS Institute Inc. All rights reserved. 20 Copyright © 2005, SAS Institute Inc. All rights reserved. 20