SlideShare a Scribd company logo
1 of 17
Beyond OData
Introducing
the XML/A model for UI5
Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com
Roland Bouman
Business Intelligence Consultant & Developer
Just-BI.nl (Rijswijk)
Twitter: @rolandbouman
Blog: http://rpbouman.blogspot.nl
Requirement & Environment: Cost Reporting
• Base Cost Measures:
• Actual
• Planned
• Derived Metrics:
• Delta: Planned – Actual
• Relative: Delta / Planned * 100%
• UI:
• Dropdown filter for Time/Period
• Drilldown tables with Bulletcharts
• UI5
• Time:
• Current Period (Month)
• Year to Date
• Hierarchical Breakdowns:
• Cost Centers
• Cost Elements
• Lazy loading
• Backend:
• HANA 1.0
• Data from BW model
• Front end: UI5
• OData (.xsodata)
Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com
Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com
Datamodel: BW on HANA 1.0
• Fact Table:
• Amount
• Cost type (planned or actual)
• Keys to dimension tables
• Dimension Tables
• Calendar Dimension Table
• Cost Center Table (Parent/Child)
• Cost Element Table (Parent/Child)
• Texts (Labels)
Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com
Cost Hierarchy Data Model
• Hierarchies
• Cost Element
• Cost Center
• Adjacency list:
• Id column (primary key)
• Parent Id column (foreign key to Id)
• Recursion
• Non-leaf nodes
• Only access to direct children
• Variable Depth (Ragged)
• Leaf nodes
• Corresponding Fact table Rows
Dimension Table
Id (primary key)
Parent Id (foreign key)
Fact Table
Dimension Table Id (foreign key)
Metrics (to be aggregated)
Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com
Challenge: Recursion & Aggregation with OData
• Recursion
• OData can handle Recursive relationships (navigation properties)
• Think: Lazy loading / Tree-like navigation
• Aggregation
• HANA .xsodata can handle aggregation
• Recursion & Aggregation: 
• Aggregation of fact rows of all descendants of any given non-leaf node
• It needs to not be dead slow, too
Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com
Solutions for Recursive Aggregation?
• All Client-side
• Client caches hierarchy + data, client-side aggregation
• Add a Service
• Server-side logic (procedure, xsjs script) handles recursion & aggregation
• HANA 1.0 has no recursive SQL constructs
• Change the Data
• Flatten parent/child hierarchy into a leveled hierarchy (ETL)
• Each level becomes a column
• Periodical batch ETL required (no realtime)
Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com
The Alternative: MDX
• Multi-Dimensional Expressions
• OLAP (Online Analytical Processing)
• Designed for Aggregation
• Web Service Protocol
• XML/A: “XML for Analysis”
• Native HANA support
• Analytic Views
• CUBE Calculation Views
Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com
SELECT {
[Measures].[Actual]
, [Measures].[Planned]
} ON COLUMNS
, Descendants(
{[Dim].[Hier].[Level].Members}
, 5
, SELF_AND_BEFORE
) ON ROWS
FROM [Cube]
WHERE {[Date].[Hier].[Month].[201811]}
SELECT {
[Measures].[Actual]
, [Measures].[Planned]
} ON COLUMNS
, Descendants(
{[Dim].[Hier].[Level].Members}
, 5
, SELF_AND_BEFORE
) ON ROWS
FROM [Cube]
WHERE {[Date].[Hier].[Month].[201811]}
Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com
Cube Calculation View
Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com
Dimension Calculation View with Hierarchies
Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com
WITH
MEMBER [Measures].[Actual YTD] AS
Aggregate(
Ytd({[Date].[Hier].CurrentMember})
, [Measures].[Actual]
)
MEMBER ...more calculated members...
SELECT ..
Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com
Web Service Protocol: XML for Analysis (XML/A)
• It’s just a Web Service Protocol
• Http / Https
• SOAP Protocol (POST)
• XML used for request and response
• What can it do?
• For Building OLAP applications
• Discover: Get metadata
• Execute: run MDX Queries
• HANA
• XS Application
• Empty .xsxmla file enables XML/A
• Analytic view
• CUBE Calculation view
• Javascript Client Library
• https://github.com/rpbouman/xmla4js
• Interactive MDX Query tool
• https://github.com/rpbouman/pash
Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com
XML/A: Discover and Execute
• Discover: Metadata/Rowset
• Catalogs (packages)
• Cubes (Analytic and CUBE Calc views)
• Dimensions (Attribute and DIMENSION Calc views)
• Hierarchies
• Levels (Attributes)
• Members (Attribute Values)
• Measures
• Properties (Attribute Values, Builtins)
• Execute: Queries/Dataset
• SELECT
• Axes
• FROM
• Cube (in HANA: a View)
• WHERE
• Special “slicer” axis
• Not a predicate based filter !
• Calculated Members
• Derived Measures
• Named Sets
• Custom groupings
Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com
Integration: UI5 Model and Bindings
• Model:
• Provides data access
• Handles back-end requests
• Factory for Binding objects
• Web Service Protocol:
• Normally, OData
• Now, XML/A
• Bindings
• Glues components to Model
• Typically created by the Model
• Binding Types
• Property
• List
• Tree
Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com
Practical Implementation
• Override JSON Model + Bindings
• XmlaModel JSONModel
• XmlaDatasetListBinding JSONListBinding
• XmlaDatasetPropertyBinding JSONPropertyBinding
• XmlaDatasetTreeBinding JSONTreeBinding
• XmlaRowsetListBinding JSONListBinding
Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com
Summary
• MDX Solves a couple of hard problems
• Recursion/Aggregation problem
• The YTD problem and many more advanced aggregations
• XML/A lets you do MDX over HTTP
• HANA Supports XML/A (and MDX)
• Xmla4js is an Open Source XML/A Client in Javascript
• Extend UI5 JSON model + bindings to use Xmla4js
• Now you can do OLAP with any UI5 component through databinding
Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com

