+ All Categories
Home > Documents > Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP...

Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP...

Date post: 28-Jul-2020
Category:
Upload: others
View: 4 times
Download: 0 times
Share this document with a friend
45
SAP COMMUNITY NETWORK Final © 2013 SAP AG 1 Embedding SAP Predictive into BI Tools Embedding SAP Predictive into SAP BI tools. Using SAP data mining tools SAP Predictive Analysis & SAP InfiniteInsight to create trained predictive models and building applications such as SAP BusinessObjects Dashboards & Design Studio on the predictive models stored in SAP HANAThis article applies to those who are interested in building SAP BI Client Dashboards or Reports with real-time Predictive capabilities.
Transcript
Page 1: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

SAP COMMUNITY NETWORK Final

© 2013 SAP AG 1

Embedding SAP Predictive into BI Tools

Embedding SAP Predictive into SAP BI tools. “Using SAP data mining tools SAP Predictive Analysis & SAP InfiniteInsight to create trained predictive models and building applications such as SAP BusinessObjects Dashboards & Design Studio on the predictive models stored in SAP HANA”

This article applies to those who are interested in building SAP BI Client Dashboards or Reports with real-time Predictive capabilities.

Page 2: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 2

Summary: This paper provides a step-by-step description how to embed SAP Predictive into SAP BI Tools.

In detail how to SAP Predictive Analysis can be used to build predictive models and then use the trained models in SAP BI Clients such as BusinessObjects Dashboard Designer, Web Intelligence or Design Studio. SAP HANA is the acting platform between SAP Predictive Analysis and the SAP BI Clients which can then facilitate real-time in-memory processing of predictive models and directly return the results to the SAP BI Client. Using this approach will allow many more users access to advanced analytics in an easy to use and visual appealing Dashboard without the need for sophisticated statistics or programming skills. This article covers how to build a predictive model or machine learning model using SAP Predictive Analysis and then exporting the model to HANA. Hereafter HANA is used to facilitate requests from SAP BI Clients such as Dashboard Designer.

After reading this article you will be able to understand how to collaborate between data mining tools and reporting tools facilitated by SAP HANA. Including how to write-back to SAP HANA tables and call procedures from SAP BusinessObjects BI Clients and get the results from procedures back to the BI Client.

Specifically you will see how to build simple trained predictive models using SAP Predictive Analysis and how to write back to HANA and consume the results from running algorithms inside HANA in SAP Dashboard Designer. The process is very similar if you would be using Design Studio, Web Intelligence or SAP InfiniteInsight.

Software:

Frontend-data mining tools: SAP Predictive Analysis SP16 & SAP InfiniteInsight (former KXEN). Frontend-reporting-tools: SAP BusinessObjects Dashboard Designer, Web Intelligence & SAP Design Studio. Backend-tools: SAP HANA & PAL (Predictive Analysis Library).

Page 3: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 3

1 Authors Bio

Kurt Holst ([email protected]) is an experienced Principal Consultant on Predictive Analytics, HANA & BusinessObjects Enterprise architecture, configuration and performance optimization. Kurt has worked with most major BI reporting & data mining tools together with different OLAP databases, SAP NetWeaver BW and relational databases. Before joining SAP, Kurt worked as a BI Architect & developer both internal and as an external consultant. Furthermore, Kurt has been attached to the Southern university of Denmark as an external lecturer on Business Intelligence, Data Warehousing & Data Mining. Kurt helps customers transform data into knowledge using predictive analysis or business intelligence and is organizational within the Business Analytics Services team at SAP Denmark.

Adem Baykal ([email protected]) is an experienced Principal Consultant for SAP HANA & SAP Business Intelligence at SAP. He has deep knowledge in the implementation of BI solutions on SAP BW and SAP HANA as well as on other data sources. Within SAP he is an active Knowledge Champion in the SAP HANA Implementation Community and he is currently active as Stream Lead for BusinessObjects BI in the MEE Service Community Analytics at SAP. Adem was involved in many strategic SAP HANA and SAP BI activities inside and outside SAP. He is a well-accepted Strategy Ambassador within SAP and on customer side he has successfully implemented SAP HANA and SAP BI as Project Lead or Strategic Architect. He is very experienced with deploying best practice BI solutions on Business Suite powered by SAP HANA and NetWeaver BW powered by SAP HANA.

Company: SAP

Last update: March, 25th 2014

Disclaimer: Please note that information and views set out in this article are those of the authors and do not necessarily reflect the official roadmap, opinion or strategy of the SAP. Neither SAP nor any person acting on their behalf may be held responsible for the use which may be made of the information contained therein.

Page 4: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 4

Contents

1 Authors Bio ............................................................................................................................................ 3

2 Document update history ...................................................................................................................... 5

3 Executive summary ............................................................................................................................... 6

How could you benefit from the methodology that this article describes? ......................................................... 6

4 Background ........................................................................................................................................... 6

5 Definitions and expected foundations for the reader ............................................................................ 7

5.1 Terms and definitions ............................................................................................................................ 7 5.1.1 Data Mining .................................................................................................................................................. 7

5.1.2 Decision tree ................................................................................................................................................ 7

5.1.3 Confusion matrix ......................................................................................................................................... 7

5.1.4 SAP HANA XSJS .......................................................................................................................................... 7

5.1.5 SAP HANA Repository ................................................................................................................................ 7

5.1.6 SAP Predictive Analysis ............................................................................................................................. 8

5.1.7 SAP InfiniteInsight (formerly known as KXEN InfiniteInsight) ................................................................ 8

6 Technical requirements ......................................................................................................................... 9

7 Building trained predictive model. ......................................................................................................... 9

7.1 Building trained predictive model – business examples. ...................................................................... 9

7.1 Building trained predictive model – using SAP Predictive Analysis. ................................................... 10

7.2 Illustrating the generated predictive model – using SAP Predictive Analysis. .................................... 13

