SlideShare a Scribd company logo
1 of 31
Download to read offline
Improve Power BI
Performance
@xuanalytics
Who I am
• Dan (Annie) Xu
• Microsoft Cloud Solution Architect (OCP)
• Dax@Microsoft.com
Understand it ->
Improve it
Agenda
• Level setting
• The Vertipaq engine
• Query Architecture Essentials
• Optimization for Query Performance
• Thinking in a bigger picture
Level setting - Imported Mode vs. Direct Query mode
Data Source Power BI
Compare the difference
Direct Query Mode
Import Mode
Understand the Vertipaq engine
Column
Store vs.
Row Store
http://saphanatutorial.com/column-data-storage-and-row-data-storage-sap-hana/
Compression
http://saphanatutorial.com/column-data-storage-and-row-data-storage-sap-hana/
What happens when data is imported from source
to Power BI
• Reading of the source dataset, transformation into a columnar
data structure of VertiPaq, encoding and compressing each
column.
• Creation of dictionaries and indexes for each column.
• Creation of the data structures for relationships.
• Computation and compression of all the calculated columns.
https://www.microsoftpressstore.com/articles/article.aspx?p=2449192
Optimization
for Vertipaq
memory
usage
• Total table size, Number of records and columns
• Number of partition and segments, ~ records per
segments
Analyze biggest tables
• Total column size, dictionary size (Hash)
• Data Type, Cardinality
• Encoding type (value, hash)
Analyze biggest columns
Analyze largest relationships
Data Model
is a Key
Driver for
query
performance
• Even the best DAX in the world can struggle
against a poorly designed model
• Lots of performance issues are cause by model
designs which not follow best practices
• As model get larger, adherence to best practice in
design becomes more and more important
• Recommended reading: Modeling for AS Tabular
scalability whitepaper
Demo time!
Your Tool: Vertipaq Analyzer
Query Architecture Essential
Formula Engine vs. Storage Engine
Category Formula Engine Storage Engine
Thread Single - Threaded Multi – Threaded
Characteristics Very Smart! Very Fast!
Main function Build execution
plans
Handle complex
expressions against
datacaches
Handle simple arithmetic
calculations
Execute queries against
the compressed data in
VertiPaq storage
Cache utilization No Yes
Performance Tuning Check physical plan Check xmSQL queries (a
textual representation of
SE query)
Vertipaq Cache
• Goal: Improve the performance of multiple requests of the same data
cache within the same query or different queries requesting the same
datacache
• Only result of Storage Engine is Cached (FE does not have any)
• Vertipaq engine can reuses data in cache only when the cardinality is
the same and the columns are a subset of a previous query
CallbackDataID
• The SE only supports a limited set of operators and functions in
xmSQL. It cannot calculated complex logic such as conditional logic,
advanced math
• When a calculation is required within a VertiPaq iterator, the SE may
call FE using a special xmSQL function called CallbackDataID.
• If the CallbackDataID is generated in query plan of a iterator, the SE
calls the FE for every row, passing the DAX expression and the values
of its members as arguments.
• The result of the CallbackDataID is a data cache with only one row,
corresponding to the aggregated result
CallBackDataID Performance
• Slower than pure Vertipaq
• Faster than pure Formula Engine
• – Highly parallelized
• – Works on compressed data
• Not cached
Optimization for Query Performance
Consider
Query
Memory
Usage
• Simple queries require some memory
• Complex queries require more memory Ex:
Materialization of datasets
• Data Cache (SE query) also requires memory
Optimization
Standard
Process
1. Measure performance Power BI Performance
Analyzer
2. Analyze the query plan Dax Studio
3. Find a new way to rethink calculation & query
(Reduce FE usage and Increase SE usage)
4. Measure performance gain
5. Loop until the expected level of performance
Demo time!
Your Tool: Dax Studio, Power BI Performance Analyzer
Thinking in a bigger picture
More horse
power
• Power BI pro, Power BI premium, Power BI
embedded
• Use SSAS Tabular Server (Hardware
considerations)
• Direct Query: more powerful data pipeline
engine (SQL Server, Azure SQL Data
Warehouse edc.
Appendix List
• Useful Links
• Key Concepts
• Useful Tools for DAX and Tabular Modeling
Useful Links
• https://www.sqlbi.com/
• https://powerpivotpro.com
• http://anniexu1990.com
• Book: The Definitive Guide to DAX
Key Concepts
• Column store vs. row store technology
• Vertipaq compression
• Row context vs. filter context
• Formula Engine vs. Storage Engine
Useful Tools for
DAX and Tabular Modeling
• DAXStudio
• Vertipaq Analyzer
• DAX Editor
Performance Tuning for DAX
“The most important factor of DAX formula speed is data distribution”
• Vertipaq Analyzer
Formula Engine Bottlenecks
• Redundant logic steps
• Long iterations over datacaches
Storage Engine Bottlenecks
• Long Scan time
• Large cardinality
• High frequency of CallbackdataID (a function in Storage Engine communicating back
to formula engine for complicated calculations which disable the cache)
• Large materialization
Some Query
Performance
Tuning
Techniques
• User Variables when you can precompute some calculations
• When possible, replace cumulated IF conditions by CALCULATE with
separated conditions expression
• Avoid complex FILTERS in the came CALCULATE single conditions (use
separated conditions)
• Use IFERROR sparingly
• When possible replace DIVIDE by condition in the CALCULATE
• Reduce useless iterations (change the grain of the table inside the
iterator)
• Adjust the model design to remove complex “on the fly” computation
(reduce FE cpu time)
• Look at the number of xmSQL queries and rows returned by Storage
Engine
• Try to avoid CallBack (ex: complex filter)
• Try to avoid Materializations (ex: complex join or iterator)

More Related Content

What's hot

Data Architecture for Data Governance
Data Architecture for Data GovernanceData Architecture for Data Governance
Data Architecture for Data Governance
DATAVERSITY
 

What's hot (20)

Power BI Overview
Power BI Overview Power BI Overview
Power BI Overview
 
Power bi
Power biPower bi
Power bi
 
Power BI Report Server Enterprise Architecture, Tools to Publish reports and ...
Power BI Report Server Enterprise Architecture, Tools to Publish reports and ...Power BI Report Server Enterprise Architecture, Tools to Publish reports and ...
Power BI Report Server Enterprise Architecture, Tools to Publish reports and ...
 
Automate data warehouse etl testing and migration testing the agile way
Automate data warehouse etl testing and migration testing the agile wayAutomate data warehouse etl testing and migration testing the agile way
Automate data warehouse etl testing and migration testing the agile way
 
35 power bi presentations
35 power bi presentations35 power bi presentations
35 power bi presentations
 
Microsoft power bi
Microsoft power biMicrosoft power bi
Microsoft power bi
 
Power bi introduction
Power bi introductionPower bi introduction
Power bi introduction
 
Introduction to Power BI
Introduction to Power BIIntroduction to Power BI
Introduction to Power BI
 
Architecting a datalake
Architecting a datalakeArchitecting a datalake
Architecting a datalake
 
adb.pdf
adb.pdfadb.pdf
adb.pdf
 
Power bi overview
Power bi overview Power bi overview
Power bi overview
 
Data Architecture for Data Governance
Data Architecture for Data GovernanceData Architecture for Data Governance
Data Architecture for Data Governance
 
Modern Data architecture Design
Modern Data architecture DesignModern Data architecture Design
Modern Data architecture Design
 
DW Migration Webinar-March 2022.pptx
DW Migration Webinar-March 2022.pptxDW Migration Webinar-March 2022.pptx
DW Migration Webinar-March 2022.pptx
 
What is Power BI
What is Power BIWhat is Power BI
What is Power BI
 
Power BI: From the Basics
Power BI: From the BasicsPower BI: From the Basics
Power BI: From the Basics
 
Oracle Data Warehouse
Oracle Data WarehouseOracle Data Warehouse
Oracle Data Warehouse
 
Microsoft Power BI Overview
Microsoft Power BI OverviewMicrosoft Power BI Overview
Microsoft Power BI Overview
 
Microsoft Power BI for Office 365 Pricing and Licensing
Microsoft Power BI for Office 365Pricing and LicensingMicrosoft Power BI for Office 365Pricing and Licensing
Microsoft Power BI for Office 365 Pricing and Licensing
 
Slides: Success Stories for Data-to-Cloud
Slides: Success Stories for Data-to-CloudSlides: Success Stories for Data-to-Cloud
Slides: Success Stories for Data-to-Cloud
 

Similar to Improve power bi performance

impalapresentation-130130105033-phpapp02 (1)_221220_235919.pdf
impalapresentation-130130105033-phpapp02 (1)_221220_235919.pdfimpalapresentation-130130105033-phpapp02 (1)_221220_235919.pdf
impalapresentation-130130105033-phpapp02 (1)_221220_235919.pdf
ssusere05ec21
 
SQL Analytics for Search Engineers - Timothy Potter, Lucidworksngineers
SQL Analytics for Search Engineers - Timothy Potter, LucidworksngineersSQL Analytics for Search Engineers - Timothy Potter, Lucidworksngineers
SQL Analytics for Search Engineers - Timothy Potter, Lucidworksngineers
Lucidworks
 

Similar to Improve power bi performance (20)

Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...
Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...
Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...
 
Introduction to Amazon Athena
Introduction to Amazon AthenaIntroduction to Amazon Athena
Introduction to Amazon Athena
 
Introduction to Amazon Athena
Introduction to Amazon AthenaIntroduction to Amazon Athena
Introduction to Amazon Athena
 
Announcing Amazon Athena - Instantly Analyze Your Data in S3 Using SQL
Announcing Amazon Athena - Instantly Analyze Your Data in S3 Using SQLAnnouncing Amazon Athena - Instantly Analyze Your Data in S3 Using SQL
Announcing Amazon Athena - Instantly Analyze Your Data in S3 Using SQL
 
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
 
In-memory ColumnStore Index
In-memory ColumnStore IndexIn-memory ColumnStore Index
In-memory ColumnStore Index
 
StackMate - CloudFormation for CloudStack
StackMate - CloudFormation for CloudStackStackMate - CloudFormation for CloudStack
StackMate - CloudFormation for CloudStack
 
Enabling Key Business Advantage from Big Data through Advanced Ingest Process...
Enabling Key Business Advantage from Big Data through Advanced Ingest Process...Enabling Key Business Advantage from Big Data through Advanced Ingest Process...
Enabling Key Business Advantage from Big Data through Advanced Ingest Process...
 
NEW LAUNCH! Intro to Amazon Athena. Easily analyze data in S3, using SQL.
NEW LAUNCH! Intro to Amazon Athena. Easily analyze data in S3, using SQL.NEW LAUNCH! Intro to Amazon Athena. Easily analyze data in S3, using SQL.
NEW LAUNCH! Intro to Amazon Athena. Easily analyze data in S3, using SQL.
 
NEW LAUNCH! Intro to Amazon Athena. Easily analyze data in S3, using SQL.
NEW LAUNCH! Intro to Amazon Athena. Easily analyze data in S3, using SQL.NEW LAUNCH! Intro to Amazon Athena. Easily analyze data in S3, using SQL.
NEW LAUNCH! Intro to Amazon Athena. Easily analyze data in S3, using SQL.
 
impalapresentation-130130105033-phpapp02 (1)_221220_235919.pdf
impalapresentation-130130105033-phpapp02 (1)_221220_235919.pdfimpalapresentation-130130105033-phpapp02 (1)_221220_235919.pdf
impalapresentation-130130105033-phpapp02 (1)_221220_235919.pdf
 
SQL Analytics for Search Engineers - Timothy Potter, Lucidworksngineers
SQL Analytics for Search Engineers - Timothy Potter, LucidworksngineersSQL Analytics for Search Engineers - Timothy Potter, Lucidworksngineers
SQL Analytics for Search Engineers - Timothy Potter, Lucidworksngineers
 
Webinar: SAP HANA - Features, Architecture and Advantages
Webinar: SAP HANA - Features, Architecture and AdvantagesWebinar: SAP HANA - Features, Architecture and Advantages
Webinar: SAP HANA - Features, Architecture and Advantages
 
Cheetah:Data Warehouse on Top of MapReduce
Cheetah:Data Warehouse on Top of MapReduceCheetah:Data Warehouse on Top of MapReduce
Cheetah:Data Warehouse on Top of MapReduce
 
Basic Application Performance Optimization Techniques (Backend)
Basic Application Performance Optimization Techniques (Backend)Basic Application Performance Optimization Techniques (Backend)
Basic Application Performance Optimization Techniques (Backend)
 
Qubole - Big data in cloud
Qubole - Big data in cloudQubole - Big data in cloud
Qubole - Big data in cloud
 
2018 data warehouse features in spark
2018   data warehouse features in spark2018   data warehouse features in spark
2018 data warehouse features in spark
 
Low Latency Polyglot Model Scoring using Apache Apex
Low Latency Polyglot Model Scoring using Apache ApexLow Latency Polyglot Model Scoring using Apache Apex
Low Latency Polyglot Model Scoring using Apache Apex
 
Apache Kylin: OLAP Engine on Hadoop - Tech Deep Dive
Apache Kylin: OLAP Engine on Hadoop - Tech Deep DiveApache Kylin: OLAP Engine on Hadoop - Tech Deep Dive
Apache Kylin: OLAP Engine on Hadoop - Tech Deep Dive
 
Big Data Day LA 2016/ Big Data Track - How To Use Impala and Kudu To Optimize...
Big Data Day LA 2016/ Big Data Track - How To Use Impala and Kudu To Optimize...Big Data Day LA 2016/ Big Data Track - How To Use Impala and Kudu To Optimize...
Big Data Day LA 2016/ Big Data Track - How To Use Impala and Kudu To Optimize...
 

Recently uploaded

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

Improve power bi performance

  • 2. Who I am • Dan (Annie) Xu • Microsoft Cloud Solution Architect (OCP) • Dax@Microsoft.com
  • 4. Agenda • Level setting • The Vertipaq engine • Query Architecture Essentials • Optimization for Query Performance • Thinking in a bigger picture
  • 5. Level setting - Imported Mode vs. Direct Query mode Data Source Power BI
  • 6. Compare the difference Direct Query Mode Import Mode
  • 10. What happens when data is imported from source to Power BI • Reading of the source dataset, transformation into a columnar data structure of VertiPaq, encoding and compressing each column. • Creation of dictionaries and indexes for each column. • Creation of the data structures for relationships. • Computation and compression of all the calculated columns. https://www.microsoftpressstore.com/articles/article.aspx?p=2449192
  • 11. Optimization for Vertipaq memory usage • Total table size, Number of records and columns • Number of partition and segments, ~ records per segments Analyze biggest tables • Total column size, dictionary size (Hash) • Data Type, Cardinality • Encoding type (value, hash) Analyze biggest columns Analyze largest relationships
  • 12. Data Model is a Key Driver for query performance • Even the best DAX in the world can struggle against a poorly designed model • Lots of performance issues are cause by model designs which not follow best practices • As model get larger, adherence to best practice in design becomes more and more important • Recommended reading: Modeling for AS Tabular scalability whitepaper
  • 13. Demo time! Your Tool: Vertipaq Analyzer
  • 15. Formula Engine vs. Storage Engine Category Formula Engine Storage Engine Thread Single - Threaded Multi – Threaded Characteristics Very Smart! Very Fast! Main function Build execution plans Handle complex expressions against datacaches Handle simple arithmetic calculations Execute queries against the compressed data in VertiPaq storage Cache utilization No Yes Performance Tuning Check physical plan Check xmSQL queries (a textual representation of SE query)
  • 16. Vertipaq Cache • Goal: Improve the performance of multiple requests of the same data cache within the same query or different queries requesting the same datacache • Only result of Storage Engine is Cached (FE does not have any) • Vertipaq engine can reuses data in cache only when the cardinality is the same and the columns are a subset of a previous query
  • 17. CallbackDataID • The SE only supports a limited set of operators and functions in xmSQL. It cannot calculated complex logic such as conditional logic, advanced math • When a calculation is required within a VertiPaq iterator, the SE may call FE using a special xmSQL function called CallbackDataID. • If the CallbackDataID is generated in query plan of a iterator, the SE calls the FE for every row, passing the DAX expression and the values of its members as arguments. • The result of the CallbackDataID is a data cache with only one row, corresponding to the aggregated result
  • 18. CallBackDataID Performance • Slower than pure Vertipaq • Faster than pure Formula Engine • – Highly parallelized • – Works on compressed data • Not cached
  • 19. Optimization for Query Performance
  • 20. Consider Query Memory Usage • Simple queries require some memory • Complex queries require more memory Ex: Materialization of datasets • Data Cache (SE query) also requires memory
  • 21. Optimization Standard Process 1. Measure performance Power BI Performance Analyzer 2. Analyze the query plan Dax Studio 3. Find a new way to rethink calculation & query (Reduce FE usage and Increase SE usage) 4. Measure performance gain 5. Loop until the expected level of performance
  • 22. Demo time! Your Tool: Dax Studio, Power BI Performance Analyzer
  • 23. Thinking in a bigger picture
  • 24. More horse power • Power BI pro, Power BI premium, Power BI embedded • Use SSAS Tabular Server (Hardware considerations) • Direct Query: more powerful data pipeline engine (SQL Server, Azure SQL Data Warehouse edc.
  • 25.
  • 26. Appendix List • Useful Links • Key Concepts • Useful Tools for DAX and Tabular Modeling
  • 27. Useful Links • https://www.sqlbi.com/ • https://powerpivotpro.com • http://anniexu1990.com • Book: The Definitive Guide to DAX
  • 28. Key Concepts • Column store vs. row store technology • Vertipaq compression • Row context vs. filter context • Formula Engine vs. Storage Engine
  • 29. Useful Tools for DAX and Tabular Modeling • DAXStudio • Vertipaq Analyzer • DAX Editor
  • 30. Performance Tuning for DAX “The most important factor of DAX formula speed is data distribution” • Vertipaq Analyzer Formula Engine Bottlenecks • Redundant logic steps • Long iterations over datacaches Storage Engine Bottlenecks • Long Scan time • Large cardinality • High frequency of CallbackdataID (a function in Storage Engine communicating back to formula engine for complicated calculations which disable the cache) • Large materialization
  • 31. Some Query Performance Tuning Techniques • User Variables when you can precompute some calculations • When possible, replace cumulated IF conditions by CALCULATE with separated conditions expression • Avoid complex FILTERS in the came CALCULATE single conditions (use separated conditions) • Use IFERROR sparingly • When possible replace DIVIDE by condition in the CALCULATE • Reduce useless iterations (change the grain of the table inside the iterator) • Adjust the model design to remove complex “on the fly” computation (reduce FE cpu time) • Look at the number of xmSQL queries and rows returned by Storage Engine • Try to avoid CallBack (ex: complex filter) • Try to avoid Materializations (ex: complex join or iterator)