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. Copyright © 2005, SAS Institute Inc. All rights reserved. 2 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. 3 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. 4 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. 5 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. 6 Summary of patient demographics Variable Variable name Age (years) Gender Copyright © 2005, SAS Institute Inc. All rights reserved. Statistic/ Value Dose (mg/day) Comparison Placebo N=63 50 mg/day N=62 P-value 60 60 .168 Mean 55.1 57.8 SD 11.1 10.2 n F 45 (71.4%) 47 (75.8%) M 18 (28.6%) 15 (24.2%) .686 7 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. 8 Multiple-column tabular summary Demonstration Copyright © 2005, SAS Institute Inc. All rights reserved. 9 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. 10 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. 11 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 www.bisug.org/bix Copyright © 2005, SAS Institute Inc. All rights reserved. 12 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. 13 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 http://support.sas.com/eguide Design a UI Add any necessary business logic Copyright © 2005, SAS Institute Inc. All rights reserved. 14 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. 15 SAS Products example: the SAS program Copyright © 2005, SAS Institute Inc. All rights reserved. 16 SAS Products example: the UI Copyright © 2005, SAS Institute Inc. All rights reserved. 17 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. 18 Supporting Information Samples and supporting documentation can be found at: • http://support.sas.com/eguide BI SAS User’s Group • http://www.bisug.org Copyright © 2005, SAS Institute Inc. All rights reserved. 19 Copyright © 2005, SAS Institute Inc. All rights reserved. 20