7.3 Scoring the trained predictive model on test or validation data. ......................................................... 14

7.4 Building trained predictive model – simple example. .......................................................................... 15

7.5 Saving the trained model as a new model in SAP PA: ....................................................................... 18

7.6 The procedure is now saved back to SAP HANA: .............................................................................. 20

8 Dashboard solution ............................................................................................................................. 23

8.1 Dashboard solution – business examples. ......................................................................................... 23

8.2 Dashboard solution – simple example. ............................................................................................... 24

9 Technical setup ................................................................................................................................... 25

10 Conclusion .......................................................................................................................................... 39

11 Perspective ......................................................................................................................................... 39

12 Appendix – HANA Script-code. ........................................................................................................... 40

13 Appendix – HANA Predictive Analysis Library script-code. ................................................................ 41

14 Reference Documentation .................................................................................................................. 44

Page 5: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 5

2 Document update history

Date Name Alteration Reason Version

05.03.2014 Kurt Holst & Adem Baykal Initial document 0.1

Kurt Holst & Adem Baykal Describing solution 0.2

17.03.2014

20.03.2014

25.03.2014

Kurt Holst & Adem Baykal

Kurt Holst & Adem Baykal

Kurt Holst & Adem Baykal

First draft for internal peer review

Incoorporating feedback from peers

Publish to SCN

0.3

0.5

1.0

Page 6: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 6

3 Executive summary

The purpose of this article is to demonstrate how embed predictive models in SAP BI Clients.

Currently there are two data mining tools, SAP Predictive Analysis and SAP InfiniteInsight (former known as KXEN InfiniteInsight), which both could be used in collaboration with the SAP BusinessObjects reporting tools or Design Studio. As described in SAP roadmap the two data mining tools are being merged into one combined tool. (Reference: [2014, SAP Predictive Roadmap])

This article takes the reader through an end-to-end scenario using SAP Predictive Analysis, (it applies also to SAP InfiniteInsight) to build a predictive trained model and consume the model in reporting tools. Moreover how to write-back to HANA and run algorithms and get the results back to the BI reporting tools

How could you benefit from the methodology that this article describes?

Learn how to embed advanced analytics or machine trained models in dashboards.

Allow many more business users access to leverage otherwise complicated advanced analytics in a simple to use and highly intuitive visual appealing Dashboard.

Write-back to HANA could be used in many other use cases (e.g. commenting solutions) to utilize HANA even further in combination with custom build Dashboard or BI solutions.

Execute HANA Scripts or stored procedures from a Dashboard and retrieve the results directly on the Dashboard.

This article presents one example of how SAP Predictive Analysis with just one algorithm can enhance an existing performance management solution together with HANA; however it could have many other use cases. The authors’ intention is to provide the knowledge to do this you without overcomplicating the use case.

4 Background

This article is only for educational purposes. Data mining tools such as SAP Predictive Analysis and SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms, can then be re-used in reporting tools such as Web Intelligence, Design Studio or Dashboard Designer.

The authors of this article have closely observed the Predictive Analysis & HANA communities online where members are constantly looking for two important things;

1. How to write back from BI tools to SAP HANA 2. How BI tools can use predictive models created with SAP Predictive Analysis or SAP

InfiniteInsight

Creating an application such as a Dashboard that utilizes a trained predictive model could extend the usage of complex algorithms to a much broader audience than just data scientists. Using a Dashboard approach hides the complexity for the end user and as shown in this article can actually further increase the overall business value of an existing BusinessObjects and HANA solution.

As state by Gartner the field of Advanced Analytics will require a lot of talents and just looking at the sheer numbers this could be a big challenge: “Gartner predicts need for 1.9 million new data scientists and creation of 6 million new big data jobs by 2015, and Dice.com identifies specific areas of need” [Gartner, 2013]. One of the means to mitigate the lack of talents could be reached using the

Page 7: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 7

approach described in this article where we are taking all the complexity away from the end users but still allowing mass-consumption of advanced analytics including machine trained algorithms.

5 Definitions and expected foundations for the reader

This article provides a step-by-step description, including screenshots, to evaluate how SAP Predictive Analysis can be used to predict the potential customers who will buy additional products based on their behavior of interest.

5.1 Terms and definitions

Throughout this article different terms and definitions have been used and, to provide you with a common understanding of these, a short description is given below.

5.1.1 Data Mining

This is a process of analyzing and summarizing data in order to discover patterns, trends and identify relationships. Data mining uses mathematical algorithms and different techniques such as artificial intelligence, neural network and statistical tools to segment data.

5.1.2 Decision tree

A decision tree is an analysis diagram which is used as a support tool that helps decision makers in deciding between options and outcomes. A decision tree consists of nodes and branches and is used in various contexts such as graph theory, algorithms and probability.

5.1.3 Confusion matrix

A confusion matrix is used for classifying results into actual and predicted information. Usually this matrix contains two rows and two columns with the following four outcomes: false positives, false negatives, true positives, and true negatives.

5.1.4 SAP HANA XSJS

As an application developer, you use a variety of languages to develop an application that exposes a SAP HANA data model to requests from UI clients. In an application-development scenario, developers typically use languages such as server-side JavaScript (XSJS) or an OData service to define the application business model that exposes the data model built by the database developer. You can call the application service from a client interface, for example, a browser or UI client. If you want to develop an application service that can be used to expose an SAP HANA data model to client requests.

5.1.5 SAP HANA Repository

In order to support developers in creating applications and services directly within this new SAP HANA Extended Application Services, SAP has enhanced the SAP HANA Studio to include all the necessary tools. SAP HANA Studio was already based upon Eclipse; therefore we were able to extend the Studio via an Eclipse Team Provider plug-in which sees the SAP HANA Repository as a remote source code repository similar to Git or Perforce. This way all the development resources (everything from HANA Views, SQLScript Procedures, Roles, Server Side Logic, HTML and JavaScript content, etc.) can have their entire lifecycle managed with the SAP HANA Database. These lifecycle management capabilities include versioning, language translation export/import, and software delivery/transport.

