SlideShare a Scribd company logo
CPBIG Local Meet – February 2019 Chennai Power BI – February 2019
PASS
Understanding the Power BI Data Model
Hariharan Rajendran
Microsoft Certified Trainer
Chennai Power BI
About me
Microsoft Certified Trainer.
8+ years experience.
Experience in Business Intelligence
• Microsoft BI
• SAP Business Objects
Expertise in Microsoft Technologies. http://dataap.org/author/hariharanr/
@imhariharanr
hariharan-r-12635640
Chennai Power BI
Power BI Model
Introduced in 2010 – Power Pivot for Excel
OLAP Experience
In-Memory column store database (Vertipaq)
Powerful Analytical formula language (DAX)
Power Query – 2013
Power BI, Excel & Analysis Service (Azure)
Chennai Power BI
Why Power BI Model?
Interactive analytics at the speed of thought
• Slice and dice without writing queries
• Perform business calculations
• Support for high concurrency to support enterprise reporting
• Easy and expressive KPIs, Hierarchies, drill through, naming & translations
• Security to the data
Chennai Power BI
Architecture
Power
Query
(M)
Data Access Vertipaq DQ
Business Logics &
Queries
DAX
Data Model Tabular
BI Semantic Model
Data Sources
Chennai Power BI
Power Query
Connectivity to a wide range of data sources
Highly interactive and intuitive experience for rapid and
interactive construction for queries over any data source
and any size.
Joins across different data sources
Easy and Interactive UI
Rich Language
Chennai Power BI
M Language
Evaluation flows from one step to next step
Results of previous step used in the next step
Each step is stored as variable and reused later steps
M has Lazy Evaluations.
let
Source = Sql.Databases("."),
AdventureWorksDW2014 = Source{[Name="AdventureWorksDW2014"]}[Data],
dbo_DimProduct = AdventureWorksDW2014{[Schema="dbo",Item="DimProduct"]}[Data],
#"Filtered Rows" = Table.SelectRows(dbo_DimProduct, each ([Color] <> "NA")),
#"Capitalized Each Word" = Table.TransformColumns(#"Filtered Rows",{{"Color", Text.Proper, type text}})
in
#"Capitalized Each Word”
Chennai Power BI
Query Folding
Power Query pushes work back to the source system
whenever it can.
select [_].[ProductSubcategoryKey],
[_].[ProductSubcategoryAlternateKey],
[_].[EnglishProductSubcategoryName],
[_].[ProductCategoryKey]
from
(
select [ProductSubcategoryKey],
[ProductSubcategoryAlternateKey],
[EnglishProductSubcategoryName],
[ProductCategoryKey]
from [dbo].[DimProductSubcategory] as [$Table]
) as [_]
where ([_].[EnglishProductSubcategoryName] = 'Mountain Bikes' or [_].[EnglishProductSubcategoryName] = 'Road Bikes’)
or [_].[EnglishProductSubcategoryName] = 'Touring Bikes'
Chennai Power BI
Data Storage
Data is either stored in memory (Vertipaq) or stored at the
data source level (DirectQuery).
In memory is fast and interactive build for analytics
Column based compression.
Direct Query is always up to date, it relies on data source
performance
Vertipaq – Performance
• Query Performance > Processing performance
Chennai Power BI
How does data get loaded?
Table 1
Table data stored in segments & dictionaries per columns
Calculated columns are stored like regular columns
Hierarchies
Relationship structures
Table 2
Chennai Power BI
Relationships
Chennai Power BI
Relationships
Data is always filtered from 1 to M side.
This works great in star schema
What if we don’t have a star schema? Or want to count
values in dimension?
In each country, how many customers bought bikes?
Bi-directional relationship
Chennai Power BI
Demo
Chennai Power BI
DAX
Introduced as part of Power Pivot – add-in for excel
Formula for calculated columns, measures and tables
Navigate relationships
Dynamic calculation of measures
Table valued functions
Time Intelligence
Variables
Chennai Power BI
Purpose of DAX
Calculated Columns
• Value is computed for each row
• Materialized in tables as a static column – It consumes memory
• It can be used for slicers and filters
• All rows contain same formula.
Calculated Measures
• Numeric calculation
• Not Materialized
• Dynamic – Does not consume memory
• Evaluated for each row based on the given context.
Chennai Power BI
Navigation Functions
RELATED
• Follows the relationships and returns the
value of a column
• Single value as a result
RELATEDTABLE
• Follows relationships and returns all the rows
in relationship with the current row value.
Chennai Power BI
Evaluation Contexts
Row Context Filter Context
Chennai Power BI
Demo
Chennai Power BI
Direct Query
Don’t want to wait for data to load. Need real-time data
Performance - Query patterns
Concurrency
Security
Chennai Power BI
Direct Query
Use an optimized data source if possible
Optimize for analytics
• Systems should handle querying of dimensions and facts
• Analytical ready data source helps
• SQL Server in Memory
• SAP HANA
Use Bi-directional cross filtering
Understand security requirements
RLS is very expensive
Chennai Power BI
Direct Query
Assume referential integrity
Chennai Power BI
Direct Query
Query Reduction
Chennai Power BI
Resources
CPBIG Webinar Recordings -
http://dataap.org/cpbig/webinar-recordings/
SQL Server, Power BI & AI - http://dataap.org/blog/
Power BI User Group - Chennai
Chennai Power BI
Chennai Power BI
Thank You - நன்றி

More Related Content

PPTX
Tableau slideshare
PPTX
Introduction to Data Visualization
PDF
Data Visualization in Data Science
PPTX
Introduction of data science
PPTX
Business analytics
PPTX
PPTX
Introduction to data analytics
PDF
Data visualisation & analytics with Tableau
Tableau slideshare
Introduction to Data Visualization
Data Visualization in Data Science
Introduction of data science
Business analytics
Introduction to data analytics
Data visualisation & analytics with Tableau

What's hot (20)

PPTX
MICROSOFT POWER BI PPT.pptx
PPTX
Text MIning
PDF
Microsoft Power BI Overview
PDF
Introduction to Data Analytics and Visualization
PPTX
Introduction to Microsoft Power BI
PPTX
Introduction to DAX
PDF
Big Data Applications | Big Data Analytics Use-Cases | Big Data Tutorial for ...
PPTX
Data Visualization and Dashboard Design
PDF
Data Science Training | Data Science Tutorial for Beginners | Data Science wi...
PDF
Data Science Project Lifecycle
PPTX
Data visualization
PPTX
Big data visualization
PPTX
Microsoft Power BI
PDF
Power BI Data Modeling.pdf
PPTX
Data science applications and usecases
PPTX
An introduction to Business intelligence
PDF
NOSQL- Presentation on NoSQL
PDF
Data Visualization
PPTX
My tableau
MICROSOFT POWER BI PPT.pptx
Text MIning
Microsoft Power BI Overview
Introduction to Data Analytics and Visualization
Introduction to Microsoft Power BI
Introduction to DAX
Big Data Applications | Big Data Analytics Use-Cases | Big Data Tutorial for ...
Data Visualization and Dashboard Design
Data Science Training | Data Science Tutorial for Beginners | Data Science wi...
Data Science Project Lifecycle
Data visualization
Big data visualization
Microsoft Power BI
Power BI Data Modeling.pdf
Data science applications and usecases
An introduction to Business intelligence
NOSQL- Presentation on NoSQL
Data Visualization
My tableau
Ad

Similar to Understanding Power BI Data Model (20)

PPTX
Power BI in Business Intelligence with AI
PPTX
Building your first Analysis Services Tabular BI Semantic model with SQL Serv...
DOCX
Power bi notes
PDF
CPBIG - A Deep Dive into Power BI
PDF
Power BI Interview Questions and Answers | Power BI Certification | Power BI ...
PDF
Introduction to Advanced Analytics with SharePoint Composites
PDF
Taming the shrew Power BI
PPTX
Power BI - Bring your data together
PPTX
Power bi
PDF
Learn How to Use Microsoft Power BI for Office 365 to Analyze Salesforce Data
PDF
knowledgeforumpowerbitrainingnew-230816140827-5eb14be7.pdf
PDF
PowerBI Training
PDF
Introduction to Advanced Analytics with SharePoint Composites
PDF
Role of Power BI in Business Intelligence Transformation.pdf
PPTX
Power BI - 2016 - Public
PPSX
Best practices to deliver data analytics to the business with power bi
PPTX
Enabling Self Service Business Intelligence using Excel
PPTX
Power BI: Introduction with a use case and solution
PDF
Primer on Power BI 201506
Power BI in Business Intelligence with AI
Building your first Analysis Services Tabular BI Semantic model with SQL Serv...
Power bi notes
CPBIG - A Deep Dive into Power BI
Power BI Interview Questions and Answers | Power BI Certification | Power BI ...
Introduction to Advanced Analytics with SharePoint Composites
Taming the shrew Power BI
Power BI - Bring your data together
Power bi
Learn How to Use Microsoft Power BI for Office 365 to Analyze Salesforce Data
knowledgeforumpowerbitrainingnew-230816140827-5eb14be7.pdf
PowerBI Training
Introduction to Advanced Analytics with SharePoint Composites
Role of Power BI in Business Intelligence Transformation.pdf
Power BI - 2016 - Public
Best practices to deliver data analytics to the business with power bi
Enabling Self Service Business Intelligence using Excel
Power BI: Introduction with a use case and solution
Primer on Power BI 201506
Ad

More from HARIHARAN R (15)

PPTX
Power BI Admin Features & REST API
PPTX
DAX - 101
PDF
Power BI Publisher
PDF
Integrating flow and power apps with power bi
PDF
Latest Features in Power BI
PDF
Real time analytics with Power BI
PDF
A Deep Dive into to Power BI - level 2
PDF
SQL Server Reporting Services 2016 Features
PPTX
Azure Stream Analytics - Webinar
PPTX
Azure Logic, API & Mobile Apps
PPTX
Azure Data Factory
PDF
Introduction to Power BI
PPTX
Azure search
PDF
Analytics with R in SQL Server 2016
PDF
Azure catalog
Power BI Admin Features & REST API
DAX - 101
Power BI Publisher
Integrating flow and power apps with power bi
Latest Features in Power BI
Real time analytics with Power BI
A Deep Dive into to Power BI - level 2
SQL Server Reporting Services 2016 Features
Azure Stream Analytics - Webinar
Azure Logic, API & Mobile Apps
Azure Data Factory
Introduction to Power BI
Azure search
Analytics with R in SQL Server 2016
Azure catalog

Recently uploaded (20)

PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPT
Teaching material agriculture food technology
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
sap open course for s4hana steps from ECC to s4
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Spectral efficient network and resource selection model in 5G networks
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Empathic Computing: Creating Shared Understanding
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
NewMind AI Weekly Chronicles - August'25 Week I
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
Advanced methodologies resolving dimensionality complications for autism neur...
Understanding_Digital_Forensics_Presentation.pptx
Teaching material agriculture food technology
MYSQL Presentation for SQL database connectivity
sap open course for s4hana steps from ECC to s4
The Rise and Fall of 3GPP – Time for a Sabbatical?
Dropbox Q2 2025 Financial Results & Investor Presentation
Programs and apps: productivity, graphics, security and other tools
Diabetes mellitus diagnosis method based random forest with bat algorithm
MIND Revenue Release Quarter 2 2025 Press Release
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Spectral efficient network and resource selection model in 5G networks
The AUB Centre for AI in Media Proposal.docx
Chapter 3 Spatial Domain Image Processing.pdf
Empathic Computing: Creating Shared Understanding

Understanding Power BI Data Model

  • 1. CPBIG Local Meet – February 2019 Chennai Power BI – February 2019 PASS Understanding the Power BI Data Model Hariharan Rajendran Microsoft Certified Trainer
  • 2. Chennai Power BI About me Microsoft Certified Trainer. 8+ years experience. Experience in Business Intelligence • Microsoft BI • SAP Business Objects Expertise in Microsoft Technologies. http://dataap.org/author/hariharanr/ @imhariharanr hariharan-r-12635640
  • 3. Chennai Power BI Power BI Model Introduced in 2010 – Power Pivot for Excel OLAP Experience In-Memory column store database (Vertipaq) Powerful Analytical formula language (DAX) Power Query – 2013 Power BI, Excel & Analysis Service (Azure)
  • 4. Chennai Power BI Why Power BI Model? Interactive analytics at the speed of thought • Slice and dice without writing queries • Perform business calculations • Support for high concurrency to support enterprise reporting • Easy and expressive KPIs, Hierarchies, drill through, naming & translations • Security to the data
  • 5. Chennai Power BI Architecture Power Query (M) Data Access Vertipaq DQ Business Logics & Queries DAX Data Model Tabular BI Semantic Model Data Sources
  • 6. Chennai Power BI Power Query Connectivity to a wide range of data sources Highly interactive and intuitive experience for rapid and interactive construction for queries over any data source and any size. Joins across different data sources Easy and Interactive UI Rich Language
  • 7. Chennai Power BI M Language Evaluation flows from one step to next step Results of previous step used in the next step Each step is stored as variable and reused later steps M has Lazy Evaluations. let Source = Sql.Databases("."), AdventureWorksDW2014 = Source{[Name="AdventureWorksDW2014"]}[Data], dbo_DimProduct = AdventureWorksDW2014{[Schema="dbo",Item="DimProduct"]}[Data], #"Filtered Rows" = Table.SelectRows(dbo_DimProduct, each ([Color] <> "NA")), #"Capitalized Each Word" = Table.TransformColumns(#"Filtered Rows",{{"Color", Text.Proper, type text}}) in #"Capitalized Each Word”
  • 8. Chennai Power BI Query Folding Power Query pushes work back to the source system whenever it can. select [_].[ProductSubcategoryKey], [_].[ProductSubcategoryAlternateKey], [_].[EnglishProductSubcategoryName], [_].[ProductCategoryKey] from ( select [ProductSubcategoryKey], [ProductSubcategoryAlternateKey], [EnglishProductSubcategoryName], [ProductCategoryKey] from [dbo].[DimProductSubcategory] as [$Table] ) as [_] where ([_].[EnglishProductSubcategoryName] = 'Mountain Bikes' or [_].[EnglishProductSubcategoryName] = 'Road Bikes’) or [_].[EnglishProductSubcategoryName] = 'Touring Bikes'
  • 9. Chennai Power BI Data Storage Data is either stored in memory (Vertipaq) or stored at the data source level (DirectQuery). In memory is fast and interactive build for analytics Column based compression. Direct Query is always up to date, it relies on data source performance Vertipaq – Performance • Query Performance > Processing performance
  • 10. Chennai Power BI How does data get loaded? Table 1 Table data stored in segments & dictionaries per columns Calculated columns are stored like regular columns Hierarchies Relationship structures Table 2
  • 12. Chennai Power BI Relationships Data is always filtered from 1 to M side. This works great in star schema What if we don’t have a star schema? Or want to count values in dimension? In each country, how many customers bought bikes? Bi-directional relationship
  • 14. Chennai Power BI DAX Introduced as part of Power Pivot – add-in for excel Formula for calculated columns, measures and tables Navigate relationships Dynamic calculation of measures Table valued functions Time Intelligence Variables
  • 15. Chennai Power BI Purpose of DAX Calculated Columns • Value is computed for each row • Materialized in tables as a static column – It consumes memory • It can be used for slicers and filters • All rows contain same formula. Calculated Measures • Numeric calculation • Not Materialized • Dynamic – Does not consume memory • Evaluated for each row based on the given context.
  • 16. Chennai Power BI Navigation Functions RELATED • Follows the relationships and returns the value of a column • Single value as a result RELATEDTABLE • Follows relationships and returns all the rows in relationship with the current row value.
  • 17. Chennai Power BI Evaluation Contexts Row Context Filter Context
  • 19. Chennai Power BI Direct Query Don’t want to wait for data to load. Need real-time data Performance - Query patterns Concurrency Security
  • 20. Chennai Power BI Direct Query Use an optimized data source if possible Optimize for analytics • Systems should handle querying of dimensions and facts • Analytical ready data source helps • SQL Server in Memory • SAP HANA Use Bi-directional cross filtering Understand security requirements RLS is very expensive
  • 21. Chennai Power BI Direct Query Assume referential integrity
  • 22. Chennai Power BI Direct Query Query Reduction
  • 23. Chennai Power BI Resources CPBIG Webinar Recordings - http://dataap.org/cpbig/webinar-recordings/ SQL Server, Power BI & AI - http://dataap.org/blog/ Power BI User Group - Chennai
  • 25. Chennai Power BI Thank You - நன்றி

Editor's Notes

  • #16: 1. Sales Amount -- computed for row by row -- Memory -- Product[Price] The value of the price column from the product table for the current row Different for each row 2. Profit Margin -- Calculated column -- Calculated measure
  • #18: http://sqlml.azurewebsites.net/2017/04/16/evaluation-contexts-in-dax/