Power BI Performance …Tips and Techniques.

Slides:



Advertisements
Similar presentations
Adam Jorgensen Pragmatic Works Performance Optimization in SQL Server Analysis Services 2008.
Advertisements

Big Data Working with Terabytes in SQL Server Andrew Novick
Arjun Krishnamoorthi  Power View enables self-service BI by providing simple to use ad-hoc reporting for business users and decision.
Presented by Brad Gall Using BI Techniques for Database Statistics.
Dos and don’ts of Columnstore indexes The basis of xVelocity in-memory technology What’s it all about The compression methods (RLE / Dictionary encoding)
Realizing Business Insights with PowerPivot
Developing an Optimized Analysis Services Tabular Project BI Semantic Model Peter Myers StrataDB DBI315.
PowerPivot Hope Foley Perpetual Technologies. Who Am I?  Microsoft Team Lead  SQL Server DBA  (MCITP: Database Administration in 2005 and 2008)  In.
David Dye.  Introduction  Introduction to PowerPivot  Working With PowerPivot.
Highline Class, BI 348 Basic Business Analytics using Excel Introduction to PowerPivot 1.
Database Systems, 8 th Edition SQL Performance Tuning Evaluated from client perspective –Most current relational DBMSs perform automatic query optimization.
BISM Introduction Marco Russo
Power View Overview April 25, POWER VIEW Presentation ready visualizations for the masses.
Write DAX Queries using DAX Studio Alex Barbeau
OM. Platinum Level Sponsors Gold Level Sponsors Pre Conference Sponsor Venue Sponsor Key Note Sponsor.
Scott Fallen Sales Engineer, SQL Sentry Blog: scottfallen.blogspot.com.
SQL IMPLEMENTATION & ADMINISTRATION Indexing & Views.
Taking Analysis Services Tabular to Enterprise Levels Stacia Varga Data Inspirations
Microsoft PowerBI – Advanced Solutions with Microsoft Excel and PowerBI Presented by: Phillip Guglielmi, CPA | Senior BI Consultant and Solutions Architect.
Review DirectQuery in SSAS 2016, best practices and use cases
Power BI Internals Eugene
45 Minutes to Your First Tabular Model
Building Tabular Models
An (Advanced) Introduction to DAX
45 Minutes to Your First Tabular Model
Frontline Analytics | Brett Powell
Power BI Performance Tips & Tricks
Antonio Abalos Castillo
6/12/2018 2:19 PM BRK3245 DirectQuery in Analysis Services: best practices, performance, and use cases Marco Russo SQLBI © Microsoft Corporation. All rights.
6/19/2018 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
Informatica PowerCenter Performance Tuning Tips
Julie Strauss Senior Program Manager Microsoft
ABC! Always Be…. Coding (calculated measures)
Introduction to SQL Server Analysis Services
Exam Braindumps
Introduction to Execution Plans
Toolkit for DAX Optimization
Introduction to tabular models
Marcos Freccia Stop everything! Top T-SQL tricks to a developer
Introduction to tabular models
The Key to the Database Engine
Enriching your BI Semantic Models with Data Analysis Expressions (DAX)
DAX and the tabular model
Best practice using Power pivot. Henk Vlootman, Excel MVP
Creating HIGH PERFORMANCE TABULAR MODELS
TechEd /24/2018 6:19 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered.
JULIE McLAIN-HARPER LINKEDIN: JM HARPER
Statistics: What are they and How do I use them
Steve Hood SimpleSQLServer.com
Power BI for large databases
Processing Analysis Services Tabular Models
What query folding means to self-service BI projects
Data Modeling and Prototyping
Power BI with Analysis Services
Introducing DAX July 11th, 2015.
Building a Threat-Analytics Multi-Region Data Lake on AWS
Execution plans Eugene
If you are expecting … Power BI Data Modeling This session explains why data modeling is so important even if Power BI utilizes the in-memory columnar.
Diving into Query Execution Plans
Let’s Build a Tabular Model in Azure
Power BI at Enterprise-Scale
Enriching your BI Semantic Models with Data Analysis Expressions (DAX)
Introduction to Execution Plans
Query Optimization Techniques
Introduction to Execution Plans
Processing Tabular Models
Annoyed with a stubborn pivot table? PowerPivot is your answer.
Data Modeling and Prototyping
Presentation transcript:

Power BI Performance …Tips and Techniques

Rachael Martino Principal Consultant rmartino@pragmaticworks.com @RMartinoBoston

About Me SQL Server and Oracle developer and IT Manager since SQL Server 2000 Focus on BI and building a data culture of excellence Boston area resident Ravelry fan and avid knitter Rachael and husband, Chris at Todaii in Nara, Japan on Saturday, July 23, 2016

Agenda Impact of poor performance Performance Tips and Techniques Demonstration

Power BI is fast Or, why worry about performance?

Power BI

Power BI Power BI leverages Power Pivot and Power View (and Power Query) In-memory, columnar database and formula engine are fast “Now is 3 seconds” http://www.powerpivotpro.com/2012/03/analysis-in-the- three-seconds-of-now/