Page 8: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 8

5.1.6 SAP Predictive Analysis

SAP Predictive Analysis is a statistical analysis and data mining solution that enables you to build predictive models to discover hidden insights and relationships in your data, from which you can make predictions about future events. „SAP Predictive Analysis is a complete data discovery, visualization, and predictive analytics solution designed to extend your current analytics capability and skillset, regardless of your history with BI. It’s an intuitive, drag-

and-drop, code-free experience with enough power for data scientists to conduct more sophisticated analysis using Big Data, yet simple enough to allow business analysts to conduct forward-looking analysis using departmental data from Excel.”

SAP Predictive Analysis is a rich client application that allows you to intuitively design complex predictive models, visualize, discover, and share hidden insights and harness the power of Big Data with SAP HANA:

Intuitively design complex predictive models

Visualize, discover, and share hidden insights

Unleash Big Data with SAP HANA’s power

Embed Predictive in to Apps and BI environments

Real-time answers

5.1.7 SAP InfiniteInsight (formerly known as KXEN InfiniteInsight)

SAP InfiniteInsight is a predictive modeling suite developed by KXEN that assists analytic professionals and business executives to extract information from data. Among other functions, SAP InfiniteInsight is used for variable importance, classification, regression, segmentation, time series, product recommendation. One of the driving technologies behind SAP InfiniteInsight is to the writers’ knowledge the “Statistical Learning Theory” or Vapnik–Chervonenkis theory accredited to mathematician Vladimir Vapnik. The KXEN Company was acquired by SAP in Q4 2013.

Page 9: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 9

6 Technical requirements

SAP HANA with predictive analysis library configured and ready for use.

SAP Predictive Analysis using SAP HANA as “Connected” or online data source.

SAP Dashboard Designer, SAP Design Studio or other SAP BusinessObjects tool capable of connecting to SAP HANA and adding a few buttons to invoke HANA XS.

7 Building trained predictive model.

A good starting point for our simple end-to-end use case is the decision tree which fulfills the requirements for a classification problem and it also provides valuable descriptions on the findings. Furthermore it can be used for the identification of driving indicators (factors, variables etc.) and hence pruning insignificant indicators which can be leveraged in other algorithms.

The first step is to build the machine learning algorithm. In this case SAP Predictive Analysis will be used to build a predictive model. The complete predictive process-flow could be more extensive than presented as SAP PA is capable of using samples, filters etc. for data preparation etc. However in this example the intent is to keep it simple so that the methodology and knowledge sharing is getting the focus and not a sophisticated predictive model. From SAP PA the model is built on training data and after running the trained model it can be saved and exported to HANA as a stored procedure ~ or machine learned model. From there the machine learned model can be run on completely new or unknown data to predict patterns, forecast etc.

7.1 Building trained predictive model – business examples.

SAP Predictive Analysis & SAP InfiniteInsight can provide real business value with advanced analytics in areas such as – just to mention a few examples:

Predicting who will buy additional products based on their behavior of interests – for instance who will buy additional insurance - see reference [Holst & Manga, 2014] for detailed report.

Preventive or Predictive Maintenance to enhance the customer experience, preventing equipment failure and reduce the total repair cost.

Predicting which customer is most likely to churn – using customer affinity analysis. Proactively detecting which components fail together and in which circumstances. Build appropriate stock levels of warranty replacement parts. Forecasting sales, repair, order intake etc. Etc…

Page 10: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 10

7.1 Building trained predictive model – using SAP Predictive Analysis.

The development of predictive models is usually an iterative process where different models are evaluate according to the test design and continuously optimized with respect to what is modeling objectives.

Modeling -> Evaluation -> interpreting the results with domain experts -> data understanding -> data preparation -> modeling -> … As recommended implementation methodology one could use Cross Industry Standard Process for data mining, CRISP-DM, which is a hierarchical process model which consists of phases and tasks. This model is also used to give an overview of life cycle of a data mining project. CRiSP-DM was developed during 1996 by three “veterans” of the young and immature data mining market. More detailed information on the model will be explained in the following chapter.

Some of the steps might be skipped depending on the findings and need for enhancements in data preparation, combining data fields, creating new calculations based on two or more existing fields etc.

During the modeling the data scientists and predictive modeling experts should document the process so that it can be re-run with a different set of parameters. Further it should also document the reasons for choosing those values.

Finally the model should be run in the modeling tool on the prepared dataset to create one or more models.

The modeling process could look like this in SAP Predictive Analysis. On the left is the data source and then there is a filter for either Training or Scoring (Test, validation) data. After which the actual data mining algorithm is applied. In this case a Decision Tree is applied to the training data and the model is executed and saved as a new trained model. The trained model is then applied to unknown or scoring data.

Page 11: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 11

After running the Decision Tree on Training data SAP Predictive Analysis produces results in terms of an Algorithm Summary. As shown SAP Predictive Analysis has generated a mathematical equation that could now be run on new data to predict most likely outcomes.

The generated mathematical equation could be manually transferred to a SAP BI Clients; however that would take a lot of effort and the amount of data should be limited as compared to the capabilities of SAP HANAs in-memory processing which can take very large datasets. In a simpler case with the use of linear regression for instance a manual approach could be preferred. As an example with only one independent and one dependent variable:

Using SAP PA to generate an mathematical equation as to the relationship between the independent and dependent variable.

Page 12: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 12

SAP PA generates a new column “PredictedValues”:

And going to SAP PA’ Algorithm summary provides a neat mathematical equation:

This equation could very easily be added to a Dashboard and once the user would enter a new value for the “X” it would calculate the “Y”. However real predictive analysis isn’t always as easy– in fact far

Page 13: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 13