More Related Content

What's hot

2014 Workshop - InstantAtlas for ArcGIS Online product overview and the Insta...
2014 Workshop - InstantAtlas for ArcGIS Online product overview and the Insta...2014 Workshop - InstantAtlas for ArcGIS Online product overview and the Insta...
2014 Workshop - InstantAtlas for ArcGIS Online product overview and the Insta...InstantAtlas
 
Hana online training, online hana training , sap hana online training
Hana online training, online hana training , sap hana online trainingHana online training, online hana training , sap hana online training
Hana online training, online hana training , sap hana online trainingVisuinfotech SAP ONLINE TRAININGS
 
SharePoint Saturday - Chicago - 2014 - Decoding the Business Intelligence Alp...
SharePoint Saturday - Chicago - 2014 - Decoding the Business Intelligence Alp...SharePoint Saturday - Chicago - 2014 - Decoding the Business Intelligence Alp...
SharePoint Saturday - Chicago - 2014 - Decoding the Business Intelligence Alp...Scott_Brickey
 
Dogfood 2012 - Decoding the Business Intelligence Alphabet Soup
Dogfood 2012 - Decoding the Business Intelligence Alphabet SoupDogfood 2012 - Decoding the Business Intelligence Alphabet Soup
Dogfood 2012 - Decoding the Business Intelligence Alphabet SoupScott_Brickey
 
Demonstrating ADF in Action through screenhots - getting (re)acquainted with ...
Demonstrating ADF in Action through screenhots - getting (re)acquainted with ...Demonstrating ADF in Action through screenhots - getting (re)acquainted with ...
Demonstrating ADF in Action through screenhots - getting (re)acquainted with ...Lucas Jellema
 
informatica Online Training Institute in India,USA,UK,Canada.
informatica Online Training Institute in India,USA,UK,Canada.informatica Online Training Institute in India,USA,UK,Canada.
informatica Online Training Institute in India,USA,UK,Canada.Angel Maxwel
 
Shaking hands with the developer: How IT Communications can help you build a ...
Shaking hands with the developer: How IT Communications can help you build a ...Shaking hands with the developer: How IT Communications can help you build a ...
Shaking hands with the developer: How IT Communications can help you build a ...Sarah Khan
 
VBA Training In Bangalore
VBA Training In BangaloreVBA Training In Bangalore
VBA Training In BangaloresupriyaaJain
 
ReportPlus: Create Dashboards with your iPad
ReportPlus: Create Dashboards with your iPadReportPlus: Create Dashboards with your iPad
ReportPlus: Create Dashboards with your iPadSouthLabs
 
Informatica Online Training
Informatica Online TrainingInformatica Online Training
Informatica Online TrainingNagendra Kumar
 
What Data-Driven Websites Are and How They Work
What Data-Driven Websites Are and How They WorkWhat Data-Driven Websites Are and How They Work
What Data-Driven Websites Are and How They WorkTessa Mero
 
