Monday, April 30, 2012

Modernizing SAS BI

Ajay Ohri at DecisionStats posted an article recently about a software product which claims to be able to convert the SAS statistical processing language into Java. If so, that could mean that SAS customers could see a tremendous savings in licensing fees.

"Profound" is how Dulles Research, the vendor of this tool called Carolina, describes the cost savings of Java over SAS. Serial entrepreneur Drew Eginton owns the company. 

While automatically translating SAS into Java may be technically possible, a conversion undertaking of this magnitude would still involve a serious amount of parallel testing. 

Companies will also run into plenty of resistance from their in-house SAS experts. In fact, they should expect their mainframe capacity planners to revolt. These guys traditionally use the MXG product from Barry Merrill to calculate the system usage. Dulles Research has evidently already run into this bunch, as they put this statement on their main webpage: "Run MXG SAS-free." 

Statistical PROCs
Of course, SAS is full of statistical functions so Dulles Research will need to have a Java replica for each:
  • PROC ANOVA
  • PROC CANCORR
  • PROC CANDISC
  • PROC CLUSTER
  • PROC CORR
  • PROC DISCRIM
  • PROC FACTOR
  • PROC FASTCLUS
  • PROC FREQ 
  • PROC FUNCAT
  • PROC GLM
  • PROC MATRIX
  • PROC MEANS
  • PROC NEIGHBOR
  • PROC NESTED
  • PROC NLIN
  • PROC NPAR1WAY
  • PROC PLAN
  • PROC PRINCOMP
  • PROC PROBIT
  • PROC RSQUARE
  • PROC RSREG
  • PROC SCORE
  • PROC STANDARD
  • PROC STEPDISC
  • PROC STEPWISE
  • PROC TABULATE 
  • PROC TREE
  • PROC TTEST
  • PROC VARCLUS
  • PROC VARCOMP

More PROCs
SAS has plenty of "general" procedures as well. Any translator would have to handle:
  • PROC APPEND
  • PROC BMDP
  • PROC BROWSE
  • PROC CALENDAR
  • PROC CHART
  • PROC CONTENTS
  • PROC CONVERT
  • PROC COPY
  • PROC DATASETS
  • PROC DELETE
  • PROC EDITOR
  • PROC FORMS
  • PROC GPLOT
  • PROC PDS
  • PROD PDSCOPY
  • PROC PLOT
  • PROC RELEASE
  • PROC REPORT 
  • PROC SOURCE
  • PROC TAPECOPY
  • PROC TAPELABEL
  • PROC TEMPLATE 
  • PROC TRANSPOSE

Even More Things to Convert
The Java replica would have to handle all of the basic file input and output handling as well, such as:
  • Basic CALL SYMPUT
  • DATA/CARDS 
  • DATA/INPUT statement
  • DATA/MERGE
  • DATA/UPDATE
  • EXPORT statement
  • Macro definition and invoking
  • ODS CSV, RTF, PDF, PS
  • ODS HTML
  • ODS PRINTER
  • OS Commands
  • PROC IMPORT
  • PROC RANK basic
  • PROC SUMMARY basic
  • PROC UNIVARIATE
  • STYLE=
  • Traffic-Lighting

SAS also has its own data structure, so eliminating SAS would mean converting any existing data into another format. The replacement language would need to be able to access that new format.

When I investigated translating SAS to the WebFOCUS BI product (based on a 4GL programming language), I personally considered some of the following SAS features as stumbling blocks:
  • Symbolic variable processing
  • DATA/INPUT options
  • DATA/SET multiple
  • ODS OUTPUT
  • ODS SELECT/EXCLUDE
  • ODS TRACE
  • OUTPUT statement for multiple output files or DO/END loops
  • Procedural scripting
  • Selection by observation number
  • Summary set processing
  • Temporary variables as arrays

For example, the WebFOCUS 4GL language has no construct for arrays; there just isn't anything like that. So figuring out how to convert SAS array processing into WebFOCUS array processing is something I would have to think hard about to solve.

Of course, Java is a lower-level language than the WebFOCUS 4GL so Dulles Research could write their own classes to replicate anything that SAS can do. It might take a while, but it is definitely possible. 

While SAS is one of the hottest BI technologies on the market, its licenses can be very expensive. Many companies, especially those with mainframe licenses, are looking for ways to reduce that cost. 

If you are considering replacing SAS with some other product, contact me about our rapid assessment engagement using the BI Analyzer product to scan your SAS applications (include supplemental technologies such as FOCUS, JCL, CLists, etc.) and save the results into a data repository from which we can quickly run analytics on the size of the modernization effort.


You may also be interested in these articles:


No comments:

About Me

My photo

I am a project-based consultant, helping data-intensive firms use agile methods and automation tools to replace legacy reporting and bring in modern BI/Analytics to leverage Social, Cloud, Mobile, Big Data, Visualizations, and Predictive Analytics. For several world-class vendors, I led services teams specializing in providing software implementation and custom application development. Based on scores of successful engagements, I have assembled proven methodologies and automated software tools.

During twenty years of technical consulting, I have been blessed to work with smart people from some of the world's most respected organizations, including: FedEx, Procter & Gamble, Nationwide, The Wendy's Company, The Kroger Co., JPMorgan Chase, MasterCard, Bank of America Merrill Lynch, Siemens, American Express, and others.

I was educated at Valparaiso University and the University of Cincinnati, graduating summa cum laude. In 1990, I joined Information Builders, the vendor of WebFOCUS BI and iWay enterprise integration products, and for over a dozen years served in branch leadership roles. For several years, I also led technical teams within Cincom Systems' ERP software product group and the custom software services arm of Xerox.

Since 2007, I have provided enterprise BI services such as: strategic advice; architecture, design, and software application development of intelligence systems (interactive dashboards and mobile); data warehousing; and automated modernization of legacy reporting.