SAS® Integration Technologies and SAS/IntrNet® Software Papers A-Z

Paper SAS103-2014:
A Guide to SAS® for the IT Organization
SID file, SAS® Deployment Wizard, SAS® Migration Utility, SAS® Environment Manager, plan file. SAS® can seem very mysterious to IT organizations used to working with other software solutions. The more IT knows and understands about SAS how it works, what its system requirements are, how to maintain it and back it up, and what its value is to the organization the better IT can support the SAS shop. This paper provides an introduction to the world of SAS and sheds light on some of the unique elements of maintaining a SAS environment.
Lisa Horwitz, SAS
Paper SAS102-2014:
An Advanced Fallback Authentication Framework for SAS® 9.4 and SAS® Visual Analytics
SAS® 9.4 and SAS® Visual Analytics support a wide list of authentication protocols such as Integrated Windows authentication (IWA), client certificate, IBM WebSEAL, CA SiteMinder, and Security Assertion Markup Language (SAML) 2.0. However, advanced customers might want to use some of these protocols together and also have the flexibility to select which protocols to use. In this paper, we focus on a fallback authentication framework that supports IWA as the primary authentication method. When IWA fails, it uses the X509 client certificate as the secondary authentication method, and when the client certificate fails, it uses the form-based username/password as the last option. The paper first introduces the security architecture of SAS® 9.4 and SAS Visual Analytics. It then reviews the three above-mentioned security protocols. Further, it introduces the detailed fallback authentication framework and discusses how to configure it. Finally, we discuss the use of this framework in the customer scenario from implementing the fallback authentication framework in a customer s SAS® 9.4 and SAS Visual Analytics environment.
Zhiyong Li, SAS
Mike Roda, SAS
Paper 1693-2014:
Conditional Execution "Switch Path" Logic in SAS® Data Integration Studio 4.6
With the growth in size and complexity of organizations investing in SAS® platform technologies, the size and complexity of ETL subsystems and data integration (DI) jobs is growing at a rapid rate. Developers are pushed to come up with new and innovative ways to improve process efficiency in their DI jobs to meet increasingly demanding service level agreements (SLAs). The ability to conditionally execute or switch paths in a DI job is an extremely useful technique for improving process efficiency. How can a SAS® Data Integration developer design a job to best suit conditional execution? This paper discusses a technique for providing a parameterized dynamic execution custom transformation that can be easily incorporated into SAS® Data Integration Studio jobs to provide process path switching capabilities. The aim of any data integration task is to ensure that all sources of business data are integrated as efficiently as possible. It is concerned with the repurposing of data via transformation, should be a value-adding process, and also should be the product of collaboration. Modularization of common or repeatable processes is a fundamental part of the collaboration process in DI design and development. Switch path a custom transformation built to conditionally execute branches or nodes in SAS Data Integration Studio provides a reusable module for solving the conditional execution limitations of standard SAS Data Integration Studio transformations and jobs. Switch Path logic in SAS Data Integration Studio can serve many purposes in day-to-day business needs for a SAS data integration developer as it is completely reusable
Prajwal Shetty, Tesco
Paper 1807-2014:
Develop Highly Interactive Web Charts with SAS®
Very often, there is a need to present the analysis output from SAS® through web applications. On these occasions, it would make a lot of difference to have highly interactive charts over static image charts and graphs. Not only this is visually appealing, with features like zooming, filtering, etc., it enables consumers to have a better understanding of the output. There are a lot of charting libraries available in the market which enable us to develop cool charts without much effort. Some of the packages are Highcharts, Highstock, KendoUI, and so on. They are developed in JavaScript and use the latest HTML5 components, and they also support a variety of chart types such as line, spline, area, area spline, column, bar, pie, scatter, angular gauges, area range, area spline range, column range, bubble, box plot, error bars, funnel, waterfall, polar chart types etc. This paper demonstrates how we can combine the data processing and analytic powers of SAS with the visualization abilities of these charting libraries. Since most of them consume JSON-formatted data, the emphasis is on JSON producing capabilities of SAS, both with PROC JSON and other custom programming methods. The example would show how easy it is to do develop a stored process which produces JSON data which would be consumed by the charting library with minimum change to the sample program.
Rajesh Inbasekaran, Kavi Associates
Naren Mudivarthy, Kavi Associates
Neetha Sindhu, Kavi Associates
Paper 1764-2014:
Excel with SAS® and Microsoft Excel
SAS® is an outstanding suite of software, but not everyone in the workplace speaks SAS. However, almost everyone speaks Excel. Often, the data you are analyzing, the data you are creating, and the report you are producing is a form of a Microsoft Excel spreadsheet. Every year at SAS® Global Forum, there are SAS and Excel presentations, not just because Excel isso pervasive in the workplace, but because there s always something new to learn (or re-learn)! This paper summarizes and references (and pays homage to!) previous SAS Global Forum presentations, as well as examines some of the latest Excel capabilities with the latest versions of SAS® 9.4 and SAS® Visual Analytics.
Andrew Howell, ANJ Solutions
Paper SAS119-2014:
Lessons Learned from SAS® 9.4 High-Availability and Failover Testing
SAS® 9.4 has improved clustering capabilities that allow for scalability and failover for middle-tier servers and the metadata server. In this presentation, we share our experiences with high-availability and failover testing done prior to SAS 9.4 availability. We discuss what we tested and lessons learned (good and bad) while doing the testing.
Susan Bartholow, SAS
Arthur Hunt, SAS
Renee Lorden, SAS
Paper 1737-2014:
PROC STREAM and SAS® Server Pages: Generating Custom User Interfaces
Quite often when building web applications that use either the SAS® Stored Process Server or the SAS/IntrNet® Applications Dispatcher, it is necessary to create a custom user interface to prompt for the needed parameters. For example, generating a custom user interface can be accomplished by chaining stored processes together. The first stored process generates the user interface where the user selects the desired options and uses PROC STREAM to process and input SAS® Server Pages to display the user interface. The second (or later) stored process in the chain generates the desired output. This paper describes and shows several examples similar to those presented in the SAS® Press book SAS Server Pages: Generating Dynamic Content ( and on the author s blog Jurassic SAS in the BI/EBI World (
Don Henderson, Henderson Consulting Services
Paper SAS105-2014:
So Much Software, So Little Time: Deploying SAS® Onto Oodles of Machines
Distributing SAS® software to a large number of machines can be challenging at best and exhausting at worst. Common areas of concern for installers are silent automation, network traffic, ease of setup, standardized configurations, maintainability, and simply the sheer amount of time it takes to make the software available to end users. We describe a variety of techniques for easing the pain of provisioning SAS software, including the new standalone SAS® Enterprise Guide® and SAS® Add-in for Microsoft Office installers, as well as the tried and true SAS® Deployment Wizard record and playback functionality. We also cover ways to shrink SAS Software Depots, like the new 'subsetting recipe' feature, in order to ease scenarios requiring depot redistribution. Finally, we touch on alternate methods for workstation access to SAS client software, including application streaming, desktop virtualization, and Java Web Start.
Mark Schneider, SAS
Paper 1598-2014:
Turn Your SAS® Macros into Microsoft Excel Functions with the SAS® Integrated Object Model and ADO
As SAS® professionals, we often wish our clients would make more use of the many excellent SAS tools at their disposal. However, it remains an indisputable fact that for many business users, Microsoft Excel is still their go-to application when it comes to carrying out any form of data analysis. There have been many attempts to integrate SAS and Excel, but none of these has up to now been entirely seamless. This paper addresses that problem by showing how, with a minimum of VBA (Visual Basic for Applications) code and by using the SAS Integrated Object Model (IOM) together with Microsoft s ActiveX Data Objects (ADO), we can create an Excel User Defined Function (UDF) that can accept parameters, carry out all data manipulations in SAS, and return the result to the spreadsheet in a way that is completely invisible to the user. They can nest or link these functions together just as if they were native Excel functions. We then go on to demonstrate how, using the same techniques, we can create small Excel applications that can perform sophisticated data analyses in SAS while not forcing users out of their Excel comfort zones.
Chris Brooks, Melrose Analytics Ltd
Paper 2037-2014:
Using Java to Harness the Power of SAS®
Are you a Java programmer who has been asked to work with SAS®, or a SAS programmer who has been asked to provide an interface to your IT colleagues? Let s face it, not a lot of Java programmers are heavy SAS users. If this is the case in your company, then you are in luck because SAS provides a couple of really slick features to allow Java programmers to access both SAS data and SAS programming from within a Java program. This paper walks beginner Java or SAS programmers through the simple task of accessing SASdata and SAS programs from a Java program. All that you need is a Java environment and access to a running SAS process, such as a SAS server. This SAS server can either be a SAS/SHARE® server or an IOM server. However, if you do not have either of these two servers that is okay; with the tools that are provided by SAS, you can start up a remote SAS session within Java and harness the power of SAS.
Jeremy Palbicki, Mayo Clinic
Paper 1785-2014:
Using SAS® Software to Shrink the Data Used in Apache Flex® Applications
This paper discusses the techniques I used at the Census Bureau to overcome the issue of dealing with large amounts of data while modernizing some of their public-facing web applications by using service oriented architecture (SOA) to deploy Flex web applications powered by SAS®. The paper covers techniques that resulted in reducing 142,293 XML lines (3.6 MB) down to 15,813 XML lines (1.8 MB), a 50% size reduction on the server side (HTTP Response), and 196,167 observations down to 283 observations, a reduction of 99.8% in summarized data on the client side (XML Lookup file).
Ahmed Al-Attar, AnA Data Warehousing Consulting, LLC
back to top