Power BI / AAS Model Optimization
Power BI / AAS Model OptimizationPower BI / AAS Model Optimization
Power BI / AAS Model OptimizationDan English
 
Perth SharePoint User Group - Hybrid Cloud and Power BI
Perth SharePoint User Group - Hybrid Cloud and Power BIPerth SharePoint User Group - Hybrid Cloud and Power BI
Perth SharePoint User Group - Hybrid Cloud and Power BIBhavik Merchant
 
European SharePoint Conference Training Week - Installing SharePoint 2013
European SharePoint Conference Training Week - Installing SharePoint 2013European SharePoint Conference Training Week - Installing SharePoint 2013
European SharePoint Conference Training Week - Installing SharePoint 2013Alan Richards
 
Project Management With SharePoint
Project Management With SharePointProject Management With SharePoint
Project Management With SharePointSteve Pucelik
 
With Automated ML, is Everyone an ML Engineer?
With Automated ML, is Everyone an ML Engineer?With Automated ML, is Everyone an ML Engineer?
With Automated ML, is Everyone an ML Engineer?Dan Sullivan, Ph.D.
 

What's hot (20)

VantagePoint CRM by CIS Demo
VantagePoint CRM by CIS DemoVantagePoint CRM by CIS Demo
VantagePoint CRM by CIS Demo
 
2014 Workshop - InstantAtlas for ArcGIS Online product overview and the Insta...
2014 Workshop - InstantAtlas for ArcGIS Online product overview and the Insta...2014 Workshop - InstantAtlas for ArcGIS Online product overview and the Insta...
2014 Workshop - InstantAtlas for ArcGIS Online product overview and the Insta...
 
Hana online training, online hana training , sap hana online training
Hana online training, online hana training , sap hana online trainingHana online training, online hana training , sap hana online training
Hana online training, online hana training , sap hana online training
 
SAP BI Overview
SAP BI OverviewSAP BI Overview
SAP BI Overview
 
SharePoint Saturday - Chicago - 2014 - Decoding the Business Intelligence Alp...
SharePoint Saturday - Chicago - 2014 - Decoding the Business Intelligence Alp...SharePoint Saturday - Chicago - 2014 - Decoding the Business Intelligence Alp...
SharePoint Saturday - Chicago - 2014 - Decoding the Business Intelligence Alp...
 
Dogfood 2012 - Decoding the Business Intelligence Alphabet Soup
Dogfood 2012 - Decoding the Business Intelligence Alphabet SoupDogfood 2012 - Decoding the Business Intelligence Alphabet Soup
Dogfood 2012 - Decoding the Business Intelligence Alphabet Soup
 
Demonstrating ADF in Action through screenhots - getting (re)acquainted with ...
Demonstrating ADF in Action through screenhots - getting (re)acquainted with ...Demonstrating ADF in Action through screenhots - getting (re)acquainted with ...
Demonstrating ADF in Action through screenhots - getting (re)acquainted with ...
 
informatica Online Training Institute in India,USA,UK,Canada.
informatica Online Training Institute in India,USA,UK,Canada.informatica Online Training Institute in India,USA,UK,Canada.
informatica Online Training Institute in India,USA,UK,Canada.
 
Shaking hands with the developer: How IT Communications can help you build a ...
Shaking hands with the developer: How IT Communications can help you build a ...Shaking hands with the developer: How IT Communications can help you build a ...
Shaking hands with the developer: How IT Communications can help you build a ...
 
VBA Training In Bangalore
VBA Training In BangaloreVBA Training In Bangalore
VBA Training In Bangalore
 
ReportPlus: Create Dashboards with your iPad
ReportPlus: Create Dashboards with your iPadReportPlus: Create Dashboards with your iPad
ReportPlus: Create Dashboards with your iPad
 
Informatica Online Training
Informatica Online TrainingInformatica Online Training
Informatica Online Training
 
What Data-Driven Websites Are and How They Work
What Data-Driven Websites Are and How They WorkWhat Data-Driven Websites Are and How They Work
What Data-Driven Websites Are and How They Work
 
Erpal erp with drupal
Erpal   erp with drupalErpal   erp with drupal
Erpal erp with drupal
 
Power BI / AAS Model Optimization
Power BI / AAS Model OptimizationPower BI / AAS Model Optimization
Power BI / AAS Model Optimization
 
