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

Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...Boston Institute of Analytics
 
IMA MSN - Medical Students Network (2).pptx
IMA MSN - Medical Students Network (2).pptxIMA MSN - Medical Students Network (2).pptx
IMA MSN - Medical Students Network (2).pptxdolaknnilon
 
Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Cathrine Wilhelmsen
 
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degreeyuu sss
 
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝DelhiRS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhijennyeacort
 
Student profile product demonstration on grades, ability, well-being and mind...
Student profile product demonstration on grades, ability, well-being and mind...Student profile product demonstration on grades, ability, well-being and mind...
Student profile product demonstration on grades, ability, well-being and mind...Seán Kennedy
 
Thiophen Mechanism khhjjjjjjjhhhhhhhhhhh
Thiophen Mechanism khhjjjjjjjhhhhhhhhhhhThiophen Mechanism khhjjjjjjjhhhhhhhhhhh
Thiophen Mechanism khhjjjjjjjhhhhhhhhhhhYasamin16
 
Top 5 Best Data Analytics Courses In Queens
Top 5 Best Data Analytics Courses In QueensTop 5 Best Data Analytics Courses In Queens
Top 5 Best Data Analytics Courses In Queensdataanalyticsqueen03
 
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...Amil Baba Dawood bangali
 
Multiple time frame trading analysis -brianshannon.pdf
Multiple time frame trading analysis -brianshannon.pdfMultiple time frame trading analysis -brianshannon.pdf
Multiple time frame trading analysis -brianshannon.pdfchwongval
 
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...Boston Institute of Analytics
 
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一F sss
 
Defining Constituents, Data Vizzes and Telling a Data Story
Defining Constituents, Data Vizzes and Telling a Data StoryDefining Constituents, Data Vizzes and Telling a Data Story
Defining Constituents, Data Vizzes and Telling a Data StoryJeremy Anderson
 
Predictive Analysis for Loan Default Presentation : Data Analysis Project PPT
Predictive Analysis for Loan Default  Presentation : Data Analysis Project PPTPredictive Analysis for Loan Default  Presentation : Data Analysis Project PPT
Predictive Analysis for Loan Default Presentation : Data Analysis Project PPTBoston Institute of Analytics
 
Minimizing AI Hallucinations/Confabulations and the Path towards AGI with Exa...
Minimizing AI Hallucinations/Confabulations and the Path towards AGI with Exa...Minimizing AI Hallucinations/Confabulations and the Path towards AGI with Exa...
Minimizing AI Hallucinations/Confabulations and the Path towards AGI with Exa...Thomas Poetter
 
Generative AI for Social Good at Open Data Science East 2024
Generative AI for Social Good at Open Data Science East 2024Generative AI for Social Good at Open Data Science East 2024
Generative AI for Social Good at Open Data Science East 2024Colleen Farrelly
 
Heart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis ProjectHeart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis ProjectBoston Institute of Analytics
 
Conf42-LLM_Adding Generative AI to Real-Time Streaming Pipelines
Conf42-LLM_Adding Generative AI to Real-Time Streaming PipelinesConf42-LLM_Adding Generative AI to Real-Time Streaming Pipelines
Conf42-LLM_Adding Generative AI to Real-Time Streaming PipelinesTimothy Spann
 
Student Profile Sample report on improving academic performance by uniting gr...
Student Profile Sample report on improving academic performance by uniting gr...Student Profile Sample report on improving academic performance by uniting gr...
Student Profile Sample report on improving academic performance by uniting gr...Seán Kennedy
 
科罗拉多大学波尔得分校毕业证学位证成绩单-可办理
科罗拉多大学波尔得分校毕业证学位证成绩单-可办理科罗拉多大学波尔得分校毕业证学位证成绩单-可办理
科罗拉多大学波尔得分校毕业证学位证成绩单-可办理e4aez8ss
 

Recently uploaded (20)

Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...
 
IMA MSN - Medical Students Network (2).pptx
IMA MSN - Medical Students Network (2).pptxIMA MSN - Medical Students Network (2).pptx
IMA MSN - Medical Students Network (2).pptx
 
Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)
 
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
 
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝DelhiRS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
 
Student profile product demonstration on grades, ability, well-being and mind...
Student profile product demonstration on grades, ability, well-being and mind...Student profile product demonstration on grades, ability, well-being and mind...
Student profile product demonstration on grades, ability, well-being and mind...
 
Thiophen Mechanism khhjjjjjjjhhhhhhhhhhh
Thiophen Mechanism khhjjjjjjjhhhhhhhhhhhThiophen Mechanism khhjjjjjjjhhhhhhhhhhh
Thiophen Mechanism khhjjjjjjjhhhhhhhhhhh
 
Top 5 Best Data Analytics Courses In Queens
Top 5 Best Data Analytics Courses In QueensTop 5 Best Data Analytics Courses In Queens
Top 5 Best Data Analytics Courses In Queens
 
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...
 
Multiple time frame trading analysis -brianshannon.pdf
Multiple time frame trading analysis -brianshannon.pdfMultiple time frame trading analysis -brianshannon.pdf
Multiple time frame trading analysis -brianshannon.pdf
 
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
 
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
 
Defining Constituents, Data Vizzes and Telling a Data Story
Defining Constituents, Data Vizzes and Telling a Data StoryDefining Constituents, Data Vizzes and Telling a Data Story
Defining Constituents, Data Vizzes and Telling a Data Story
 
Predictive Analysis for Loan Default Presentation : Data Analysis Project PPT
Predictive Analysis for Loan Default  Presentation : Data Analysis Project PPTPredictive Analysis for Loan Default  Presentation : Data Analysis Project PPT
Predictive Analysis for Loan Default Presentation : Data Analysis Project PPT
 
Minimizing AI Hallucinations/Confabulations and the Path towards AGI with Exa...
Minimizing AI Hallucinations/Confabulations and the Path towards AGI with Exa...Minimizing AI Hallucinations/Confabulations and the Path towards AGI with Exa...
Minimizing AI Hallucinations/Confabulations and the Path towards AGI with Exa...
 
Generative AI for Social Good at Open Data Science East 2024
Generative AI for Social Good at Open Data Science East 2024Generative AI for Social Good at Open Data Science East 2024
Generative AI for Social Good at Open Data Science East 2024
 
Heart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis ProjectHeart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis Project
 
Conf42-LLM_Adding Generative AI to Real-Time Streaming Pipelines
Conf42-LLM_Adding Generative AI to Real-Time Streaming PipelinesConf42-LLM_Adding Generative AI to Real-Time Streaming Pipelines
Conf42-LLM_Adding Generative AI to Real-Time Streaming Pipelines
 
Student Profile Sample report on improving academic performance by uniting gr...
Student Profile Sample report on improving academic performance by uniting gr...Student Profile Sample report on improving academic performance by uniting gr...
Student Profile Sample report on improving academic performance by uniting gr...
 
科罗拉多大学波尔得分校毕业证学位证成绩单-可办理
科罗拉多大学波尔得分校毕业证学位证成绩单-可办理科罗拉多大学波尔得分校毕业证学位证成绩单-可办理
科罗拉多大学波尔得分校毕业证学位证成绩单-可办理
 

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