SlideShare a Scribd company logo
Page 1 Author– Ramkumar Rajendran
Write back functionality from various
dashboard tools to SAP HANA
Page 2 Author– Ramkumar Rajendran
Author Biography
Ramkumar Rajendran
.
Ramkumar Rajendran is a Consultant at a leading firm with an
experience of 4 years. He has specialized in various tools like SAP HANA,
SAP BI, SAP BO (Xcelsius, Webi and IDT), Tableau, Lumira and Hadoop-
Hive. He has worked upon the Sentiment Analysis of Twitter data. He
has involved in the integration of HANA and Hadoop. He has worked on
multiple implementation projects for various industry sectors.
Page 3 Author– Ramkumar Rajendran
Table of Contents
1 About this document ..................................................................4
2 Introduction ...............................................................................5
SAP HANA................................................................................................... 5
SAP HANA extended application services .............................................. 5
3 Design Plan ........................................Error! Bookmark not defined.
4 Case study update from Tableau, Qlikview and Xcelsius ................7
SAP HANA table......................................................................................... 7
Server Side Application built using JavaScript ....................................... 8
HANA Table view of the record to be changed ...................................10
Tableau Solution......................................................................................11
How the Tableau Solution works ..........................................................13
Qlikview Solution ....................................................................................14
Xcelsius Solution......................................................................................15
Other Reporting tools.............................................................................15
5 Summary..................................................................................16
6 Reference Material ...................................................................16
Page 4 Author– Ramkumar Rajendran
About this document
Updating database tables from the reporting tools like Tableau, Qlikview, Xcelsius, etc. was
considered to be a myth earlier and believed to be possible only specialized application like
Business planning and consolidation, Integrated planning etc. These reporting tools were
believed to be just used for visualizing the underlying data from the database through various
graphs and charts.
This paper describes the possibility of updating tables from various reporting tools with an
innovative solution.
As a pre-requisite to go through the document, it is expected that the user is aware of basic SAP
HANA functionalities, basic features of Tableau, Qlikview and Xcelsius and JavaScript concepts.
Page 5 Author– Ramkumar Rajendran
Introduction
SAP HANA
SAP HANA is an innovative in-memory database and data management platform, specifically
developed to take full advantage of the capabilities provided by modern hardware to increase
application performance. By keeping all relevant data in main memory, data processing
operations are significantly accelerated.
Design for scalability is a core SAP HANA principle. SAP HANA can be distributed across many
multiple hosts to achieve scalability in terms of both data volume and user concurrency. Unlike
clusters, distributed HANA systems also distribute the data efficiently, achieving high scaling
without I/O locks.
The key performance indicators of SAP HANA appeal to many of our customers, and thousands
of deployments are in progress. SAP HANA has become the fastest growing product in SAP’s
40+ year history.
SAP HANA Extended ApplicationServices
SAP HANA Extended Application Services (SAP HANA XS) provide applications and application
developers with access to the SAP HANA database using a consumption model that is exposed
via HTTP.
In addition to providing application-specific consumption models, SAP HANA XS also host
system services that are part of the SAP HANA database. For example: search services and a
built-in Web server that provides access to the static content stored in the SAP HANA
repository.
The consumption model provided by SAP HANA XS focuses on server-side applications written
in JavaScript. Applications written in server-side JavaScript can make use of a powerful set of
specially developed API functions, for example, to enable access to the current request session
or the database.
Page 6 Author– Ramkumar Rajendran
Design Plan
The technique of updating the HANA tables from the reporting tools is heavily built around a
server side application developed with JavaScript code, which gets invoked from the report and
the relevant data is passed as parameter to this code in the HANA server. With the availability
of these parameters the server side application is executed resulting in update of the values in
the tables.
In order to update data into HANA table would require passing of 3 parameters to application
layer, namely -
1. Primary keys to distinguish a unique record.
2. Name of the column.
3. Value which needs to be updated in the table.
As depicted in the above figure the server side application is called which residing in the
Webserver of HANA database and the relevant parameters are passed from the reporting tools
to this application. This code further executes to update the HANA database tables, which is
thinly coupled with the Webserver resulting in immediate update of the table with the passed
parameter.
Reporting Tools
Webserver-HANA
Database-HANA
The server side application
in HANA Webserver is
invoked and parameters are
passed resulting in update
of HANA tables
Page 7 Author– Ramkumar Rajendran
Case Study – Update data from Tableau, Qlikviewand Xcelsius
SAP HANA Table
Let’s assume that we have a table in SAP HANA, named “BANK_INDICATORS” with the following
structure.
With regard to our earlier mention, the primary keys of the table have to be noted which is
“COUNTRY” and “DATE” in this case. The value of these key fields needs to be passed from the
reporting layer to identify a unique record in the table.
The initial set of data in the table would be looking like this.
Page 8 Author– Ramkumar Rajendran
Server Side Application built using JavaScript
SAP HANA Extended Application Services (SAP HANA XS) helps in hosting a server-side
application written in JavaScript. We would utilize the potential of this application in our case
study to update the HANA table with the parameters passed while invoking the application.
switch (field)
{
case'COUNTRY':
conn.prepareStatement("SET SCHEMA "HANA"").execute();
var st = conn.prepareStatement("UPDATE "HANA"."BANK_INDICATORS" SET "COUNTRY" = ?
WHERE "COUNTRY" = ?");
st.setString(1,data);
st.setString(2,cname);
break;
case'DATE':
conn.prepareStatement ("SET SCHEMA "HANA"").execute();
var st = conn.prepareStatement("UPDATE "HANA"."BANK_INDICATORS" SET "DATE" = ? WHERE
"COUNTRY" = ? AND "DATE" = ?");
st.setString(1,data);
st.setString(2,cname);
st.setString(3,date);
break;
case'INTERNET_USERS':
conn.prepareStatement("SET SCHEMA "HANA"").execute();
var st = conn.prepareStatement("UPDATE "HANA"."BANK_INDICATORS" SET "INTERNET_USERS"
= ? WHERE "COUNTRY" = ? AND "DATE" = ?");
st.setString(1,data);
st.setString(2,cname);
st.setString(3,date);
break;
Page 9 Author– Ramkumar Rajendran
case'MILITARY_EXPENDITURE':
conn.prepareStatement("SET SCHEMA "HANA"").execute();
var st = conn.prepareStatement("UPDATE "HANA"."BANK_INDICATORS" SET
"MILITARY_EXPENDITURE" = ? WHERE "COUNTRY" = ? AND "DATE" = ?");
st.setString(1,data);
st.setString(2,cname);
st.setString(3,date);
break;
case'GDP_PERCAPITA':
conn.prepareStatement("SET SCHEMA "HANA"").execute();
var st = conn.prepareStatement("UPDATE "HANA"."BANK_INDICATORS" SET"GDP_PERCAPITA" =
? WHERE "COUNTRY" = ? AND "DATE" = ?");
st.setString(1,data);
st.setString(2,cname);
st.setString(3,date);
break;
case'LIFE_EXPECTANCY':
conn.prepareStatement("SET SCHEMA "HANA"").execute();
var st = conn.prepareStatement("UPDATE "HANA"."BANK_INDICATORS" SET "LIFE_EXPECTANCY"
= ? WHERE "COUNTRY" = ? AND "DATE" = ?");
st.setString(1,data);
st.setString(2,cname);
st.setString(3,date);
break;
}
Page 10 Author– Ramkumar Rajendran
HANA Table view of the recordto be changed
Consider the below view of the table “BANK_INDICATORS”. Assume that we need to change the
“LIFE_EXPECTANCY” of the record which is highlighted in the below figure to ‘60’.
It should be noted that key fields include COUNTRY and DATE, which in this case are ‘Albania’
and ’01-Jul-2006’.
Page 11 Author– Ramkumar Rajendran
Tableau Solution
Create a Tableau dashboard with live connection to SAP HANA which would look like below.
Enter the new value for the field as 60 and choose the field which needs to be updated from
the drop down box.
Right click anywhere in the dashboard and select “Update new value for LIFE_EXPECTANCY”
Page 12 Author– Ramkumar Rajendran
Refresh the Tableau dashboard and we could see that the value for LIFE_EXPECTANCY is
updated as ‘60’ in the dashboard.
And the same value can be seen updated in the HANA table level.
Page 13 Author– Ramkumar Rajendran
Howthe Tableau Solutionworks?
A text input area for the new value and a drop down box for the field names is created as
shown in the below figure.
A URL action is created which is associated with the parameters “Enter updated data” and
“Select Field” and the dashboard.
This URL action as mentioned above dynamically collects the relevant parameters, viz. primary
keys of the HANA table (COUNTRY and DATE), the new value (60) and the field which needs to
be updated (LIFE_EXPECTANCY) and executes the server side application at the HANA
webserver level with these parameters which in turn would update HANA database table with
these parameters.
http://10.118.0.80:1080/HANA_PAPER/HANA_PAPER/bank.xsjs?field=<Parameters.Select
Field>&cname=<COUNTRY>&cdate=<DATE>&data=<Parameters.Data>
Page 14 Author– Ramkumar Rajendran
QlikviewSolution
On the same lines the dashboard in Qlikview will also help in updating HANA tables. The
dashboard will look as follows.
In this case we are required to explicitly ask the key field information apart from the new value
and field name information from the users since the same functionality can’t be performed
here
In addition to what have been done for Tableau, we are expected to manually fetch the data of
each relevant field through manual variables. Also a bit of macro coding is required to give a
better user experience.
Page 15 Author– Ramkumar Rajendran
Xcelsius Solution
The dashboard built with Xcelsius will look as follows.
In this case the new value will be updated on the basis of the correction done in the input text
area available once any of the record is chosen. The link for the server side application in HANA
webserver is embedded into one of the excel sheet present in the dashboard, which is called
while clicking on the Update button.
Other Reporting tools
As per our research the same technique can be applied across majority of the reporting tools,
except a few like Explorer and Lumira which doesn’t support URL actions.
Page 16 Author– Ramkumar Rajendran
Summary
The combinedpotential of SAPHANA ExtendedApplicationServicesandthe variousreportingtools
have beenutilizedtoaccomplishaveryenthrallingsolution.Thistechniquecanbe applicable in
scenarioswhere the usersare expectedtoupdate valuesona regularbasis.
It doesn’tserve asa complete replacementforSAPBPC,SAPIP,Hyperion,etc. Butthe mythof updating
data to database fromthe reportinglayerisbroken.
What we have illustratedoverhere isasimple mechanismtoachieve thistask.We canfurther
customize thistechnique toaccomplishmuchcomplex real timesolutions.
The same technique canbe furtherextendedtoothertoolslike MicroStrategy,Spotfire,etc.
References
http://help.sap.com/hana/SAP_HANA_Developer_Guide_en.pdf
http://scn.sap.com/community/developer-center/hana/blog/2012/12/21/hana-development-xs-odata-
services
http://www.tableausoftware.com/public/blog
http://community.qlik.com/welcome
http://everythingxcelsius.com/

More Related Content

What's hot

Uses & applications of microsoft excel in vph research
Uses & applications of microsoft excel in vph researchUses & applications of microsoft excel in vph research
Uses & applications of microsoft excel in vph research
Dr Alok Bharti
 
Chart Components
Chart ComponentsChart Components
Chart Components
wmassie
 
Data Management in R
Data Management in RData Management in R
Data Management in R
Sankhya_Analytics
 
Introduction to R and R Studio
Introduction to R and R StudioIntroduction to R and R Studio
Introduction to R and R Studio
Rupak Roy
 
Relational algebra (basics)
Relational algebra (basics)Relational algebra (basics)
Relational algebra (basics)
usama nizam
 
Software packages for statistical analysis - SPSS
Software packages for statistical analysis - SPSSSoftware packages for statistical analysis - SPSS
Software packages for statistical analysis - SPSS
ANAND BALAJI
 
R programming presentation
R programming presentationR programming presentation
R programming presentation
Akshat Sharma
 

What's hot (7)

Uses & applications of microsoft excel in vph research
Uses & applications of microsoft excel in vph researchUses & applications of microsoft excel in vph research
Uses & applications of microsoft excel in vph research
 
Chart Components
Chart ComponentsChart Components
Chart Components
 
Data Management in R
Data Management in RData Management in R
Data Management in R
 
Introduction to R and R Studio
Introduction to R and R StudioIntroduction to R and R Studio
Introduction to R and R Studio
 
Relational algebra (basics)
Relational algebra (basics)Relational algebra (basics)
Relational algebra (basics)
 
Software packages for statistical analysis - SPSS
Software packages for statistical analysis - SPSSSoftware packages for statistical analysis - SPSS
Software packages for statistical analysis - SPSS
 
R programming presentation
R programming presentationR programming presentation
R programming presentation
 

Similar to Write back functionality from various dashboard tools to sap hana

Project report
Project reportProject report
Project report
Chhamanshu Dixit
 
Sizing modern sap hana landscapes
Sizing modern sap hana landscapesSizing modern sap hana landscapes
Sizing modern sap hana landscapes
Jaleel Ahmed Gulammohiddin
 
HANA Modeling
HANA Modeling HANA Modeling
HANA Modeling
Kishore Chaganti
 
SAP_SLT_Guide_21122015.pdf
SAP_SLT_Guide_21122015.pdfSAP_SLT_Guide_21122015.pdf
SAP_SLT_Guide_21122015.pdf
ssuser17886a
 
1310 success stories_and_lessons_learned_implementing_sap_hana_solutions
1310 success stories_and_lessons_learned_implementing_sap_hana_solutions1310 success stories_and_lessons_learned_implementing_sap_hana_solutions
1310 success stories_and_lessons_learned_implementing_sap_hana_solutions
Bobby Shah
 
SAP Hana Overview
SAP Hana OverviewSAP Hana Overview
SAP Hana Overview
Tomislav Milinović
 
SAP Lambda Architecture Point of View
SAP Lambda Architecture Point of ViewSAP Lambda Architecture Point of View
SAP Lambda Architecture Point of View
Snehanshu Shah
 
What is Sap HANA Convista Consulting Asia.pdf
What is Sap HANA Convista Consulting Asia.pdfWhat is Sap HANA Convista Consulting Asia.pdf
What is Sap HANA Convista Consulting Asia.pdf
ankeetkumar4
 
SAP HANA Integrated Online Course Training in Hyderabad | Imagine Life
SAP HANA Integrated Online Course Training in Hyderabad | Imagine LifeSAP HANA Integrated Online Course Training in Hyderabad | Imagine Life
SAP HANA Integrated Online Course Training in Hyderabad | Imagine Life
Imagine life
 
Projected cost analysis of the Sap Hana Platform Cost Savings Enabled By Tr...
Projected cost analysis of the Sap Hana Platform   Cost Savings Enabled By Tr...Projected cost analysis of the Sap Hana Platform   Cost Savings Enabled By Tr...
Projected cost analysis of the Sap Hana Platform Cost Savings Enabled By Tr...
Abdulrahman Abdulrahim
 
SAP HANA Cost Analay
SAP HANA Cost AnalaySAP HANA Cost Analay
SAP HANA Cost Analay
anandglilve
 
Sap hana master_guide_en
Sap hana master_guide_enSap hana master_guide_en
Sap hana master_guide_en
Farrukh Yusupov
 
HANA WITH ABAP OVERVIEW
HANA WITH ABAP OVERVIEWHANA WITH ABAP OVERVIEW
HANA WITH ABAP OVERVIEW
dheerajad
 
Sap HANA Training doc
Sap HANA Training doc Sap HANA Training doc
Sap HANA Training doc
Mansur Shaik
 
Technical Overview of CDS View – SAP HANA Part I
Technical Overview of CDS View – SAP HANA Part ITechnical Overview of CDS View – SAP HANA Part I
Technical Overview of CDS View – SAP HANA Part I
Ashish Saxena
 
SAP HANA Cookbook for MySQL Developers
SAP HANA Cookbook for MySQL DevelopersSAP HANA Cookbook for MySQL Developers
SAP HANA Cookbook for MySQL Developers
saphanacookbook
 
SAP HANA direct extractor:Data acquisition
SAP HANA direct extractor:Data acquisition SAP HANA direct extractor:Data acquisition
SAP HANA direct extractor:Data acquisition
Deepak Chaubey
 
SAP HANA
SAP HANASAP HANA
SAP Crystal Reports & SAP HANA - Integration and Roadmap
SAP Crystal Reports & SAP HANA - Integration and RoadmapSAP Crystal Reports & SAP HANA - Integration and Roadmap
SAP Crystal Reports & SAP HANA - Integration and Roadmap
Kenneth Li
 
Disaster Recovery for SAP HANA with SUSE Linux
Disaster Recovery for SAP HANA with SUSE LinuxDisaster Recovery for SAP HANA with SUSE Linux
Disaster Recovery for SAP HANA with SUSE Linux
Dirk Oppenkowski
 

Similar to Write back functionality from various dashboard tools to sap hana (20)

Project report
Project reportProject report
Project report
 
Sizing modern sap hana landscapes
Sizing modern sap hana landscapesSizing modern sap hana landscapes
Sizing modern sap hana landscapes
 
HANA Modeling
HANA Modeling HANA Modeling
HANA Modeling
 
SAP_SLT_Guide_21122015.pdf
SAP_SLT_Guide_21122015.pdfSAP_SLT_Guide_21122015.pdf
SAP_SLT_Guide_21122015.pdf
 
1310 success stories_and_lessons_learned_implementing_sap_hana_solutions
1310 success stories_and_lessons_learned_implementing_sap_hana_solutions1310 success stories_and_lessons_learned_implementing_sap_hana_solutions
1310 success stories_and_lessons_learned_implementing_sap_hana_solutions
 
SAP Hana Overview
SAP Hana OverviewSAP Hana Overview
SAP Hana Overview
 
SAP Lambda Architecture Point of View
SAP Lambda Architecture Point of ViewSAP Lambda Architecture Point of View
SAP Lambda Architecture Point of View
 
What is Sap HANA Convista Consulting Asia.pdf
What is Sap HANA Convista Consulting Asia.pdfWhat is Sap HANA Convista Consulting Asia.pdf
What is Sap HANA Convista Consulting Asia.pdf
 
SAP HANA Integrated Online Course Training in Hyderabad | Imagine Life
SAP HANA Integrated Online Course Training in Hyderabad | Imagine LifeSAP HANA Integrated Online Course Training in Hyderabad | Imagine Life
SAP HANA Integrated Online Course Training in Hyderabad | Imagine Life
 
Projected cost analysis of the Sap Hana Platform Cost Savings Enabled By Tr...
Projected cost analysis of the Sap Hana Platform   Cost Savings Enabled By Tr...Projected cost analysis of the Sap Hana Platform   Cost Savings Enabled By Tr...
Projected cost analysis of the Sap Hana Platform Cost Savings Enabled By Tr...
 
SAP HANA Cost Analay
SAP HANA Cost AnalaySAP HANA Cost Analay
SAP HANA Cost Analay
 
Sap hana master_guide_en
Sap hana master_guide_enSap hana master_guide_en
Sap hana master_guide_en
 
HANA WITH ABAP OVERVIEW
HANA WITH ABAP OVERVIEWHANA WITH ABAP OVERVIEW
HANA WITH ABAP OVERVIEW
 
Sap HANA Training doc
Sap HANA Training doc Sap HANA Training doc
Sap HANA Training doc
 
Technical Overview of CDS View – SAP HANA Part I
Technical Overview of CDS View – SAP HANA Part ITechnical Overview of CDS View – SAP HANA Part I
Technical Overview of CDS View – SAP HANA Part I
 
SAP HANA Cookbook for MySQL Developers
SAP HANA Cookbook for MySQL DevelopersSAP HANA Cookbook for MySQL Developers
SAP HANA Cookbook for MySQL Developers
 
SAP HANA direct extractor:Data acquisition
SAP HANA direct extractor:Data acquisition SAP HANA direct extractor:Data acquisition
SAP HANA direct extractor:Data acquisition
 
SAP HANA
SAP HANASAP HANA
SAP HANA
 
SAP Crystal Reports & SAP HANA - Integration and Roadmap
SAP Crystal Reports & SAP HANA - Integration and RoadmapSAP Crystal Reports & SAP HANA - Integration and Roadmap
SAP Crystal Reports & SAP HANA - Integration and Roadmap
 
Disaster Recovery for SAP HANA with SUSE Linux
Disaster Recovery for SAP HANA with SUSE LinuxDisaster Recovery for SAP HANA with SUSE Linux
Disaster Recovery for SAP HANA with SUSE Linux
 

Recently uploaded

How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
dakas1
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
XfilesPro
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 

Recently uploaded (20)

How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 

Write back functionality from various dashboard tools to sap hana

  • 1. Page 1 Author– Ramkumar Rajendran Write back functionality from various dashboard tools to SAP HANA
  • 2. Page 2 Author– Ramkumar Rajendran Author Biography Ramkumar Rajendran . Ramkumar Rajendran is a Consultant at a leading firm with an experience of 4 years. He has specialized in various tools like SAP HANA, SAP BI, SAP BO (Xcelsius, Webi and IDT), Tableau, Lumira and Hadoop- Hive. He has worked upon the Sentiment Analysis of Twitter data. He has involved in the integration of HANA and Hadoop. He has worked on multiple implementation projects for various industry sectors.
  • 3. Page 3 Author– Ramkumar Rajendran Table of Contents 1 About this document ..................................................................4 2 Introduction ...............................................................................5 SAP HANA................................................................................................... 5 SAP HANA extended application services .............................................. 5 3 Design Plan ........................................Error! Bookmark not defined. 4 Case study update from Tableau, Qlikview and Xcelsius ................7 SAP HANA table......................................................................................... 7 Server Side Application built using JavaScript ....................................... 8 HANA Table view of the record to be changed ...................................10 Tableau Solution......................................................................................11 How the Tableau Solution works ..........................................................13 Qlikview Solution ....................................................................................14 Xcelsius Solution......................................................................................15 Other Reporting tools.............................................................................15 5 Summary..................................................................................16 6 Reference Material ...................................................................16
  • 4. Page 4 Author– Ramkumar Rajendran About this document Updating database tables from the reporting tools like Tableau, Qlikview, Xcelsius, etc. was considered to be a myth earlier and believed to be possible only specialized application like Business planning and consolidation, Integrated planning etc. These reporting tools were believed to be just used for visualizing the underlying data from the database through various graphs and charts. This paper describes the possibility of updating tables from various reporting tools with an innovative solution. As a pre-requisite to go through the document, it is expected that the user is aware of basic SAP HANA functionalities, basic features of Tableau, Qlikview and Xcelsius and JavaScript concepts.
  • 5. Page 5 Author– Ramkumar Rajendran Introduction SAP HANA SAP HANA is an innovative in-memory database and data management platform, specifically developed to take full advantage of the capabilities provided by modern hardware to increase application performance. By keeping all relevant data in main memory, data processing operations are significantly accelerated. Design for scalability is a core SAP HANA principle. SAP HANA can be distributed across many multiple hosts to achieve scalability in terms of both data volume and user concurrency. Unlike clusters, distributed HANA systems also distribute the data efficiently, achieving high scaling without I/O locks. The key performance indicators of SAP HANA appeal to many of our customers, and thousands of deployments are in progress. SAP HANA has become the fastest growing product in SAP’s 40+ year history. SAP HANA Extended ApplicationServices SAP HANA Extended Application Services (SAP HANA XS) provide applications and application developers with access to the SAP HANA database using a consumption model that is exposed via HTTP. In addition to providing application-specific consumption models, SAP HANA XS also host system services that are part of the SAP HANA database. For example: search services and a built-in Web server that provides access to the static content stored in the SAP HANA repository. The consumption model provided by SAP HANA XS focuses on server-side applications written in JavaScript. Applications written in server-side JavaScript can make use of a powerful set of specially developed API functions, for example, to enable access to the current request session or the database.
  • 6. Page 6 Author– Ramkumar Rajendran Design Plan The technique of updating the HANA tables from the reporting tools is heavily built around a server side application developed with JavaScript code, which gets invoked from the report and the relevant data is passed as parameter to this code in the HANA server. With the availability of these parameters the server side application is executed resulting in update of the values in the tables. In order to update data into HANA table would require passing of 3 parameters to application layer, namely - 1. Primary keys to distinguish a unique record. 2. Name of the column. 3. Value which needs to be updated in the table. As depicted in the above figure the server side application is called which residing in the Webserver of HANA database and the relevant parameters are passed from the reporting tools to this application. This code further executes to update the HANA database tables, which is thinly coupled with the Webserver resulting in immediate update of the table with the passed parameter. Reporting Tools Webserver-HANA Database-HANA The server side application in HANA Webserver is invoked and parameters are passed resulting in update of HANA tables
  • 7. Page 7 Author– Ramkumar Rajendran Case Study – Update data from Tableau, Qlikviewand Xcelsius SAP HANA Table Let’s assume that we have a table in SAP HANA, named “BANK_INDICATORS” with the following structure. With regard to our earlier mention, the primary keys of the table have to be noted which is “COUNTRY” and “DATE” in this case. The value of these key fields needs to be passed from the reporting layer to identify a unique record in the table. The initial set of data in the table would be looking like this.
  • 8. Page 8 Author– Ramkumar Rajendran Server Side Application built using JavaScript SAP HANA Extended Application Services (SAP HANA XS) helps in hosting a server-side application written in JavaScript. We would utilize the potential of this application in our case study to update the HANA table with the parameters passed while invoking the application. switch (field) { case'COUNTRY': conn.prepareStatement("SET SCHEMA "HANA"").execute(); var st = conn.prepareStatement("UPDATE "HANA"."BANK_INDICATORS" SET "COUNTRY" = ? WHERE "COUNTRY" = ?"); st.setString(1,data); st.setString(2,cname); break; case'DATE': conn.prepareStatement ("SET SCHEMA "HANA"").execute(); var st = conn.prepareStatement("UPDATE "HANA"."BANK_INDICATORS" SET "DATE" = ? WHERE "COUNTRY" = ? AND "DATE" = ?"); st.setString(1,data); st.setString(2,cname); st.setString(3,date); break; case'INTERNET_USERS': conn.prepareStatement("SET SCHEMA "HANA"").execute(); var st = conn.prepareStatement("UPDATE "HANA"."BANK_INDICATORS" SET "INTERNET_USERS" = ? WHERE "COUNTRY" = ? AND "DATE" = ?"); st.setString(1,data); st.setString(2,cname); st.setString(3,date); break;
  • 9. Page 9 Author– Ramkumar Rajendran case'MILITARY_EXPENDITURE': conn.prepareStatement("SET SCHEMA "HANA"").execute(); var st = conn.prepareStatement("UPDATE "HANA"."BANK_INDICATORS" SET "MILITARY_EXPENDITURE" = ? WHERE "COUNTRY" = ? AND "DATE" = ?"); st.setString(1,data); st.setString(2,cname); st.setString(3,date); break; case'GDP_PERCAPITA': conn.prepareStatement("SET SCHEMA "HANA"").execute(); var st = conn.prepareStatement("UPDATE "HANA"."BANK_INDICATORS" SET"GDP_PERCAPITA" = ? WHERE "COUNTRY" = ? AND "DATE" = ?"); st.setString(1,data); st.setString(2,cname); st.setString(3,date); break; case'LIFE_EXPECTANCY': conn.prepareStatement("SET SCHEMA "HANA"").execute(); var st = conn.prepareStatement("UPDATE "HANA"."BANK_INDICATORS" SET "LIFE_EXPECTANCY" = ? WHERE "COUNTRY" = ? AND "DATE" = ?"); st.setString(1,data); st.setString(2,cname); st.setString(3,date); break; }
  • 10. Page 10 Author– Ramkumar Rajendran HANA Table view of the recordto be changed Consider the below view of the table “BANK_INDICATORS”. Assume that we need to change the “LIFE_EXPECTANCY” of the record which is highlighted in the below figure to ‘60’. It should be noted that key fields include COUNTRY and DATE, which in this case are ‘Albania’ and ’01-Jul-2006’.
  • 11. Page 11 Author– Ramkumar Rajendran Tableau Solution Create a Tableau dashboard with live connection to SAP HANA which would look like below. Enter the new value for the field as 60 and choose the field which needs to be updated from the drop down box. Right click anywhere in the dashboard and select “Update new value for LIFE_EXPECTANCY”
  • 12. Page 12 Author– Ramkumar Rajendran Refresh the Tableau dashboard and we could see that the value for LIFE_EXPECTANCY is updated as ‘60’ in the dashboard. And the same value can be seen updated in the HANA table level.
  • 13. Page 13 Author– Ramkumar Rajendran Howthe Tableau Solutionworks? A text input area for the new value and a drop down box for the field names is created as shown in the below figure. A URL action is created which is associated with the parameters “Enter updated data” and “Select Field” and the dashboard. This URL action as mentioned above dynamically collects the relevant parameters, viz. primary keys of the HANA table (COUNTRY and DATE), the new value (60) and the field which needs to be updated (LIFE_EXPECTANCY) and executes the server side application at the HANA webserver level with these parameters which in turn would update HANA database table with these parameters. http://10.118.0.80:1080/HANA_PAPER/HANA_PAPER/bank.xsjs?field=<Parameters.Select Field>&cname=<COUNTRY>&cdate=<DATE>&data=<Parameters.Data>
  • 14. Page 14 Author– Ramkumar Rajendran QlikviewSolution On the same lines the dashboard in Qlikview will also help in updating HANA tables. The dashboard will look as follows. In this case we are required to explicitly ask the key field information apart from the new value and field name information from the users since the same functionality can’t be performed here In addition to what have been done for Tableau, we are expected to manually fetch the data of each relevant field through manual variables. Also a bit of macro coding is required to give a better user experience.
  • 15. Page 15 Author– Ramkumar Rajendran Xcelsius Solution The dashboard built with Xcelsius will look as follows. In this case the new value will be updated on the basis of the correction done in the input text area available once any of the record is chosen. The link for the server side application in HANA webserver is embedded into one of the excel sheet present in the dashboard, which is called while clicking on the Update button. Other Reporting tools As per our research the same technique can be applied across majority of the reporting tools, except a few like Explorer and Lumira which doesn’t support URL actions.
  • 16. Page 16 Author– Ramkumar Rajendran Summary The combinedpotential of SAPHANA ExtendedApplicationServicesandthe variousreportingtools have beenutilizedtoaccomplishaveryenthrallingsolution.Thistechniquecanbe applicable in scenarioswhere the usersare expectedtoupdate valuesona regularbasis. It doesn’tserve asa complete replacementforSAPBPC,SAPIP,Hyperion,etc. Butthe mythof updating data to database fromthe reportinglayerisbroken. What we have illustratedoverhere isasimple mechanismtoachieve thistask.We canfurther customize thistechnique toaccomplishmuchcomplex real timesolutions. The same technique canbe furtherextendedtoothertoolslike MicroStrategy,Spotfire,etc. References http://help.sap.com/hana/SAP_HANA_Developer_Guide_en.pdf http://scn.sap.com/community/developer-center/hana/blog/2012/12/21/hana-development-xs-odata- services http://www.tableausoftware.com/public/blog http://community.qlik.com/welcome http://everythingxcelsius.com/