Perth SharePoint User Group - Hybrid Cloud and Power BI
Perth SharePoint User Group - Hybrid Cloud and Power BIPerth SharePoint User Group - Hybrid Cloud and Power BI
Perth SharePoint User Group - Hybrid Cloud and Power BI
 
European SharePoint Conference Training Week - Installing SharePoint 2013
European SharePoint Conference Training Week - Installing SharePoint 2013European SharePoint Conference Training Week - Installing SharePoint 2013
European SharePoint Conference Training Week - Installing SharePoint 2013
 
Project Management With SharePoint
Project Management With SharePointProject Management With SharePoint
Project Management With SharePoint
 
From Excel hero to Power BI champion
From Excel hero to Power BI championFrom Excel hero to Power BI champion
From Excel hero to Power BI champion
 
With Automated ML, is Everyone an ML Engineer?
With Automated ML, is Everyone an ML Engineer?With Automated ML, is Everyone an ML Engineer?
With Automated ML, is Everyone an ML Engineer?
 

Similar to Beyond OData: Introducing the XML/A model for ui5

Building your first Analysis Services Tabular BI Semantic model with SQL Serv...
Building your first Analysis Services Tabular BI Semantic model with SQL Serv...Building your first Analysis Services Tabular BI Semantic model with SQL Serv...
Building your first Analysis Services Tabular BI Semantic model with SQL Serv...Microsoft TechNet - Belgium and Luxembourg
 
SharePoint Saturday Cincinnati 2012
SharePoint Saturday Cincinnati 2012SharePoint Saturday Cincinnati 2012
SharePoint Saturday Cincinnati 2012Scott_Brickey
 
CRM UG Belux March 2017 - Power BI and Dynamics 365
CRM UG Belux March 2017 - Power BI and Dynamics 365CRM UG Belux March 2017 - Power BI and Dynamics 365
CRM UG Belux March 2017 - Power BI and Dynamics 365Joris Poelmans
 
DMann-SQLDeveloper4Reporting
DMann-SQLDeveloper4ReportingDMann-SQLDeveloper4Reporting
DMann-SQLDeveloper4ReportingDavid Mann
 
Top 10 of Data & BI Summit Series: Power BI Tips & Tricks from the Trenches
Top 10 of Data & BI Summit Series: Power BI Tips & Tricks from the Trenches Top 10 of Data & BI Summit Series: Power BI Tips & Tricks from the Trenches
Top 10 of Data & BI Summit Series: Power BI Tips & Tricks from the Trenches Rui Romano
 
SQL Saturday Columbus 2014 PowerBI with SQL Excel and SharePoint
SQL Saturday Columbus 2014 PowerBI with SQL Excel and SharePointSQL Saturday Columbus 2014 PowerBI with SQL Excel and SharePoint
SQL Saturday Columbus 2014 PowerBI with SQL Excel and SharePointScott_Brickey
 
advance computing and big adata analytic.pptx
advance computing and big adata analytic.pptxadvance computing and big adata analytic.pptx
advance computing and big adata analytic.pptxTeddyIswahyudi1
 
Forge - DevCon 2016: Free your BIM data
Forge - DevCon 2016: Free your BIM dataForge - DevCon 2016: Free your BIM data
Forge - DevCon 2016: Free your BIM dataAutodesk
 
Data Warehouse approaches with Dynamics AX
Data Warehouse  approaches with Dynamics AXData Warehouse  approaches with Dynamics AX
Data Warehouse approaches with Dynamics AXAlvin You
 
Hybrid Analytics in Healthcare: Leveraging Power BI and Office 365 to Make Sm...
Hybrid Analytics in Healthcare: Leveraging Power BI and Office 365 to Make Sm...Hybrid Analytics in Healthcare: Leveraging Power BI and Office 365 to Make Sm...
Hybrid Analytics in Healthcare: Leveraging Power BI and Office 365 to Make Sm...Perficient, Inc.
 
Lifecycle Management with SharePoint Apps and Solutions
Lifecycle Management with SharePoint Apps and SolutionsLifecycle Management with SharePoint Apps and Solutions
Lifecycle Management with SharePoint Apps and SolutionsSPC Adriatics
 
Branson - Self-Service Business Intelligence for On-Prem Organizations
Branson - Self-Service Business Intelligence for On-Prem OrganizationsBranson - Self-Service Business Intelligence for On-Prem Organizations
Branson - Self-Service Business Intelligence for On-Prem OrganizationsTheresa Lubelski
 