from it. This is why there is a need for a more automated approach and tool support. But for illustration purposes and in theory this is what this article is about – embedding the mathematical equations build with known dataset in a user friendly Dashboard or report.

7.2 Illustrating the generated predictive model – using SAP Predictive Analysis.

SAP Predictive Analysis is capable of charting many of the build-in algorithms. For the Decision Tree chart where the most important (driving factors) are on top of the tree.

Besides the Decision Tree chart and Algorithm Summary SAP PA also displays a Confusion Matrix where the predicted results are compared with the actual results:

Page 14: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 14

7.3 Scoring the trained predictive model on test or validation data.

After applying the trained model to scoring data SAP Predictive Analysis is executed and the prediction column is added to the data set including probability if chosen:

Page 15: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 15

From the Visualize tab the user can then develop additional visualizations on the newly predicted results – for instance it is possible to build a table similar to the confusion matrix as shown below:

This articles main focus is to embed SAP Predictive into SAP BI tools and the next step would be to utilize this model in SAP BI tools. To make it easy to replicate our steps we will use a simpler example to illustrate the steps necessary to embed a trained or machine learned model as shown above in a SAP BI tool.

7.4 Building trained predictive model – simple example.

Our data source is based on 5 simple fields. The intent is to build a binary classification model where we predict whether the conditions are to go outside and play golf or not. (Reference: MacGregor, 2013).

The independent variables HUMIDITY, OUTLOOK, TEMP and WINDY are used to predict the target variable “CLASS” which is our field that decides whether we should play or not.

The SQL statement for creating this data source can be found in the appendix of this article.

Page 16: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 16

Executing the model and displaying the Results including the new column “PredictedValues” generated by SAP Predictive Analysis:

Using the Confusion Matrix to score our trained model:

The Confusion matrix is a way of visualization of the performance of an algorithm in supervised learning. Each column of the matrix represents the instances in a predicted class, while each row represents the instances in an actual class. The confusion matrix is also called the contingency table or the error matrix.

Page 17: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 17

SAP PA has built-in capability to display the indicators in a decision tree. The results of some algorithms allow great visualizations – such as the decision tree shown below. This could then be used to discuss with the business people with domain expertise.

Page 18: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 18

7.5 Saving the trained model as a new model in SAP PA:

Saving the model in SAP Predictive Analysis is performed by clicking on “Save as model” on each algorithm.

Page 19: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 19

Exporting the SAP PA trained model to SAP HANA:

Page 20: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 20

7.6 The procedure is now saved back to SAP HANA:

Opening the Store procedure reveals what code SAP Predictive Analysis generated.

Calling this code with the right parameters will allow the use of the trained model and hence harvest the machine learned algorithm in SAP HANA or with a few more code-steps directly in SAP BI Clients.

SAP InfiniteInsight also has the capability of producing the trained model as SQL code. SAP InfiniteInsight can either generate the SQL code directly on HANA when already using SAP HANA as data source. The generation of SAP HANA specific SQL code can also be done manually in SAP InfiniteInsight and then copy/pasted into SAP HANA, however if using SAP HANA as a data source this is already done automatically.

Page 21: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 21

From the Save / Export menu there is an option to “Save Model”:

SAP Infinite Insight can export the trained model directly to SAP HANA. When having

Generating the SAP HANA Code – manually:

Page 22: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 22

SAP InfiniteInsight has another very useful capability as the automatically re-training of models can be scheduled using the tool “Factory”, which we do not cover here. In the following part of the article it will be shown what steps needs to done to use the SQL code generated by SAP Predictive Analysis inside a tool such as SAP BusinessObjects Dashboard.

Page 23: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 23

8 Dashboard solution

Business intelligence (BI) applications and dashboards have proven to be strong drivers and enablers of BI adoption. But in order for your executives and business users to adopt them, BI applications must be mobile, highly interactive, tailored to user needs, and able to deliver trusted, aggregated numbers. What if you could quickly and cost-effectively create stunning, interactive visualizations based on the exact requirements of executives – and do so while reusing your existing assets? You can – with the SAP BusinessObjects Design Studio and SAP BusinessObjects Dashboards. This breakthrough solution gives you the tools and flexibility to create visualizations, dashboards, and even BI apps – all supporting a highly interactive mobile or desktop experience. Guided navigation helps people access the insights they need. And because the software connects directly with SAP NetWeaver Business Warehouse (SAP NetWeaver BW), SAP HANA, and any semantic layer (universe), you can reuse your existing data assets while reducing the risk of errors.

8.1 Dashboard solution – business examples.

SAP BusinessObjects BI clients like SAP® BusinessObjects Design Studio and SAP BusinessObjects Dashboards increases the value of your data through better insights enabled by interactive data visualizations and a holistic, trusted view of the enterprise.

Page 24: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 24

8.2 Dashboard solution – simple example.

The following simple dashboard (created with SAP BusinessObjects Dashboards) shows how the solution works. We want to keep it simple as we want to show you how easy the dashboard flow is. The top area contains the data set we want to change. The bottom left table is based on an analytical view which was built on the table PAL_DATA_TAB. The bottom right table shows what happens if we enter a value in the input fields. The table itself is based on an analytical view which was built on the table PAL_RESULT_TAB.

After entering new values in the input fields for ID 1 and pushing the “Send to SAP HANA” button, a Server-Side JavaScript (XSJS) will be triggered on SAP HANA side and will execute a couple of SQL statement including stored procedure calls. The data in the tables are updated with the entered values and the PAL procedure starts running.

Page 25: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 25

In the final step after all SQL statements and stored procedures has been triggered on SAP HANA side, the answer from SAP HANA is shown immediately in the dashboard.

9 Technical setup

This part describes the steps in SAP HAN that are needed to use the machine learned model in SAP BI Clients. As shown below there are 6 features which is used to allow SAP BI Clients direct and real-time access to the trained predictive models inside SAP HANA.

