BI Semantic Model Gad Haran CTO, Datacube Microsoft BI MRS
BI Semantic ModelGad Haran
CTO, Datacube
Microsoft BI MRS
2014
Comprehensive. Coherent. Easy.
BI Semantic Model
Data model
Business logic
and queries
Data access
SQL SERVER 2014 - BI SEMANTIC MODEL
ROLAP MOLAP XVelocityDirect
Query
MDX DAX
Multi-
dimensionalTabular
Third-party
applications
Reporting
ServicesExcel PowerPivot SharePoint
Databases LOB Applications Files OData Feeds SQL Azure
BI Semantic Model
Project Type PowerPivot Workbook Tabular Project Multidimensional Project
Design Type Tabular Tabular Multidimensional
Development Tool Excel SQL Server Data Tools SQL Server Data Tools
Business Logic DAX DAX MDX
Data Access In-Memory In-Memory
Direct Query
MOLAP
ROLAP
Deployment Share Point/Analysis
Services
Analysis Services
Tabular
Analysis Services
Multidimensional
LOB Applications Files OData Feeds Cloud Services
Relational
Databases
Deployed
BI Semantic Model
Powerview Reporting
ServicesExcel PowerPivot SharePoint
Third-party
applications
LIVE DEMO
Creating Tabular Model
Tabular does not replace OLAP• Use UDM for complex OLAP applications (budgeting, forecasting, write back,
complex calculations)
• For everything else, Tabular offers a simpler and high performance alternative
OLAP and Tabular are available side-
by-side• Instance level option
Existing BI solutions• Stick with OLAP…
• Consider Tabular if you’re planning a major solution upgrade
• Migration from OLAP to Tabular will require some redesign
Depends on the application needs for each layer
• Data model
• Business logic
• Data access & storage
Design Tools (Two Visual Studio project types in
SQL Server 2012\14)
• Multidimensional project – with MDX and
MOLAP/ROLAP
• Tabular project – with DAX and
XVelocity/DirectQuery
Relational
− Familiar model, easier to build, faster time to solution
− Advanced concepts (parent-child, many-to-many) not available natively in the model… need calculations to simulate these
− Easy to wrap a model over a raw database or warehouse for reporting & analytics
OLAP
− Sophisticated model, higher learning curve
− Advanced concepts baked into the model and optimized (parent-child, many-to-many, attribute relationships, key vs. name, etc.)
− Ideally suited for financial apps (planning, budgeting, forecasting) that need the power of the multidimensional model
DAX
− Based on Excel formulas and relational concepts –easy to get started
− Complex solutions require steeper learning curve –row/filter context, Calculate, etc.
− Calculated columns enable new scenarios, however no named sets or calcmembers
MDX
− Based on understanding of multidimensional concepts – higher initial learning curve
− Complex solutions require steeper learning curve –CurrentMember, overwrite semantics, etc.
− Ideally suited for apps that need the power of multidimensional calculations – scopes, assignments, calc members
XVelocity− In-memory column store… typical
10x compression
− Brute force memory scans… high performance by default… no tuning required
− Basic paging support… data volume mostly limited to physical memory
MOLAP− Disk based store… typical 3x
compression
− Disk scans with in-memory subcube caching… aggregation tuning required
− Extensive paging support… data volumes can scale to multiple terabytes
DirectQuery− Clean pass-through of DAX queries
& calculations… fully exploits backend database capabilities
− No support for MDX queries… no support for data sources other than SQL Server
ROLAP− Acceptable pass-through of fact
table requests (except for distinct count )… unusable for dimension tables
− Supports all relational data sources… no support for aggregations