Going Serverless - an Introduction to AWS Glue
Going Serverless - an Introduction to AWS GlueGoing Serverless - an Introduction to AWS Glue
Going Serverless - an Introduction to AWS GlueMichael Rainey
 
Taking a look under the hood of Apache Flink's relational APIs.
Taking a look under the hood of Apache Flink's relational APIs.Taking a look under the hood of Apache Flink's relational APIs.
Taking a look under the hood of Apache Flink's relational APIs.Fabian Hueske
 
Fabian Hueske - Taking a look under the hood of Apache Flink’s relational APIs
Fabian Hueske - Taking a look under the hood of Apache Flink’s relational APIsFabian Hueske - Taking a look under the hood of Apache Flink’s relational APIs
Fabian Hueske - Taking a look under the hood of Apache Flink’s relational APIsFlink Forward
 
Self-Service Business Intelligence in Excel
Self-Service Business Intelligence in ExcelSelf-Service Business Intelligence in Excel
Self-Service Business Intelligence in ExcelInnoTech
 
Text Mining & Sentiment Analysis with Power BI & Azure
Text Mining & Sentiment Analysis with Power BI & AzureText Mining & Sentiment Analysis with Power BI & Azure
Text Mining & Sentiment Analysis with Power BI & AzureSanil Mhatre
 
SSAS Design & Incremental Processing - PASSMN May 2010
SSAS Design & Incremental Processing - PASSMN May 2010SSAS Design & Incremental Processing - PASSMN May 2010
SSAS Design & Incremental Processing - PASSMN May 2010Dan English
 
Power BI / AAS Data Model Optimization 101 v2
Power BI / AAS Data Model Optimization 101 v2Power BI / AAS Data Model Optimization 101 v2
Power BI / AAS Data Model Optimization 101 v2Dan English
 

Similar to Beyond OData: Introducing the XML/A model for ui5 (20)

Building your first Analysis Services Tabular BI Semantic model with SQL Serv...
Building your first Analysis Services Tabular BI Semantic model with SQL Serv...Building your first Analysis Services Tabular BI Semantic model with SQL Serv...
Building your first Analysis Services Tabular BI Semantic model with SQL Serv...
 
SharePoint Saturday Cincinnati 2012
SharePoint Saturday Cincinnati 2012SharePoint Saturday Cincinnati 2012
SharePoint Saturday Cincinnati 2012
 
CRM UG Belux March 2017 - Power BI and Dynamics 365
CRM UG Belux March 2017 - Power BI and Dynamics 365CRM UG Belux March 2017 - Power BI and Dynamics 365
CRM UG Belux March 2017 - Power BI and Dynamics 365
 
DMann-SQLDeveloper4Reporting
DMann-SQLDeveloper4ReportingDMann-SQLDeveloper4Reporting
DMann-SQLDeveloper4Reporting
 
Top 10 of Data & BI Summit Series: Power BI Tips & Tricks from the Trenches
Top 10 of Data & BI Summit Series: Power BI Tips & Tricks from the Trenches Top 10 of Data & BI Summit Series: Power BI Tips & Tricks from the Trenches
Top 10 of Data & BI Summit Series: Power BI Tips & Tricks from the Trenches
 
SQL Saturday Columbus 2014 PowerBI with SQL Excel and SharePoint
SQL Saturday Columbus 2014 PowerBI with SQL Excel and SharePointSQL Saturday Columbus 2014 PowerBI with SQL Excel and SharePoint
SQL Saturday Columbus 2014 PowerBI with SQL Excel and SharePoint
 
advance computing and big adata analytic.pptx
advance computing and big adata analytic.pptxadvance computing and big adata analytic.pptx
advance computing and big adata analytic.pptx
 
Forge - DevCon 2016: Free your BIM data
Forge - DevCon 2016: Free your BIM dataForge - DevCon 2016: Free your BIM data
Forge - DevCon 2016: Free your BIM data
 
Data Warehouse approaches with Dynamics AX
Data Warehouse  approaches with Dynamics AXData Warehouse  approaches with Dynamics AX
Data Warehouse approaches with Dynamics AX
 
Architecting a datalake
Architecting a datalakeArchitecting a datalake
Architecting a datalake
 
Hybrid Analytics in Healthcare: Leveraging Power BI and Office 365 to Make Sm...
Hybrid Analytics in Healthcare: Leveraging Power BI and Office 365 to Make Sm...Hybrid Analytics in Healthcare: Leveraging Power BI and Office 365 to Make Sm...
Hybrid Analytics in Healthcare: Leveraging Power BI and Office 365 to Make Sm...
 
