Home

Awesome

enlighten-integration

Archived project: This project is no longer under actively developement and was archived on 2024-08-01.

Example code and materials that illustrate techniques for integrating SAS with popular open source analytics technologies like Python and R.

See individual subdirectories for specific examples and instructions.

Contributors include: Patrick Hall, Radhikha Myneni, Ruiwen Zhang, and Tim Haley

Contents

The example materials in this repository use two approaches to call functionality in other languages from a SAS® session.

The Base SAS Java Object

alt text

The Base SAS Java Object is a SAS DATA step component that enables Java objects to be instantiated, object methods to be called, and results to be returned from Java to SAS. The SASJavaExec.java class in this repository is designed to call executable files from SAS with command line arguments and reports STDOUT and STDERR back to the SAS log. Example materials in this repository use the SASJavaExec.java class to call R and Python scripts, but the class could be used to call other types of executables as well.

Using the Base SAS Java Object to call R or Python

SAS_Base_OpenSrcIntegration

Using Python inside of SAS® Enterprise Miner™

SAS_EM_PythonIntegration

SAS/IML Integration with R

alt text

SAS/IML Integration with R enables data to be transferred between SAS and R and it enables calling statements from the R language from within a SAS session. One important consideration with R is its ability, much like SAS', to generate Predictive Modeling Markup Langauge (PMML) to encapsulate the logic of predictive models in a portable format. The example materials in this repository use R to train models and PMML as a portable deployment mechanism. The Enterprise Miner Open Source Integration node is based on the same technologies.

Using SAS/IML to call R and create PMML

SAS_IML_PmmlIntegration

Using R to create PMML and importing PMML into SAS Enterprise Miner

SAS_EM_PmmlIntegration

Other Integration Approaches