The SAP PA generated model is simplified speaking exported to SAP HANA as a Stored Procedure. To allow SAP BI Clients access to this stored procedure a few steps is required – as shown in the following.

Preparation of the SAP HANA Studio:

Page 26: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 26

Start the SAP HANA Studio and open the “SAP HANA Modeler” perspective if not visible.

Make sure you are logged on to the SAP HANA system you are going to use.

Deploy and run SQL code:

Click on the system ID and start the SQL console for the selected system.

On the next screen you will see the empty SQL console.

Page 27: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 27

Go to the schema with the SAP PA trained model or SAP HANA stored procedure, “PAL_DASHBOARD”:

Use the stored procedure generated by SAP Predictive Analysis as shown earlier in this article:

Create XS JavaScript File for write back functionality in SAP HANA Studio:

Open a new perspective and select “SAP HANA Development”. If you can’t select it just click on “Other…”.

Page 28: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 28

Click on “Repositories” Tab and select “Create Repository Workspace” from the contact menu.

Enter a workspace name (e.g. in our demo “WRITEBACK_HANA”).

You have successfully created a new “Repository Workspace”.

Page 29: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 29

The next step is to create a new “Project” in the “Project repository” via context menu.

Select “XS Project” and click “next”.

Page 30: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 30

Enter a project name (e.g. in our demo “sap.hana.writebackhana”) and click “next”.

Now you have successfully created a “XS Project”.

Right Click on your project and select “File”.

Page 31: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 31

Name it “.xsaccess” and click “Finish”.

Repeat the same steps and create a second file named “.xsapp”. Your screen will look as follows.

Page 32: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 32

Double click on the file “.xsaccess” and enter the following content.

Page 33: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 33

Now we need an XSJS file with the some SQL code for the update code. Right click on project “sap.hana.writeback” and select “new” followed by “XS JavaScript File”.

Name it “write2hana” and finish your entries.

Double click on “write2hana.xsjs” and insert the coding from the appendix into it.

Page 34: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 34

If you have finished click “save”.

Now it’s time to share your project. Select “Team” and “Share Project”.

Page 35: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 35

In the next screen select your Repository Workspace and click “Finish”.

Now all files will be transferred to SAP HANA.

We have finished all the activities required for the write back process. Now it’s time to activate all the developed objects.

Page 36: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 36

Test run for table update in SAP HANA:

Now select your XSJS file and run it.

Your browser will open. Please make sure to test it in Google Chrome. Enter your credentials and start:

The first time you run it you might get an error message which you will not see in other browsers. This error message is ok because the system expects that you pass values for the fields

As your writeback3hana.xsjs waits for values just pass it via URL to test if it works well:

Page 37: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 37

http://yourhanaserver:8000/sap/hana/writebackhana/write2hana.xsjs?ID=1&OUTLOOK=%27Sunny%27&TEMP=3&HUMIDITY=2&WINDY=%27Yes%27

Now check in the SAP HANA Studio the table content of table PAL_DATA_TAB in schema “PAL_DASHBOARD”: Remember what you have passed in your URL to the SAP HANA table:

ID=1 OUTLOOK=Sunny TEMP=3 HUMIDITY=2 WINDY=Yes

Table PAL_DATA_TAB before change:

Table PAL_RESULT_TAB before change:

Page 38: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 38

Table PAL_DATA_TAB after change:

Table PAL_RESULT_TAB before change:

Page 39: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 39

10 Conclusion

As shown in this article with an end-to-end example of how to extend the use of machine learned algorithms generated by SAP Predictive Analysis to easy accessible SAP BI Client such as a Dashboard is feasible in a few steps using SAP HANA to facilitate the entire processing of algorithms, returning predict data etc.

Embedding SAP Predictive or advanced analytics inside SAP BI Clients will greatly increase the number of users with access to machine trained algorithms. The coding shown in this end-to-end example is attached in the appendix and shouldn’t be a showstopper for anyone trying to commoditize advanced analytics – the full code needed is less than one sheet of paper.

CNN Money interviewed the chief analytics officer at FICO, Andrew Jennings, whom also had a saying on this topic and he goes a bit more in detail addressing the skills set needed in an advanced analytics "If you're not a pure-math person or an expert programmer, that's all right, because you can be on a team with people who are,", [CNN Money, 2013]. Using the approach shown in this article end users without programming skills or advanced math-degrees can still benefit from advanced analytics such as machine trained models. The end users of SAP BI Client such as a Dashboard solution does not need to know all the inner-workings of a decision tree or neural network algorithm as long as they can utilize it anyway to make assisted decisions.

In a real case this could extend the user base getting access to advanced analytics significantly. Moreover in a customer environment where SAP BO, HANA and Predictive Analysis are already available this approach would greatly improve the functionality available to users without adding new products.

11 Perspective

During the creating of this article we came across a few development issues that we have addressed – however in a productive environment it would likely need a more detailed approach.

We used SAP Predictive Analysis to train our algorithms and export the model to SAP HANA – we could also have used SAP InfiniteInsight to do the very same steps. As of this writing it looks as if SAP Predictive Analysis and InfiniteInsight will merge and a good guess is that this functionality will therefore be available in the new merged tool.

As for SAP Web Intelligence and Design Studio, the process should be approximately the same as for Dashboard Designer. Design Studio also allows for write-back and update buttons as described with the Dashboard Designer solution in this document. For Web Intelligence there might be a need for a custom coding a new button “Write-back” calling our HANA URL.

Single Sign on between BI tools and HANA using our approach – we did not go into details on this function and as shown in this article the user needs to sign on to HANA the first time they press the “Write-Back” button. Nevertheless you are able to select an authentication type to use when checking user credentials before authorizing access to an application, for example: form-based authentication (with user name and password), SAML (SSO with Security Assertion Markup Language), SAP logon tickets. For more details it always helps to check the latest SAP HANA Developer Guide.