Lifecycle Management with SharePoint Apps and Solutions
Lifecycle Management with SharePoint Apps and SolutionsLifecycle Management with SharePoint Apps and Solutions
Lifecycle Management with SharePoint Apps and Solutions
 
Branson - Self-Service Business Intelligence for On-Prem Organizations
Branson - Self-Service Business Intelligence for On-Prem OrganizationsBranson - Self-Service Business Intelligence for On-Prem Organizations
Branson - Self-Service Business Intelligence for On-Prem Organizations
 
Going Serverless - an Introduction to AWS Glue
Going Serverless - an Introduction to AWS GlueGoing Serverless - an Introduction to AWS Glue
Going Serverless - an Introduction to AWS Glue
 
Taking a look under the hood of Apache Flink's relational APIs.
Taking a look under the hood of Apache Flink's relational APIs.Taking a look under the hood of Apache Flink's relational APIs.
Taking a look under the hood of Apache Flink's relational APIs.
 
Fabian Hueske - Taking a look under the hood of Apache Flink’s relational APIs
Fabian Hueske - Taking a look under the hood of Apache Flink’s relational APIsFabian Hueske - Taking a look under the hood of Apache Flink’s relational APIs
Fabian Hueske - Taking a look under the hood of Apache Flink’s relational APIs
 
Self-Service Business Intelligence in Excel
Self-Service Business Intelligence in ExcelSelf-Service Business Intelligence in Excel
Self-Service Business Intelligence in Excel
 
Text Mining & Sentiment Analysis with Power BI & Azure
Text Mining & Sentiment Analysis with Power BI & AzureText Mining & Sentiment Analysis with Power BI & Azure
Text Mining & Sentiment Analysis with Power BI & Azure
 
SSAS Design & Incremental Processing - PASSMN May 2010
SSAS Design & Incremental Processing - PASSMN May 2010SSAS Design & Incremental Processing - PASSMN May 2010
SSAS Design & Incremental Processing - PASSMN May 2010
 
Power BI / AAS Data Model Optimization 101 v2
Power BI / AAS Data Model Optimization 101 v2Power BI / AAS Data Model Optimization 101 v2
Power BI / AAS Data Model Optimization 101 v2
 

More from Roland Bouman

Moving and Transforming Data with Pentaho Data Integration 5.0 CE (aka Kettle)
Moving and Transforming Data with Pentaho Data Integration 5.0 CE (aka Kettle)Moving and Transforming Data with Pentaho Data Integration 5.0 CE (aka Kettle)
Moving and Transforming Data with Pentaho Data Integration 5.0 CE (aka Kettle)Roland Bouman
 
Writing MySQL User-defined Functions in JavaScript
Writing MySQL User-defined Functions in JavaScriptWriting MySQL User-defined Functions in JavaScript
Writing MySQL User-defined Functions in JavaScriptRoland Bouman
 
3. writing MySql plugins for the information schema
3. writing MySql plugins for the information schema3. writing MySql plugins for the information schema
3. writing MySql plugins for the information schemaRoland Bouman
 
2. writing MySql plugins general
2. writing MySql plugins   general2. writing MySql plugins   general
2. writing MySql plugins generalRoland Bouman
 
Common schema my sql uc 2012
Common schema   my sql uc 2012Common schema   my sql uc 2012
Common schema my sql uc 2012Roland Bouman
 
Common schema my sql uc 2012
Common schema   my sql uc 2012Common schema   my sql uc 2012
Common schema my sql uc 2012Roland Bouman
 
Optimizing mysql stored routines uc2010
Optimizing mysql stored routines uc2010Optimizing mysql stored routines uc2010
Optimizing mysql stored routines uc2010Roland Bouman
 
Roland bouman modern_data_warehouse_architectures_data_vault_and_anchor_model...
Roland bouman modern_data_warehouse_architectures_data_vault_and_anchor_model...Roland bouman modern_data_warehouse_architectures_data_vault_and_anchor_model...
Roland bouman modern_data_warehouse_architectures_data_vault_and_anchor_model...Roland Bouman
 

More from Roland Bouman (12)