Architecture xVelocity in-memory analytics engine Columnar storage Compression In-memory cache “Microsoft’s family of in-memory and memory- optimized data management technologies” https://technet.microsoft.com/en-us/library/hh922900(v=sql.110).aspx

xVelocity (Vertipaq) *Ashvini Sharma and Allan Folting at TechEd North America 2012, courtesy of Mark Schneeberger https://blacksheepbi.wordpress.com/2012/11/03/microsoft-sql-server-2012-tabular-model-resources/

Performance impacts Slow Processing on data loads Long waits during Design, especially: Calculated columns Relationships Visualization: Slow slicers

File size and memory indicators Large file size of pbix file: Not necessarily indicator of bad performance Sudden changes Memory usage Direct impact on performance Screenshot of my local drive, showing improvements in file size as I resolved data issues.

Tips and Techniques Let’s solve this…

Tip #1: Tall, narrow tables are faster* Corollary Tip #1a: remove any unused fields http://www.powerpivotpro.com/2011/08/less-columns-more-rows-more-speed/ Remove all fields not used for analysis Remove relationship ID’s not in use *The exception: In the case of tables with 10’s of millions of rows, the 1M-row partitions or “Chunking” may interfere with efficient compression rates http://www.powerpivotpro.com/2012/03/powerpivot-compression-mysterious-ways/

Tip #2: Integers are faster than strings Strings, stored in hash table, require two queries to get a single value. Hash table uses less memory unless there is high cardinality, then the hash table becomes overhead http://tinylizard.com/how-does-power-pivot-store-and- compress-data/ Strings used as ID’s can use unreasonable amounts of memory and slow performance. http://tinylizard.com/unique-and-ugly-primary-keys-of-doom/

Tip #3: Slicers use multiple queries Slicers issue two queries each: The first to get the list The second query to check which rows of the pivot tables are related Cross-filtering slicers cause those same two queries to be executed for multiple sets of slicers. High cardinality slicers from large tables make poor user experience (too many options) and are slow https://datasavvy.wordpress.com/2015/02/19/improving-performance-in-excel-and- power-view-reports-with-a-power-pivot-data-source/ http://www.powerpivotpro.com/2010/07/slicers-and-pivot-update-performance/

Tip #4: Understand DAX functions and Calculations Understand formula engine interaction with the xVelocity engine for your DAX The FILTER statement must check every row individually (no bulk scans) http://www.powerpivotpro.com/2014/02/speed-another-reason-to-trim-calendar-tables/ MIN will have to scan the entire table to find the answer http://www.powerpivotblog.nl/tune-your-powerpivot-dax-query-dont-use-the-entire-table-in-a-filter-and- replace-sumx-if-possible/ Caution: In design every change to the data model requires a recalc of all calculated columns https://datasavvy.wordpress.com/2015/02/19/improving-performance-in-excel-and-power-view-reports-with-a- power-pivot-data-source/

Tips #5 & 6: 5. Remove unnecessary precision or split granularity values to reduce cardinality For example: split datetime into Date and Time http://tinylizard.com/power-pivot-performance-gotchas/ 6. Remove unnecessary rows in Calendars: Extra rows in reference tables cause unnecessary attempts at computation; rows not shown on tables or slicers have been computed against the fact data

Sometime Tip #7: Caution with calculations The formula engine is I/O intensive and runs on one thread only, if processing performance is problematic, move simple calculations to the database Once processed calculated columns are static values in the data store Measures are calculated during query execution Caution: In design every change to the data model requires a recalc of all calculated columns https://datasavvy.wordpress.com/2015/02/19/improving-performance-in-excel-and- power-view-reports-with-a-power-pivot-data-source/

Technique #1: Check your memory usage File size is a rough estimate of performance, but not 100% accurate. http://www.powerpivotpro.com/2011/08/less-columns-more-rows-more-speed/ Measure relative memory usage of each table and field using Kasper de Jonge’s Power Pivot Memory Usage tool by loading you data into Excel http://www.powerpivotblog.nl/what-is-eating-up-my-memory-powerpivot-excel- edition/

Technique #2: Check your DAX Slow measures and calculations can cause big problems at design time and in visualizations Lookup DAX You may want to test and evaluate DAX using DAX Studio – I have not used this tool. https://www.sqlbi.com/tools/dax-studio/

So, is this better? ….Let’s see

Performance improvement demo Using our tips and techniques

Conclusions

Power BI is fast and will perform Performance is very good in Power BI and PowerPivot models Large is relative depending on efficiency of data Think about your data model and calculations

References (not on slides) Power Pivot and Power BI by Rob Collie and Avichal Singh Pragmatic Works’ Tabular and Power Pivot On Demand Training course Power Pivot Pro Brad Gall’s Power BI v2 and Beyond, January 19, 2016 http://www.powerpivotpro.com/2015/08/so-your-detailedflat- pivot-is-slow-and-doesnt-sort-properly-try-text-measures/ https://msdn.microsoft.com/en- us/library/gg413463(v=sql.110).aspx

Rachael Martino Principal Consultant rmartino@pragmaticworks.com @RMartinoBoston