Page 40: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 40

12 Appendix – HANA Script-code.

The code is provided as is – and as such not supported by SAP or the authors of this article. Write2hana.xsjs $.response.contentType = “text/html”; var V_ID = $.request.parameters.get(‘ID’); var V_OUTLOOK = $.request.parameters.get(‘OUTLOOK’); var V_TEMP = $.request.parameters.get(‘TEMP’); var V_HUMIDITY = $.request.parameters.get(‘HUMIDITY’); var V_WINDY = $.request.parameters.get(‘WINDY’); var hana_call = “CALL \”PAL_DASHBOARD\”.\”PROC_UPDATE_HANA\” (“ + V_ID + “ , “ + V_OUTLOOK + “ , “ + V_TEMP + “ , “ + V_HUMIDITY + “ , “ + V_WINDY + “) WITH OVERVIEW”; var hana_call2 = “TRUNCATE TABLE \”PAL_DASHBOARD\”.\”PAL_RESULT_TAB\””; var hana_call3 = “CALL \”_SYS_AFL\”.\”PAL_PREDICT_MODEL_CHAID\”(\”PAL_DASHBOARD\”.\”PAL_DATA_TAB\”, \”PAL_DASHBOARD\”.\”PAL_CONTROL_TAB\”, \”PAL_DASHBOARD\”.\”PAL_JSONMODEL_TAB\”, \”PAL_DASHBOARD\”.\”PAL_RESULT_TAB\”) with overview”; try { var conn = $.db.getConnection(); var pc = conn.prepareCall(hana_call); pc.execute(); pc.close(); conn.commit(); conn.close(); var conn = $.db.getConnection(); pc = conn.prepareCall(hana_call2); pc.execute(); pc.close(); conn.commit(); conn.close(); var conn = $.db.getConnection(); pc = conn.prepareCall(hana_call3); pc.execute(); pc.close(); conn.commit(); conn.close(); var output = “<b>Message from SAP HANA XS Engine</b><br>Values for ID: “ + V_ID + “ with OUTLOOK: <b>” + V_OUTLOOK + “</b>, TEMP: <b>” + V_TEMP + “</b>, HUMIDITY: <b>” + V_HUMIDITY + “</b>, WINDY: <b>” + V_WINDY + “</b> has been transferred to SAP HANA. <br>Tables PAL_DATA_TAB and PAL_RESULT_TAB has been updated 40uccessfully!”; $.response.setBody(output); } catch (error) { $.response.setBody( “Failed to Update ID. “ + hana_call + “<br>Error Message: “ + error); $.response.status = $.net.http.INTERNAL_SERVER_ERROR; }

Page 41: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 41

13 Appendix – HANA Predictive Analysis Library script-code.

The code, with permission from the author, shown below with a few exceptions from the great book “Predictive Analysis with SAP – The Comprehensive Guide”, page 404+ by John MacGregor --This document describes end to end cases with PAL. Using the HANA CHAID Decision Tree – -- TRAIN PROCEDURE – SET SCHEMA PAL_DASHBOARD; DROP TYPE PAL_DATA_T; CREATE TYPE PAL_DATA_T AS TABLE(“OUTLOOK” VARCHAR(50),”TEMP” INT,”HUMIDITY” INT,”Windy” VARCHAR(50),”CLASSLABEL” VARCHAR(50)); DROP TYPE PAL_PMMLMODEL_T; CREATE TYPE PAL_PMMLMODEL_T AS TABLE(“ID” INT,”PMMLMODEL” VARCHAR(5000)); DROP TYPE PAL_JSONMODEL_T; CREATE TYPE PAL_JSONMODEL_T AS TABLE(“ID” INT,”JSONMODEL” VARCHAR(5000)); DROP TYPE PAL_CONTROL_T; CREATE TYPE PAL_CONTROL_T AS TABLE(“NAME” VARCHAR (50),”INTARGS” INTEGER,”DOUBLEARGS” DOUBLE,”STRINGARGS” VARCHAR (100)); --create procedure DROP TABLE PDATA; CREATE COLUMN TABLE PDATA(“ID” INT,”TYPENAME” VARCHAR(100),”DIRECTION” VARCHAR(100)); INSERT INTO PDATA VALUES (1, ‘PAL_DASHBOARD.PAL_DATA_T’, ‘in’); INSERT INTO PDATA VALUES (2, ‘PAL_DASHBOARD.PAL_CONTROL_T’, ‘in’); INSERT INTO PDATA VALUES (3, ‘PAL_DASHBOARD.PAL_JSONMODEL_T’, ‘out’); INSERT INTO PDATA VALUES (4, ‘PAL_DASHBOARD.PAL_PMMLMODEL_T’, ‘out’); call SYSTEM.afl_wrapper_eraser(‘PAL_CREATEDT_WITH_CHAID’); call SYSTEM.afl_wrapper_generator(‘PAL_CREATEDT_WITH_CHAID’, ‘AFLPAL’, ‘CREATEDTWITHCHAID’, PDATA); -- TRAINING DATASET– DROP TABLE PAL_TRAINING_TAB; CREATE COLUMN TABLE PAL_TRAINING_TAB(“OUTLOOK” VARCHAR(50),”TEMP” INT,”HUMIDITY” INT,”Windy” VARCHAR(50),”CLASSLABEL” VARCHAR(50)); INSERT INTO PAL_TRAINING_TAB VALUES (‘Sunny’,2,2,’Yes’,’Play’); INSERT INTO PAL_TRAINING_TAB VALUES (‘Sunny’,2,1,’Yes’,’Do Not Play’); INSERT INTO PAL_TRAINING_TAB VALUES (‘Sunny’,3,1,’No’,’Do Not Play’); INSERT INTO PAL_TRAINING_TAB VALUES (‘Sunny’,2,1,’No’,’Do Not Play’); INSERT INTO PAL_TRAINING_TAB VALUES (‘Sunny’,1,2,’No’,’Play’); INSERT INTO PAL_TRAINING_TAB VALUES (‘Overcast’,2,1,’Yes’,’Play’); INSERT INTO PAL_TRAINING_TAB VALUES (‘Overcast’,3,1,’No’,’Play’); INSERT INTO PAL_TRAINING_TAB VALUES (‘Overcast’,1,2,’Yes’,’Play’); INSERT INTO PAL_TRAINING_TAB VALUES (‘Overcast’,3,2,’No’,’Play’); INSERT INTO PAL_TRAINING_TAB VALUES (‘Rain’,2,1,’Yes’,’Do Not Play’); INSERT INTO PAL_TRAINING_TAB VALUES (‘Rain’,1,2,’Yes’,’Do Not Play’); INSERT INTO PAL_TRAINING_TAB VALUES (‘Rain’,2,1,’No’,’Play’); INSERT INTO PAL_TRAINING_TAB VALUES (‘Rain’,1,1,’No’,’Play’); INSERT INTO PAL_TRAINING_TAB VALUES (‘Rain’,1,1,’No’,’Play’); DROP TABLE PAL_CONTROL_TAB; CREATE COLUMN TABLE PAL_CONTROL_TAB(“NAME” VARCHAR (50),”INTARGS” INTEGER,”DOUBLEARGS” DOUBLE,”STRINGARGS” VARCHAR (100)); INSERT INTO PAL_CONTROL_TAB VALUES (‘PERCENTAGE’,null,1.0,null);