Moving and Transforming Data with Pentaho Data Integration 5.0 CE (aka Kettle)
Moving and Transforming Data with Pentaho Data Integration 5.0 CE (aka Kettle)Moving and Transforming Data with Pentaho Data Integration 5.0 CE (aka Kettle)
Moving and Transforming Data with Pentaho Data Integration 5.0 CE (aka Kettle)
 
Xmla4js
Xmla4jsXmla4js
Xmla4js
 
Xml4js pentaho
Xml4js pentahoXml4js pentaho
Xml4js pentaho
 
Writing MySQL User-defined Functions in JavaScript
Writing MySQL User-defined Functions in JavaScriptWriting MySQL User-defined Functions in JavaScript
Writing MySQL User-defined Functions in JavaScript
 
3. writing MySql plugins for the information schema
3. writing MySql plugins for the information schema3. writing MySql plugins for the information schema
3. writing MySql plugins for the information schema
 
2. writing MySql plugins general
2. writing MySql plugins   general2. writing MySql plugins   general
2. writing MySql plugins general
 
1. MySql plugins
1. MySql plugins1. MySql plugins
1. MySql plugins
 
Common schema my sql uc 2012
Common schema   my sql uc 2012Common schema   my sql uc 2012
Common schema my sql uc 2012
 
Common schema my sql uc 2012
Common schema   my sql uc 2012Common schema   my sql uc 2012
Common schema my sql uc 2012
 
Optimizing mysql stored routines uc2010
Optimizing mysql stored routines uc2010Optimizing mysql stored routines uc2010
Optimizing mysql stored routines uc2010
 
Writing MySQL UDFs
Writing MySQL UDFsWriting MySQL UDFs
Writing MySQL UDFs
 
Roland bouman modern_data_warehouse_architectures_data_vault_and_anchor_model...
Roland bouman modern_data_warehouse_architectures_data_vault_and_anchor_model...Roland bouman modern_data_warehouse_architectures_data_vault_and_anchor_model...
Roland bouman modern_data_warehouse_architectures_data_vault_and_anchor_model...
 

Recently uploaded

Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingNeil Barnes
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfLars Albertsson
 
Dubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls DubaiDubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls Dubaihf8803863
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfMarinCaroMartnezBerg
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusTimothy Spann
 
B2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxB2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxStephen266013
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz1
 
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfKantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfSocial Samosa
 
Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxolyaivanovalion
 
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxolyaivanovalion
 
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfMarket Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfRachmat Ramadhan H
 
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAl Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAroojKhan71
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfLars Albertsson
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionfulawalesam
 

Recently uploaded (20)

Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data Storytelling
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdf
 
Dubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls DubaiDubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls Dubai
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdf
 
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in  KishangarhDelhi 99530 vip 56974 Genuine Escort Service Call Girls in  Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and Milvus
 
B2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxB2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docx
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signals
 
E-Commerce Order PredictionShraddha Kamble.pptx
E-Commerce Order PredictionShraddha Kamble.pptxE-Commerce Order PredictionShraddha Kamble.pptx
E-Commerce Order PredictionShraddha Kamble.pptx
 
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfKantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
 
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
 
Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptx
 
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptx
 
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
 
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfMarket Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
 
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAl Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdf
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interaction
 