Page 42: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 42

INSERT INTO PAL_CONTROL_TAB VALUES (‘THREAD_NUMBER’,2,null,null); INSERT INTO PAL_CONTROL_TAB VALUES (‘IS_SPLIT_MODEL’,0,null,null); INSERT INTO PAL_CONTROL_TAB VALUES (‘MIN_NUMS_RECORDS’,1,null,null); -- INSERT INTO PAL_CONTROL_TAB VALUES (‘CONTINUOUS_COL’,2,25000,null); -- INSERT INTO PAL_CONTROL_TAB VALUES (‘CONTINUOUS_COL’,2,60000,null); INSERT INTO PAL_CONTROL_TAB VALUES (‘PMML_EXPORT’, 2, null, null); DROP TABLE PAL_JSONMODEL_TAB; CREATE COLUMN TABLE PAL_JSONMODEL_TAB(“ID” INT,”JSONMODEL” VARCHAR(5000)); DROP TABLE PAL_PMMLMODEL_TAB; CREATE COLUMN TABLE PAL_PMMLMODEL_TAB(“ID” INT,”PMMLMODEL” VARCHAR(5000)); CALL “_SYS_AFL”.”PAL_CREATEDT_WITH_CHAID”(PAL_TRAINING_TAB, PAL_CONTROL_TAB, PAL_JSONMODEL_TAB, PAL_PMMLMODEL_TAB) with overview; SELECT * FROM PAL_TRAINING_TAB; SELECT * FROM PAL_CONTROL_TAB; SELECT * FROM PAL_JSONMODEL_TAB; SELECT * FROM PAL_PMMLMODEL_TAB; --- PREDICT PROCEDURE --- SET SCHEMA PAL_DASHBOARD; DROP TYPE PAL_DATA_T; CREATE TYPE PAL_DATA_T AS TABLE(“ID” INT,”OUTLOOK” VARCHAR(50),”TEMP” INT,”HUMIDITY” INT,”Windy” VARCHAR(50)); DROP TYPE PAL_JSONMODEL_T; CREATE TYPE PAL_JSONMODEL_T AS TABLE(“ID” INT,”JSONMODEL” VARCHAR(5000)); DROP TYPE PAL_CONTROL_T; CREATE TYPE PAL_CONTROL_T AS TABLE(“NAME” VARCHAR (50),”INTARGS” INTEGER,”DOUBLEARGS” DOUBLE,”STRINGARGS” VARCHAR (100)); DROP TYPE PAL_RESULT_T; CREATE TYPE PAL_RESULT_T AS TABLE(“ID” INT,”CLASSLABEL” VARCHAR(50)); -- create procedure DROP TABLE PDATA; CREATE COLUMN TABLE PDATA(“ID” INT,”TYPENAME” VARCHAR(100),”DIRECTION” VARCHAR(100)); INSERT INTO PDATA VALUES (1, ‘_SYS_AFL.PAL_DATA_T’, ‘in’); INSERT INTO PDATA VALUES (2, ‘_SYS_AFL.PAL_CONTROL_T’, ‘in’); INSERT INTO PDATA VALUES (3, ‘_SYS_AFL.PAL_JSONMODEL_T’, ‘in’); INSERT INTO PDATA VALUES (4, ‘_SYS_AFL.PAL_RESULT_T’, ‘out’); call SYSTEM.afl_wrapper_eraser(‘PAL_PREDICTWITHDT’); call SYSTEM.afl_wrapper_generator(‘PAL_PREDICTWITHDT’, ‘AFLPAL’, ‘PREDICTWITHDT’, PDATA); --- PREDICT or NEW DATASET --- DROP TABLE PAL_DATA_TAB; CREATE COLUMN TABLE PAL_DATA_TAB (“ID” INT,”OUTLOOK” VARCHAR(50),”TEMP” INT,”HUMIDITY” INT,”Windy” VARCHAR(50)); INSERT INTO PAL_DATA_TAB VALUES (1,’Sunny’,2,2,’Yes’); INSERT INTO PAL_DATA_TAB VALUES (2,’Sunny’,2,1,’Yes’); INSERT INTO PAL_DATA_TAB VALUES (3,’Sunny’,3,1,’No’); INSERT INTO PAL_DATA_TAB VALUES (4,’Sunny’,2,1,’No’); INSERT INTO PAL_DATA_TAB VALUES (5,’Sunny’,1,2,’No’); INSERT INTO PAL_DATA_TAB VALUES (6,’Overcast’,2,1,’Yes’); INSERT INTO PAL_DATA_TAB VALUES (7,’Overcast’,3,1,’No’); INSERT INTO PAL_DATA_TAB VALUES (8,’Overcast’,1,2,’Yes’);