Beyond OData: Introducing the XML/A model for ui5

  • 1. Beyond OData Introducing the XML/A model for UI5 Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com Roland Bouman Business Intelligence Consultant & Developer Just-BI.nl (Rijswijk) Twitter: @rolandbouman Blog: http://rpbouman.blogspot.nl
  • 2. Requirement & Environment: Cost Reporting • Base Cost Measures: • Actual • Planned • Derived Metrics: • Delta: Planned – Actual • Relative: Delta / Planned * 100% • UI: • Dropdown filter for Time/Period • Drilldown tables with Bulletcharts • UI5 • Time: • Current Period (Month) • Year to Date • Hierarchical Breakdowns: • Cost Centers • Cost Elements • Lazy loading • Backend: • HANA 1.0 • Data from BW model • Front end: UI5 • OData (.xsodata) Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com
  • 4. Datamodel: BW on HANA 1.0 • Fact Table: • Amount • Cost type (planned or actual) • Keys to dimension tables • Dimension Tables • Calendar Dimension Table • Cost Center Table (Parent/Child) • Cost Element Table (Parent/Child) • Texts (Labels) Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com
  • 5. Cost Hierarchy Data Model • Hierarchies • Cost Element • Cost Center • Adjacency list: • Id column (primary key) • Parent Id column (foreign key to Id) • Recursion • Non-leaf nodes • Only access to direct children • Variable Depth (Ragged) • Leaf nodes • Corresponding Fact table Rows Dimension Table Id (primary key) Parent Id (foreign key) Fact Table Dimension Table Id (foreign key) Metrics (to be aggregated) Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com
  • 6. Challenge: Recursion & Aggregation with OData • Recursion • OData can handle Recursive relationships (navigation properties) • Think: Lazy loading / Tree-like navigation • Aggregation • HANA .xsodata can handle aggregation • Recursion & Aggregation:  • Aggregation of fact rows of all descendants of any given non-leaf node • It needs to not be dead slow, too Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com
  • 7. Solutions for Recursive Aggregation? • All Client-side • Client caches hierarchy + data, client-side aggregation • Add a Service • Server-side logic (procedure, xsjs script) handles recursion & aggregation • HANA 1.0 has no recursive SQL constructs • Change the Data • Flatten parent/child hierarchy into a leveled hierarchy (ETL) • Each level becomes a column • Periodical batch ETL required (no realtime) Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com
  • 8. The Alternative: MDX • Multi-Dimensional Expressions • OLAP (Online Analytical Processing) • Designed for Aggregation • Web Service Protocol • XML/A: “XML for Analysis” • Native HANA support • Analytic Views • CUBE Calculation Views Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com SELECT { [Measures].[Actual] , [Measures].[Planned] } ON COLUMNS , Descendants( {[Dim].[Hier].[Level].Members} , 5 , SELF_AND_BEFORE ) ON ROWS FROM [Cube] WHERE {[Date].[Hier].[Month].[201811]}
  • 9. SELECT { [Measures].[Actual] , [Measures].[Planned] } ON COLUMNS , Descendants( {[Dim].[Hier].[Level].Members} , 5 , SELF_AND_BEFORE ) ON ROWS FROM [Cube] WHERE {[Date].[Hier].[Month].[201811]} Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com
  • 10. Cube Calculation View Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com
  • 11. Dimension Calculation View with Hierarchies Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com
  • 12. WITH MEMBER [Measures].[Actual YTD] AS Aggregate( Ytd({[Date].[Hier].CurrentMember}) , [Measures].[Actual] ) MEMBER ...more calculated members... SELECT .. Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com
  • 13. Web Service Protocol: XML for Analysis (XML/A) • It’s just a Web Service Protocol • Http / Https • SOAP Protocol (POST) • XML used for request and response • What can it do? • For Building OLAP applications • Discover: Get metadata • Execute: run MDX Queries • HANA • XS Application • Empty .xsxmla file enables XML/A • Analytic view • CUBE Calculation view • Javascript Client Library • https://github.com/rpbouman/xmla4js • Interactive MDX Query tool • https://github.com/rpbouman/pash Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com
  • 14. XML/A: Discover and Execute • Discover: Metadata/Rowset • Catalogs (packages) • Cubes (Analytic and CUBE Calc views) • Dimensions (Attribute and DIMENSION Calc views) • Hierarchies • Levels (Attributes) • Members (Attribute Values) • Measures • Properties (Attribute Values, Builtins) • Execute: Queries/Dataset • SELECT • Axes • FROM • Cube (in HANA: a View) • WHERE • Special “slicer” axis • Not a predicate based filter ! • Calculated Members • Derived Measures • Named Sets • Custom groupings Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com
  • 15. Integration: UI5 Model and Bindings • Model: • Provides data access • Handles back-end requests • Factory for Binding objects • Web Service Protocol: • Normally, OData • Now, XML/A • Bindings • Glues components to Model • Typically created by the Model • Binding Types • Property • List • Tree Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com
  • 16. Practical Implementation • Override JSON Model + Bindings • XmlaModel JSONModel • XmlaDatasetListBinding JSONListBinding • XmlaDatasetPropertyBinding JSONPropertyBinding • XmlaDatasetTreeBinding JSONTreeBinding • XmlaRowsetListBinding JSONListBinding Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com
  • 17. Summary • MDX Solves a couple of hard problems • Recursion/Aggregation problem • The YTD problem and many more advanced aggregations • XML/A lets you do MDX over HTTP • HANA Supports XML/A (and MDX) • Xmla4js is an Open Source XML/A Client in Javascript • Extend UI5 JSON model + bindings to use Xmla4js • Now you can do OLAP with any UI5 component through databinding Roland.Bouman@just-bi.nl – Roland.Bouman@gmail.com