Page 43: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 43

INSERT INTO PAL_DATA_TAB VALUES (9,’Overcast’,3,2,’No’); INSERT INTO PAL_DATA_TAB VALUES (10,’Rain’,2,1,’Yes’); INSERT INTO PAL_DATA_TAB VALUES (11,’Rain’,1,2,’Yes’); INSERT INTO PAL_DATA_TAB VALUES (12,’Rain’,2,1,’No’); INSERT INTO PAL_DATA_TAB VALUES (13,’Rain’,1,1,’No’); INSERT INTO PAL_DATA_TAB VALUES (14,’Rain’,1,1,’No’); DROP TABLE PAL_CONTROL_TAB; CREATE COLUMN TABLE PAL_CONTROL_TAB (“NAME” VARCHAR (50),”INTARGS” INTEGER,”DOUBLEARGS” DOUBLE,”STRINGARGS” VARCHAR (100)); INSERT INTO PAL_CONTROL_TAB VALUES (‘THREAD_NUMBER’,2,null,null); DROP TABLE PAL_RESULT_TAB; CREATE TABLE PAL_RESULT_TAB(“ID” INT,”CLASSLABEL” VARCHAR(50)); SELECT * FROM PAL_JSONMODEL_TAB; SELECT * FROM PAL_DATA_TAB; --- EXECUTE PREDICT PROCEDURE WITH NEW DATASET --- CALL “_SYS_AFL”.”PAL_PREDICTWITHDT”(PAL_DATA_TAB, PAL_CONTROL_TAB, PAL_JSONMODEL_TAB, PAL_RESULT_TAB) with overview; SELECT * FROM PAL_RESULT_TAB; --- COMBINED PREDICTION TO PLAY OR NOT AND TESTING DATASET --- select b.OUTLOOK, b.TEMP ,b.HUMIDITY ,b.”Windy”, a.”CLASSLABEL” AS GOLF from PAL_RESULT_TAB a,PAL_DATA_TAB b, PAL_DATA_TAB c where a.ID = b.ID and c.OUTLOOK = b.OUTLOOK and c.TEMP = b.TEMP and c.HUMIDITY = b.HUMIDITY and c.”Windy” = b.”Windy”;

Page 44: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

Embedding SAP Predictive into BI Tools

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com

© 2014 SAP AG 44

14 Reference Documentation

The following documents are referenced in this document:

DOCUMENT NAME LOCATION ISSUE DATE

SAP HANA Predictive Analysis Library (PAL)

SAP HANA Platform SPS 07 Document Version: 1.0 – 27-11-2013

Nov 2013

(MacGregor, 2013) John MacGregor

Predictive Analysis with SAP – The Comprehensive Guide. ISBN 978-1-59229-916-4. SAP Galileo Press.

2013

SAP HANA Developer Guide http://help.sap.com/hana/SAP_HANA_Master_Guide_en.pdf

2014

[Holst & Manga, 2014] SAP Predictive Analysis – implementing real life data mining use case predicting who will buy additional insurance: http://scn.sap.com/docs/DOC-50803

2014

[SAP Predictive Roadmap,

2014]

http://service.sap.com/roadmap

(Analytics -> Product -> SAP Predictive Analysis &

InfiniteInsight).

2014

[Gartner, 2013] http://blognetwork.kilpatricktownsend.com/bigdatatechlawblog/2013/05/22/gartner-predicts-need-for-1-9-million-new-data-scientists-and-creation-of-6-million-new-big-data-jobs-by-2015-and-dice-com-identifies-specific-areas-of-need/

May

2013

[CNN Money, 2013] http://management.fortune.cnn.com/2013/05/10/big-data-jobs/

Page 45: Embed Predictive into SAP BI Clientsa248.g.akamai.net/n/248/420835/679c95aa9e3ee9f1da... · SAP InfiniteInsight can export the developed models. These models, or mathematical algorithms,

© 2014 SAP AG. All rights reserved.

SAP, R/3, SAP NetWeaver, Duet, PartnerEdge, ByDesign, SAP

BusinessObjects Explorer, StreamWork, SAP HANA, and other SAP

products and services mentioned herein as well as their respective

logos are trademarks or registered trademarks of SAP AG in Germany

and other countries.

Business Objects and the Business Objects logo, BusinessObjects,

Crystal Reports, Crystal Decisions, Web Intelligence, Xcelsius, and

other Business Objects products and services mentioned herein as

well as their respective logos are trademarks or registered trademarks

of Business Objects Software Ltd. Business Objects is an SAP

company.

Sybase and Adaptive Server, iAnywhere, Sybase 365, SQL

Anywhere, and other Sybase products and services mentioned herein

as well as their respective logos are trademarks or registered

trademarks of Sybase Inc. Sybase is an SAP company.

Crossgate, m@gic EDDY, B2B 360°, and B2B 360° Services are

registered trademarks of Crossgate AG in Germany and other

countries. Crossgate is an SAP company.

All other product and service names mentioned are the trademarks of

their respective companies. Data contained in this document serves

informational purposes only. National product specifications may vary.

These materials are subject to change without notice. These materials

are provided by SAP AG and its affiliated companies ("SAP Group")

for informational purposes only, without representation or warranty of

any kind, and SAP Group shall not be liable for errors or omissions

with respect to the materials. The only warranties for SAP Group

products and services are those that are set forth in the express

warranty statements accompanying such products and services, if

any. Nothing herein should be construed as constituting an additional

warranty.

www.sap.com


Recommended