SlideShare a Scribd company logo
1 of 55
Download to read offline
Taming of the Shrew
Tricks to Optimizing Power BI
Kellyn Pot’Vin-Gorman
Data Platform Architect, Power BI and AI
Kellyn Pot’Vin-Gorman
Technical Solution Professional at Microsoft, Data
Platform in Power BI and AI
• Former Technical Intelligence Manager, Delphix
• Multi-platform DBA, (Oracle, MSSQL, MySQL, Sybase, PostgreSQL, Informix…)
• Oracle ACE Director, (Alumni)
• Oak Table Network Member
• Idera ACE Alumni 2018
• STEM education with Raspberry Pi and Python, including DevOxx4Kids, Oracle
Education Foundation and TechGirls
• Former President, Rocky Mtn Oracle User Group
• Current President, Denver SQL Server User Group
• Linux and DevOps author, instructor and presenter.
• Blogger, (http://dbakevlar.com)Twitter: @DBAKevlar
Gaining just 10% more access to data
can result in over $65 million in
revenue
User Chooses to Refresh
Report
User Gets in Car
To Get Cup of Coffee
In Next Town
While Waiting for
Refresh
User Needs Updated
Information
from Power BI Report
Our User Story
Relational Data
Oracle, SQL Server,
Teradata, Salesforce
Cloud Data
Azure, AWS, Google
Other Data
Excel, Access,
Sharepoint, etc.
MODEL & SERVE
Azure Analysis ServicesAzure SQL Data
Warehouse
Power BI
.
Power BISQL Server
Integration
Services
P O W E R B I L A N D S C A P E
Finding all the Fish in the Ocean
Data Factory
Big Data
DataLake,Hadoop,
Hortonworks
Power BI is Guilty Until
Proven Innocent
Relational Data
Oracle, SQL Server,
Teradata, Salesforce
Cloud Data
Azure, AWS, Google
Other Data
Excel, Access,
Sharepoint, etc.
MODEL & SERVE
Azure Analysis ServicesAzure SQL Data
Warehouse
Power BI
.
Power BISQL Server
Integration
Services
P O W E R B I L A N D S C A P E
Finding All The External Latency
Data Factory
Big Data
HD Insights,
DataLake,
Hortonworks
Coordinate pipeline acOPTIMIZATION EXERCISE PROCESS
Power BI
Layer
Bring
Data to
Network
Specialist
OnceVerified
Non-Issue
Network
Layer
OnceVerified
Non-issue
BringWait
Times to
Data
Specialist
Repeat and
verify
resolved
Inspect
Data Model
Data Sets
Power BI Review Steps:
Resources
Concurrency
Visuals and
Dashboards
Data Modeler
to Address
OnceVerified
Non-IssueData
Sources
Identify byType
and bring in
expertise for
each
“TUNE FOR TIME OR YOU’RE
WASTING TIME.”
• A scientific approach to optimization.
• Optimizing on cost, or assumptions does not guarantee
results.
• Removes finger pointing and the “Blame Game”
• Simplifies the process of identifying real latency.
• When Time is Addressed, Long Term Resolution is Often
Experienced.
Why Time Should BeYour Main Focus for
Optimization
DATA SOURCES
• Data sources can be relational, databases, big data, CSV/Excel,
structured/unstructured data files.
• If there are onsite or remote specialists available, partner to gather
distinct data to identify waits and patterns.
• Know, along with execution plans, tracing can assist in identifying
deeper and multi-tier issues that isn’t divulged in traditional
performance tools.
• Infrastructure tools, cloud monitoring tools and tracing can also
provide more information than traditional tools.
Steps for Optimizing Data Sources
NETWORK
The Network – The Final Bottleneck
On-Premise data sources
SQL DB Managed Instance
SQL Server
VNET
Data User
Power BICloud data sources
Microsoft
SQL Server
Integration Services
Firewall is our best
friend and worst
enemy
NETWORK
• Networks are still limited by much of
“Shannon’s Law”
• Filter to deter from creating bottlenecks
on the network.
• Become friends with the network admin
to isolate issues with firewalls and
network bottlenecks.
• Consider how often refreshes are
performed and from where the data is
being sent from and to.
c = b log2 (1 + s)
POWER BI LAYER
Columnar data store makes it forgiving of large data
sets.
But…Power BI is dependent upon the data that it
sources from, along with multiple other features.
Performance can be hindered by numerous items
Power BI is dependent upon:
• Data Model
• Data Size
• Resources Allocated for Processing
• DataTypes
POWER BI QUERY EDITOR
• Avoid complex queries in Query Editor,
combinations of filter with context
transition are some of the worst.
• Don’t use relative date filtering in the Query
Editor.
• Keep measures simple initially, adding
complexity incrementally.
• Avoid relationships on calculated columns
and unique identifier columns.
• Try setting “Assume Referential Integrity” on
relationships – this may improve query
performance.
• Ensure relationships are set up properly, use
new many to many sparingly.
• Eight MAX visuals in dashboard or
report
• Set filters in filter pane of reports.
• Understand where performance hits
are sourcing from
• Test and track refreshes over
time for reports and
dashboards – Don’t assume.
• Don’t build complicated
measures or aggregates at the
data model layer.
Tips for Dashboards
• Narrow Tables are Faster
• Integers over strings, (text)
• Slicers use multiple steps, (queries) to process
• Use powerful DAX functions that can eliminate
complex or poor performing expressions.
• Certain filters can hinder performance if they
examine each row. Identify when this occurs.
• Simplify queries whenever possible
• Follow best practices for relationships for your
data model
• Add indexes and foreign keys whenever
possible
Power BI Tips
Resource Constrictions Can Hinder
Performance:
• Consider increasing memory allocated
for data loads
• Up data cache for large processing.
• Monitor and alert on thresholds for
demands for enterprise reporting
Resource Constrictions Can Hinder
Performance, too!
DAX STUDIO TRACING
• A tool to write, execute, and analyze
DAX queries.
• Works with Power BI Power Pivot for
Excel, and Analysis Services Tabular.
• Includes an Object Browser, query
editing and execution, formula and
measure editing, syntax highlighting
and formatting.
We’ll focus today on integrated tracing,
along with query execution breakdowns
What is Dax
Studio?
USE CASE- SP
BLITZ POWER BI
REPORTING
• Part of Brent Ozar Unlimited’s SQL
Server First Responder Kit
• Contains a great interface for
monitoring SQL Server
environments, including PerfMon,
Query performance and wait stats.
• Can be downloaded from Github:
https://github.com/BrentOzarULTD/
SQL-Server-First-Responder-Kit
Opportunity
• With large data collection comes slow refresh
times and impacted performance.
• Upon opening report to view new data, it
never returns.
What is to blame?
USE DAX STUDIO TO
TRACE PERFORMANCE
ISSUES IN POWER BI
• Open Power BI Report, (if not
already open)
• Open up DAX Studio
• Connect to Power BI report
SET UP
TRACING
• Click on All Queries
once Connected
• Verify that the output
states that “Query
Trace Started”
RUN OR
REFRESH
REPORT
• Just as you would when
working with the report
regularly, perform long
running tasks.
• DAX Studio will trace all
executions performed as
part of the report
queries, data refreshes,
etc.
Inspect DAX Studio
Just as with any optimization exercise, sort the data by “Duration.”
Double-clicking on the Query will display the formatted query above.
Tips with DAX Studio
• Remember to clear the cache before each test so
that no cached data is mistakenly used for testing.
• Run the DAX query by itself in the Studio once
performance impact has been identified to verify
issue.
• Use the Clear ALL option to clear all queries from
All Queries pane if attempting to isolate a specific
report or visual.
• Retain all query times and filter if wanting to track
optimization changes.
DEMO – TRACING WITH DAX
STUDIO
TRACE AND LOG FILES
X
let
Source = Csv.Document(File.Contents(“<logfile>"),5,"",null,1252),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"Column2", type text}, {"Column3", Int64.Type},
{"Column4", type text}, {"Column5", type text}}),
#"Removed Columns" = Table.RemoveColumns(#"Changed Type",{"Column2", "Column4"}),
#"Renamed Columns" = Table.RenameColumns(#"Removed Columns",{{"Column3", "PID"}, {"Column1", "Process Type"}}),
#"Replaced Value" = Table.ReplaceValue(#"Renamed Columns","{Start:","",Replacer.ReplaceText,{"Column5"}),
#"Split Column by Delimiter" = Table.SplitColumn(#"Replaced Value", "Column5", Splitter.SplitTextByEachDelimiter({",Action:"},
QuoteStyle.Csv, false), {"Column5.1", "Column5.2"}),
#"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Column5.1", type datetime}, {"Column5.2", type
text}}),
#"Renamed Columns1" = Table.RenameColumns(#"Changed Type1",{{"Column5.1", "Start"}}),
#"Replaced Value1" = Table.ReplaceValue(#"Renamed Columns1","}","",Replacer.ReplaceText,{"Column5.2"}),
#"Split Column by Delimiter1" = Table.SplitColumn(#"Replaced Value1", "Column5.2", Splitter.SplitTextByEachDelimiter({",Duration:"},
QuoteStyle.Csv, true), {"Column5.2.1", "Column5.2.2"}),
#"Replaced Value2" = Table.ReplaceValue(#"Split Column by Delimiter1","00:00:","",Replacer.ReplaceText,{"Column5.2.2"}),
#"Renamed Columns2" = Table.RenameColumns(#"Replaced Value2",{{"Column5.2.2", "Duration"}}),
#"Changed Type2" = Table.TransformColumnTypes(#"Renamed Columns2",{{"Duration", type number}}),
#"Renamed Columns3" = Table.RenameColumns(#"Changed Type2",{{"Column5.2.1", "Message"}}),
#"Removed Columns1" = Table.RemoveColumns(#"Renamed Columns3",{"Process Type"})
in
#"Removed Columns1"
Term Function Log Source
SimpleDocument Local Object Multiple logs
RemoteDocument Remote Excel or CSV file Multiple logs
PackageStorage Disk waits- database,
often Access
Power BI logs
PBIDashboard Dashboard waits PBI logs, inspect message
PBIVisualConsent Row level permissions PBI Logs, inspect message
PBIData.get Get Data waits PBI Logs, inspect message
PBITrustedVisual Open visual view PBI Logs
PBIModuleLoad Load of dashboard PBI Logs
FirewallDocument Cloud or remote
document
MSMdsrv Logs
DEMO – POWER BI LOG DATA
SQL PROFILER TRACING
https://blogs.msdn.microsoft.com/samlester/2015/12/12/connecting-sql-server-profiler-to-power-bi-desktop/
DEMO- SQL PROFILER
SUMMARY
• Remember to stay with the
process.
• Use time as the reason to
optimize.
• Use data, not assumptions.
• Use Tools, (DAX Studio, SQL
Profiler, Power BI) to analyze logs
and traces, just as you would other
data.
• Collaborate with the user to
identify what’s important to them,
too.
Thanks to
• Chris Webb for sharing test data and ideas.
• Brent Ozar for creating the sp_blitz data model
that offered the opportunity to optimize.
• The EDU group at Microsoft for offering a full
environment for me to build for testing,
including the cloud to work with on this
presentation.
Questions?
dbakevlar@gmail.com
https://dbakevlar.com
Twitter: @dbakevlar

More Related Content

What's hot

Data Lake Overview
Data Lake OverviewData Lake Overview
Data Lake OverviewJames Serra
 
Azure analysis services next step to bi in the cloud
Azure analysis services   next step to bi in the cloudAzure analysis services   next step to bi in the cloud
Azure analysis services next step to bi in the cloudGabi Münster
 
Why Power BI is the right tool for you
Why Power BI is the right tool for youWhy Power BI is the right tool for you
Why Power BI is the right tool for youMarcos Freccia
 
Azure Synapse Analytics Overview (r2)
Azure Synapse Analytics Overview (r2)Azure Synapse Analytics Overview (r2)
Azure Synapse Analytics Overview (r2)James Serra
 
Microsoft cloud big data strategy
Microsoft cloud big data strategyMicrosoft cloud big data strategy
Microsoft cloud big data strategyJames Serra
 
How does Microsoft solve Big Data?
How does Microsoft solve Big Data?How does Microsoft solve Big Data?
How does Microsoft solve Big Data?James Serra
 
Building Modern Data Platform with Microsoft Azure
Building Modern Data Platform with Microsoft AzureBuilding Modern Data Platform with Microsoft Azure
Building Modern Data Platform with Microsoft AzureDmitry Anoshin
 
Introducing Azure SQL Data Warehouse
Introducing Azure SQL Data WarehouseIntroducing Azure SQL Data Warehouse
Introducing Azure SQL Data WarehouseJames Serra
 
Power BI Overview, Deployment and Governance
Power BI Overview, Deployment and GovernancePower BI Overview, Deployment and Governance
Power BI Overview, Deployment and GovernanceJames Serra
 
Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r1)Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r1)James Serra
 
The Developer Data Scientist – Creating New Analytics Driven Applications usi...
The Developer Data Scientist – Creating New Analytics Driven Applications usi...The Developer Data Scientist – Creating New Analytics Driven Applications usi...
The Developer Data Scientist – Creating New Analytics Driven Applications usi...Microsoft Tech Community
 
Designing big data analytics solutions on azure
Designing big data analytics solutions on azureDesigning big data analytics solutions on azure
Designing big data analytics solutions on azureMohamed Tawfik
 
Transitioning to a BI Role
Transitioning to a BI RoleTransitioning to a BI Role
Transitioning to a BI RoleJames Serra
 
Cortana Analytics Suite
Cortana Analytics SuiteCortana Analytics Suite
Cortana Analytics SuiteJames Serra
 
Big Data and Data Warehousing Together with Azure Synapse Analytics (SQLBits ...
Big Data and Data Warehousing Together with Azure Synapse Analytics (SQLBits ...Big Data and Data Warehousing Together with Azure Synapse Analytics (SQLBits ...
Big Data and Data Warehousing Together with Azure Synapse Analytics (SQLBits ...Michael Rys
 
Designing a modern data warehouse in azure
Designing a modern data warehouse in azure   Designing a modern data warehouse in azure
Designing a modern data warehouse in azure Antonios Chatzipavlis
 
Big Data Analytics from Azure Cloud to Power BI Mobile
Big Data Analytics from Azure Cloud to Power BI MobileBig Data Analytics from Azure Cloud to Power BI Mobile
Big Data Analytics from Azure Cloud to Power BI MobileRoy Kim
 
AI for an intelligent cloud and intelligent edge: Discover, deploy, and manag...
AI for an intelligent cloud and intelligent edge: Discover, deploy, and manag...AI for an intelligent cloud and intelligent edge: Discover, deploy, and manag...
AI for an intelligent cloud and intelligent edge: Discover, deploy, and manag...James Serra
 
Microsoft business intelligence and analytics
Microsoft business intelligence and analyticsMicrosoft business intelligence and analytics
Microsoft business intelligence and analyticsJeannette Browning
 
Azure Cosmos DB + Gremlin API in Action
Azure Cosmos DB + Gremlin API in ActionAzure Cosmos DB + Gremlin API in Action
Azure Cosmos DB + Gremlin API in ActionDenys Chamberland
 

What's hot (20)

Data Lake Overview
Data Lake OverviewData Lake Overview
Data Lake Overview
 
Azure analysis services next step to bi in the cloud
Azure analysis services   next step to bi in the cloudAzure analysis services   next step to bi in the cloud
Azure analysis services next step to bi in the cloud
 
Why Power BI is the right tool for you
Why Power BI is the right tool for youWhy Power BI is the right tool for you
Why Power BI is the right tool for you
 
Azure Synapse Analytics Overview (r2)
Azure Synapse Analytics Overview (r2)Azure Synapse Analytics Overview (r2)
Azure Synapse Analytics Overview (r2)
 
Microsoft cloud big data strategy
Microsoft cloud big data strategyMicrosoft cloud big data strategy
Microsoft cloud big data strategy
 
How does Microsoft solve Big Data?
How does Microsoft solve Big Data?How does Microsoft solve Big Data?
How does Microsoft solve Big Data?
 
Building Modern Data Platform with Microsoft Azure
Building Modern Data Platform with Microsoft AzureBuilding Modern Data Platform with Microsoft Azure
Building Modern Data Platform with Microsoft Azure
 
Introducing Azure SQL Data Warehouse
Introducing Azure SQL Data WarehouseIntroducing Azure SQL Data Warehouse
Introducing Azure SQL Data Warehouse
 
Power BI Overview, Deployment and Governance
Power BI Overview, Deployment and GovernancePower BI Overview, Deployment and Governance
Power BI Overview, Deployment and Governance
 
Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r1)Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r1)
 
The Developer Data Scientist – Creating New Analytics Driven Applications usi...
The Developer Data Scientist – Creating New Analytics Driven Applications usi...The Developer Data Scientist – Creating New Analytics Driven Applications usi...
The Developer Data Scientist – Creating New Analytics Driven Applications usi...
 
Designing big data analytics solutions on azure
Designing big data analytics solutions on azureDesigning big data analytics solutions on azure
Designing big data analytics solutions on azure
 
Transitioning to a BI Role
Transitioning to a BI RoleTransitioning to a BI Role
Transitioning to a BI Role
 
Cortana Analytics Suite
Cortana Analytics SuiteCortana Analytics Suite
Cortana Analytics Suite
 
Big Data and Data Warehousing Together with Azure Synapse Analytics (SQLBits ...
Big Data and Data Warehousing Together with Azure Synapse Analytics (SQLBits ...Big Data and Data Warehousing Together with Azure Synapse Analytics (SQLBits ...
Big Data and Data Warehousing Together with Azure Synapse Analytics (SQLBits ...
 
Designing a modern data warehouse in azure
Designing a modern data warehouse in azure   Designing a modern data warehouse in azure
Designing a modern data warehouse in azure
 
Big Data Analytics from Azure Cloud to Power BI Mobile
Big Data Analytics from Azure Cloud to Power BI MobileBig Data Analytics from Azure Cloud to Power BI Mobile
Big Data Analytics from Azure Cloud to Power BI Mobile
 
AI for an intelligent cloud and intelligent edge: Discover, deploy, and manag...
AI for an intelligent cloud and intelligent edge: Discover, deploy, and manag...AI for an intelligent cloud and intelligent edge: Discover, deploy, and manag...
AI for an intelligent cloud and intelligent edge: Discover, deploy, and manag...
 
Microsoft business intelligence and analytics
Microsoft business intelligence and analyticsMicrosoft business intelligence and analytics
Microsoft business intelligence and analytics
 
Azure Cosmos DB + Gremlin API in Action
Azure Cosmos DB + Gremlin API in ActionAzure Cosmos DB + Gremlin API in Action
Azure Cosmos DB + Gremlin API in Action
 

Similar to Taming the shrew Power BI

Taming the shrew, Optimizing Power BI Options
Taming the shrew, Optimizing Power BI OptionsTaming the shrew, Optimizing Power BI Options
Taming the shrew, Optimizing Power BI OptionsKellyn Pot'Vin-Gorman
 
How to Automate your Enterprise Application / ERP Testing
How to Automate your  Enterprise Application / ERP TestingHow to Automate your  Enterprise Application / ERP Testing
How to Automate your Enterprise Application / ERP TestingRTTS
 
Enterprise Data World 2018 - Building Cloud Self-Service Analytical Solution
Enterprise Data World 2018 - Building Cloud Self-Service Analytical SolutionEnterprise Data World 2018 - Building Cloud Self-Service Analytical Solution
Enterprise Data World 2018 - Building Cloud Self-Service Analytical SolutionDmitry Anoshin
 
Krishna_IBM_Infosphere_Certified_Datastage_Consultant
Krishna_IBM_Infosphere_Certified_Datastage_Consultant Krishna_IBM_Infosphere_Certified_Datastage_Consultant
Krishna_IBM_Infosphere_Certified_Datastage_Consultant Krishna Kishore
 
Geek Sync | Deployment and Management of Complex Azure Environments
Geek Sync | Deployment and Management of Complex Azure EnvironmentsGeek Sync | Deployment and Management of Complex Azure Environments
Geek Sync | Deployment and Management of Complex Azure EnvironmentsIDERA Software
 
Big Data Testing : Automate theTesting of Hadoop, NoSQL & DWH without Writing...
Big Data Testing : Automate theTesting of Hadoop, NoSQL & DWH without Writing...Big Data Testing : Automate theTesting of Hadoop, NoSQL & DWH without Writing...
Big Data Testing : Automate theTesting of Hadoop, NoSQL & DWH without Writing...RTTS
 
An introduction to QuerySurge webinar
An introduction to QuerySurge webinarAn introduction to QuerySurge webinar
An introduction to QuerySurge webinarRTTS
 
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, LucidworksngineersLucidworks
 
Building Lakehouses on Delta Lake with SQL Analytics Primer
Building Lakehouses on Delta Lake with SQL Analytics PrimerBuilding Lakehouses on Delta Lake with SQL Analytics Primer
Building Lakehouses on Delta Lake with SQL Analytics PrimerDatabricks
 
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
 
Build a modern data platform.pptx
Build a modern data platform.pptxBuild a modern data platform.pptx
Build a modern data platform.pptxIke Ellis
 
Data Warehouse Testing in the Pharmaceutical Industry
Data Warehouse Testing in the Pharmaceutical IndustryData Warehouse Testing in the Pharmaceutical Industry
Data Warehouse Testing in the Pharmaceutical IndustryRTTS
 
Query Wizards - data testing made easy - no programming
Query Wizards - data testing made easy - no programmingQuery Wizards - data testing made easy - no programming
Query Wizards - data testing made easy - no programmingRTTS
 
Performing Oracle Health Checks Using APEX
Performing Oracle Health Checks Using APEXPerforming Oracle Health Checks Using APEX
Performing Oracle Health Checks Using APEXDatavail
 
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
 
Leveraging HPE ALM & QuerySurge to test HPE Vertica
Leveraging HPE ALM & QuerySurge to test HPE VerticaLeveraging HPE ALM & QuerySurge to test HPE Vertica
Leveraging HPE ALM & QuerySurge to test HPE VerticaRTTS
 
FSI201 FINRA’s Managed Data Lake – Next Gen Analytics in the Cloud
FSI201 FINRA’s Managed Data Lake – Next Gen Analytics in the CloudFSI201 FINRA’s Managed Data Lake – Next Gen Analytics in the Cloud
FSI201 FINRA’s Managed Data Lake – Next Gen Analytics in the CloudAmazon Web Services
 
How to obtain the Cloudera Data Engineer Certification
How to obtain the Cloudera Data Engineer CertificationHow to obtain the Cloudera Data Engineer Certification
How to obtain the Cloudera Data Engineer Certificationelephantscale
 

Similar to Taming the shrew Power BI (20)

Taming the shrew, Optimizing Power BI Options
Taming the shrew, Optimizing Power BI OptionsTaming the shrew, Optimizing Power BI Options
Taming the shrew, Optimizing Power BI Options
 
How to Automate your Enterprise Application / ERP Testing
How to Automate your  Enterprise Application / ERP TestingHow to Automate your  Enterprise Application / ERP Testing
How to Automate your Enterprise Application / ERP Testing
 
Enterprise Data World 2018 - Building Cloud Self-Service Analytical Solution
Enterprise Data World 2018 - Building Cloud Self-Service Analytical SolutionEnterprise Data World 2018 - Building Cloud Self-Service Analytical Solution
Enterprise Data World 2018 - Building Cloud Self-Service Analytical Solution
 
Krishna_IBM_Infosphere_Certified_Datastage_Consultant
Krishna_IBM_Infosphere_Certified_Datastage_Consultant Krishna_IBM_Infosphere_Certified_Datastage_Consultant
Krishna_IBM_Infosphere_Certified_Datastage_Consultant
 
Geek Sync | Deployment and Management of Complex Azure Environments
Geek Sync | Deployment and Management of Complex Azure EnvironmentsGeek Sync | Deployment and Management of Complex Azure Environments
Geek Sync | Deployment and Management of Complex Azure Environments
 
Big Data Testing : Automate theTesting of Hadoop, NoSQL & DWH without Writing...
Big Data Testing : Automate theTesting of Hadoop, NoSQL & DWH without Writing...Big Data Testing : Automate theTesting of Hadoop, NoSQL & DWH without Writing...
Big Data Testing : Automate theTesting of Hadoop, NoSQL & DWH without Writing...
 
An introduction to QuerySurge webinar
An introduction to QuerySurge webinarAn introduction to QuerySurge webinar
An introduction to QuerySurge webinar
 
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
 
Building Lakehouses on Delta Lake with SQL Analytics Primer
Building Lakehouses on Delta Lake with SQL Analytics PrimerBuilding Lakehouses on Delta Lake with SQL Analytics Primer
Building Lakehouses on Delta Lake with SQL Analytics Primer
 
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...
 
Data virtualization using polybase
Data virtualization using polybaseData virtualization using polybase
Data virtualization using polybase
 
Build a modern data platform.pptx
Build a modern data platform.pptxBuild a modern data platform.pptx
Build a modern data platform.pptx
 
Data Warehouse Testing in the Pharmaceutical Industry
Data Warehouse Testing in the Pharmaceutical IndustryData Warehouse Testing in the Pharmaceutical Industry
Data Warehouse Testing in the Pharmaceutical Industry
 
Alok.Resume_3.4
Alok.Resume_3.4Alok.Resume_3.4
Alok.Resume_3.4
 
Query Wizards - data testing made easy - no programming
Query Wizards - data testing made easy - no programmingQuery Wizards - data testing made easy - no programming
Query Wizards - data testing made easy - no programming
 
Performing Oracle Health Checks Using APEX
Performing Oracle Health Checks Using APEXPerforming Oracle Health Checks Using APEX
Performing Oracle Health Checks Using APEX
 
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
 
Leveraging HPE ALM & QuerySurge to test HPE Vertica
Leveraging HPE ALM & QuerySurge to test HPE VerticaLeveraging HPE ALM & QuerySurge to test HPE Vertica
Leveraging HPE ALM & QuerySurge to test HPE Vertica
 
FSI201 FINRA’s Managed Data Lake – Next Gen Analytics in the Cloud
FSI201 FINRA’s Managed Data Lake – Next Gen Analytics in the CloudFSI201 FINRA’s Managed Data Lake – Next Gen Analytics in the Cloud
FSI201 FINRA’s Managed Data Lake – Next Gen Analytics in the Cloud
 
How to obtain the Cloudera Data Engineer Certification
How to obtain the Cloudera Data Engineer CertificationHow to obtain the Cloudera Data Engineer Certification
How to obtain the Cloudera Data Engineer Certification
 

More from Kellyn Pot'Vin-Gorman

Redgate_summit_atl_kgorman_intersection.pptx
Redgate_summit_atl_kgorman_intersection.pptxRedgate_summit_atl_kgorman_intersection.pptx
Redgate_summit_atl_kgorman_intersection.pptxKellyn Pot'Vin-Gorman
 
SQLSatOregon_kgorman_keynote_NIAIMLEC.pptx
SQLSatOregon_kgorman_keynote_NIAIMLEC.pptxSQLSatOregon_kgorman_keynote_NIAIMLEC.pptx
SQLSatOregon_kgorman_keynote_NIAIMLEC.pptxKellyn Pot'Vin-Gorman
 
Turning ADHD into "Awesome Dynamic Highly Dependable"
Turning ADHD into "Awesome Dynamic Highly Dependable"Turning ADHD into "Awesome Dynamic Highly Dependable"
Turning ADHD into "Awesome Dynamic Highly Dependable"Kellyn Pot'Vin-Gorman
 
Pass Summit Linux Scripting for the Microsoft Professional
Pass Summit Linux Scripting for the Microsoft ProfessionalPass Summit Linux Scripting for the Microsoft Professional
Pass Summit Linux Scripting for the Microsoft ProfessionalKellyn Pot'Vin-Gorman
 
PASS 24HOP Linux Scripting Tips and Tricks
PASS 24HOP Linux Scripting Tips and TricksPASS 24HOP Linux Scripting Tips and Tricks
PASS 24HOP Linux Scripting Tips and TricksKellyn Pot'Vin-Gorman
 
Power BI with Essbase in the Oracle Cloud
Power BI with Essbase in the Oracle CloudPower BI with Essbase in the Oracle Cloud
Power BI with Essbase in the Oracle CloudKellyn Pot'Vin-Gorman
 
ODTUG Leadership Talk- WIT and Sponsorship
ODTUG Leadership Talk-  WIT and SponsorshipODTUG Leadership Talk-  WIT and Sponsorship
ODTUG Leadership Talk- WIT and SponsorshipKellyn Pot'Vin-Gorman
 
DevOps and Decoys How to Build a Successful Microsoft DevOps Including the Data
DevOps and Decoys  How to Build a Successful Microsoft DevOps Including the DataDevOps and Decoys  How to Build a Successful Microsoft DevOps Including the Data
DevOps and Decoys How to Build a Successful Microsoft DevOps Including the DataKellyn Pot'Vin-Gorman
 

More from Kellyn Pot'Vin-Gorman (20)

Redgate_summit_atl_kgorman_intersection.pptx
Redgate_summit_atl_kgorman_intersection.pptxRedgate_summit_atl_kgorman_intersection.pptx
Redgate_summit_atl_kgorman_intersection.pptx
 
SQLSatOregon_kgorman_keynote_NIAIMLEC.pptx
SQLSatOregon_kgorman_keynote_NIAIMLEC.pptxSQLSatOregon_kgorman_keynote_NIAIMLEC.pptx
SQLSatOregon_kgorman_keynote_NIAIMLEC.pptx
 
Boston_sql_kegorman_highIO.pptx
Boston_sql_kegorman_highIO.pptxBoston_sql_kegorman_highIO.pptx
Boston_sql_kegorman_highIO.pptx
 
Oracle on Azure IaaS 2023 Update
Oracle on Azure IaaS 2023 UpdateOracle on Azure IaaS 2023 Update
Oracle on Azure IaaS 2023 Update
 
IaaS for DBAs in Azure
IaaS for DBAs in AzureIaaS for DBAs in Azure
IaaS for DBAs in Azure
 
Being Successful with ADHD
Being Successful with ADHDBeing Successful with ADHD
Being Successful with ADHD
 
Azure DBA with IaaS
Azure DBA with IaaSAzure DBA with IaaS
Azure DBA with IaaS
 
Turning ADHD into "Awesome Dynamic Highly Dependable"
Turning ADHD into "Awesome Dynamic Highly Dependable"Turning ADHD into "Awesome Dynamic Highly Dependable"
Turning ADHD into "Awesome Dynamic Highly Dependable"
 
PASS Summit 2020
PASS Summit 2020PASS Summit 2020
PASS Summit 2020
 
DevOps in Silos
DevOps in SilosDevOps in Silos
DevOps in Silos
 
Azure Databases with IaaS
Azure Databases with IaaSAzure Databases with IaaS
Azure Databases with IaaS
 
How to Win When Migrating to Azure
How to Win When Migrating to AzureHow to Win When Migrating to Azure
How to Win When Migrating to Azure
 
Securing Power BI Data
Securing Power BI DataSecuring Power BI Data
Securing Power BI Data
 
Pass Summit Linux Scripting for the Microsoft Professional
Pass Summit Linux Scripting for the Microsoft ProfessionalPass Summit Linux Scripting for the Microsoft Professional
Pass Summit Linux Scripting for the Microsoft Professional
 
PASS 24HOP Linux Scripting Tips and Tricks
PASS 24HOP Linux Scripting Tips and TricksPASS 24HOP Linux Scripting Tips and Tricks
PASS 24HOP Linux Scripting Tips and Tricks
 
Power BI with Essbase in the Oracle Cloud
Power BI with Essbase in the Oracle CloudPower BI with Essbase in the Oracle Cloud
Power BI with Essbase in the Oracle Cloud
 
ODTUG Leadership Talk- WIT and Sponsorship
ODTUG Leadership Talk-  WIT and SponsorshipODTUG Leadership Talk-  WIT and Sponsorship
ODTUG Leadership Talk- WIT and Sponsorship
 
DevOps and Decoys How to Build a Successful Microsoft DevOps Including the Data
DevOps and Decoys  How to Build a Successful Microsoft DevOps Including the DataDevOps and Decoys  How to Build a Successful Microsoft DevOps Including the Data
DevOps and Decoys How to Build a Successful Microsoft DevOps Including the Data
 
GDPR- The Buck Stops Here
GDPR-  The Buck Stops HereGDPR-  The Buck Stops Here
GDPR- The Buck Stops Here
 
DevOps tools for winning agility
DevOps tools for winning agilityDevOps tools for winning agility
DevOps tools for winning agility
 

Recently uploaded

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
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 SolutionsEnterprise Knowledge
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
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...Martijn de Jong
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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 organizationRadu Cotescu
 
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 MenDelhi Call girls
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
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)wesley chun
 
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.pptxEarley Information Science
 
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 textsMaria Levchenko
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 

Recently uploaded (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
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...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
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
 
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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
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)
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

Taming the shrew Power BI

  • 1. Taming of the Shrew Tricks to Optimizing Power BI Kellyn Pot’Vin-Gorman Data Platform Architect, Power BI and AI
  • 2. Kellyn Pot’Vin-Gorman Technical Solution Professional at Microsoft, Data Platform in Power BI and AI • Former Technical Intelligence Manager, Delphix • Multi-platform DBA, (Oracle, MSSQL, MySQL, Sybase, PostgreSQL, Informix…) • Oracle ACE Director, (Alumni) • Oak Table Network Member • Idera ACE Alumni 2018 • STEM education with Raspberry Pi and Python, including DevOxx4Kids, Oracle Education Foundation and TechGirls • Former President, Rocky Mtn Oracle User Group • Current President, Denver SQL Server User Group • Linux and DevOps author, instructor and presenter. • Blogger, (http://dbakevlar.com)Twitter: @DBAKevlar
  • 3. Gaining just 10% more access to data can result in over $65 million in revenue
  • 4. User Chooses to Refresh Report User Gets in Car To Get Cup of Coffee In Next Town While Waiting for Refresh User Needs Updated Information from Power BI Report Our User Story
  • 5. Relational Data Oracle, SQL Server, Teradata, Salesforce Cloud Data Azure, AWS, Google Other Data Excel, Access, Sharepoint, etc. MODEL & SERVE Azure Analysis ServicesAzure SQL Data Warehouse Power BI . Power BISQL Server Integration Services P O W E R B I L A N D S C A P E Finding all the Fish in the Ocean Data Factory Big Data DataLake,Hadoop, Hortonworks
  • 6. Power BI is Guilty Until Proven Innocent
  • 7. Relational Data Oracle, SQL Server, Teradata, Salesforce Cloud Data Azure, AWS, Google Other Data Excel, Access, Sharepoint, etc. MODEL & SERVE Azure Analysis ServicesAzure SQL Data Warehouse Power BI . Power BISQL Server Integration Services P O W E R B I L A N D S C A P E Finding All The External Latency Data Factory Big Data HD Insights, DataLake, Hortonworks
  • 8. Coordinate pipeline acOPTIMIZATION EXERCISE PROCESS Power BI Layer Bring Data to Network Specialist OnceVerified Non-Issue Network Layer OnceVerified Non-issue BringWait Times to Data Specialist Repeat and verify resolved Inspect Data Model Data Sets Power BI Review Steps: Resources Concurrency Visuals and Dashboards Data Modeler to Address OnceVerified Non-IssueData Sources Identify byType and bring in expertise for each
  • 9. “TUNE FOR TIME OR YOU’RE WASTING TIME.”
  • 10. • A scientific approach to optimization. • Optimizing on cost, or assumptions does not guarantee results. • Removes finger pointing and the “Blame Game” • Simplifies the process of identifying real latency. • When Time is Addressed, Long Term Resolution is Often Experienced. Why Time Should BeYour Main Focus for Optimization
  • 12. • Data sources can be relational, databases, big data, CSV/Excel, structured/unstructured data files. • If there are onsite or remote specialists available, partner to gather distinct data to identify waits and patterns. • Know, along with execution plans, tracing can assist in identifying deeper and multi-tier issues that isn’t divulged in traditional performance tools. • Infrastructure tools, cloud monitoring tools and tracing can also provide more information than traditional tools. Steps for Optimizing Data Sources
  • 14. The Network – The Final Bottleneck On-Premise data sources SQL DB Managed Instance SQL Server VNET Data User Power BICloud data sources Microsoft SQL Server Integration Services Firewall is our best friend and worst enemy
  • 15. NETWORK • Networks are still limited by much of “Shannon’s Law” • Filter to deter from creating bottlenecks on the network. • Become friends with the network admin to isolate issues with firewalls and network bottlenecks. • Consider how often refreshes are performed and from where the data is being sent from and to. c = b log2 (1 + s)
  • 17. Columnar data store makes it forgiving of large data sets. But…Power BI is dependent upon the data that it sources from, along with multiple other features. Performance can be hindered by numerous items Power BI is dependent upon: • Data Model • Data Size • Resources Allocated for Processing • DataTypes
  • 18. POWER BI QUERY EDITOR • Avoid complex queries in Query Editor, combinations of filter with context transition are some of the worst. • Don’t use relative date filtering in the Query Editor. • Keep measures simple initially, adding complexity incrementally. • Avoid relationships on calculated columns and unique identifier columns. • Try setting “Assume Referential Integrity” on relationships – this may improve query performance. • Ensure relationships are set up properly, use new many to many sparingly.
  • 19.
  • 20. • Eight MAX visuals in dashboard or report • Set filters in filter pane of reports. • Understand where performance hits are sourcing from • Test and track refreshes over time for reports and dashboards – Don’t assume. • Don’t build complicated measures or aggregates at the data model layer. Tips for Dashboards
  • 21. • Narrow Tables are Faster • Integers over strings, (text) • Slicers use multiple steps, (queries) to process • Use powerful DAX functions that can eliminate complex or poor performing expressions. • Certain filters can hinder performance if they examine each row. Identify when this occurs. • Simplify queries whenever possible • Follow best practices for relationships for your data model • Add indexes and foreign keys whenever possible Power BI Tips
  • 22. Resource Constrictions Can Hinder Performance: • Consider increasing memory allocated for data loads • Up data cache for large processing. • Monitor and alert on thresholds for demands for enterprise reporting Resource Constrictions Can Hinder Performance, too!
  • 24. • A tool to write, execute, and analyze DAX queries. • Works with Power BI Power Pivot for Excel, and Analysis Services Tabular. • Includes an Object Browser, query editing and execution, formula and measure editing, syntax highlighting and formatting. We’ll focus today on integrated tracing, along with query execution breakdowns What is Dax Studio?
  • 25. USE CASE- SP BLITZ POWER BI REPORTING • Part of Brent Ozar Unlimited’s SQL Server First Responder Kit • Contains a great interface for monitoring SQL Server environments, including PerfMon, Query performance and wait stats. • Can be downloaded from Github: https://github.com/BrentOzarULTD/ SQL-Server-First-Responder-Kit
  • 26. Opportunity • With large data collection comes slow refresh times and impacted performance. • Upon opening report to view new data, it never returns. What is to blame?
  • 27. USE DAX STUDIO TO TRACE PERFORMANCE ISSUES IN POWER BI • Open Power BI Report, (if not already open) • Open up DAX Studio • Connect to Power BI report
  • 28. SET UP TRACING • Click on All Queries once Connected • Verify that the output states that “Query Trace Started”
  • 29. RUN OR REFRESH REPORT • Just as you would when working with the report regularly, perform long running tasks. • DAX Studio will trace all executions performed as part of the report queries, data refreshes, etc.
  • 30. Inspect DAX Studio Just as with any optimization exercise, sort the data by “Duration.” Double-clicking on the Query will display the formatted query above.
  • 31. Tips with DAX Studio • Remember to clear the cache before each test so that no cached data is mistakenly used for testing. • Run the DAX query by itself in the Studio once performance impact has been identified to verify issue. • Use the Clear ALL option to clear all queries from All Queries pane if attempting to isolate a specific report or visual. • Retain all query times and filter if wanting to track optimization changes.
  • 32. DEMO – TRACING WITH DAX STUDIO
  • 33. TRACE AND LOG FILES
  • 34. X
  • 35.
  • 36.
  • 37.
  • 38.
  • 39. let Source = Csv.Document(File.Contents(“<logfile>"),5,"",null,1252), #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"Column2", type text}, {"Column3", Int64.Type}, {"Column4", type text}, {"Column5", type text}}), #"Removed Columns" = Table.RemoveColumns(#"Changed Type",{"Column2", "Column4"}), #"Renamed Columns" = Table.RenameColumns(#"Removed Columns",{{"Column3", "PID"}, {"Column1", "Process Type"}}), #"Replaced Value" = Table.ReplaceValue(#"Renamed Columns","{Start:","",Replacer.ReplaceText,{"Column5"}), #"Split Column by Delimiter" = Table.SplitColumn(#"Replaced Value", "Column5", Splitter.SplitTextByEachDelimiter({",Action:"}, QuoteStyle.Csv, false), {"Column5.1", "Column5.2"}), #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Column5.1", type datetime}, {"Column5.2", type text}}), #"Renamed Columns1" = Table.RenameColumns(#"Changed Type1",{{"Column5.1", "Start"}}), #"Replaced Value1" = Table.ReplaceValue(#"Renamed Columns1","}","",Replacer.ReplaceText,{"Column5.2"}), #"Split Column by Delimiter1" = Table.SplitColumn(#"Replaced Value1", "Column5.2", Splitter.SplitTextByEachDelimiter({",Duration:"}, QuoteStyle.Csv, true), {"Column5.2.1", "Column5.2.2"}), #"Replaced Value2" = Table.ReplaceValue(#"Split Column by Delimiter1","00:00:","",Replacer.ReplaceText,{"Column5.2.2"}), #"Renamed Columns2" = Table.RenameColumns(#"Replaced Value2",{{"Column5.2.2", "Duration"}}), #"Changed Type2" = Table.TransformColumnTypes(#"Renamed Columns2",{{"Duration", type number}}), #"Renamed Columns3" = Table.RenameColumns(#"Changed Type2",{{"Column5.2.1", "Message"}}), #"Removed Columns1" = Table.RemoveColumns(#"Renamed Columns3",{"Process Type"}) in #"Removed Columns1"
  • 40.
  • 41. Term Function Log Source SimpleDocument Local Object Multiple logs RemoteDocument Remote Excel or CSV file Multiple logs PackageStorage Disk waits- database, often Access Power BI logs PBIDashboard Dashboard waits PBI logs, inspect message PBIVisualConsent Row level permissions PBI Logs, inspect message PBIData.get Get Data waits PBI Logs, inspect message PBITrustedVisual Open visual view PBI Logs PBIModuleLoad Load of dashboard PBI Logs FirewallDocument Cloud or remote document MSMdsrv Logs
  • 42.
  • 43. DEMO – POWER BI LOG DATA
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 53. SUMMARY • Remember to stay with the process. • Use time as the reason to optimize. • Use data, not assumptions. • Use Tools, (DAX Studio, SQL Profiler, Power BI) to analyze logs and traces, just as you would other data. • Collaborate with the user to identify what’s important to them, too.
  • 54. Thanks to • Chris Webb for sharing test data and ideas. • Brent Ozar for creating the sp_blitz data model that offered the opportunity to optimize. • The EDU group at Microsoft for offering a full environment for me to build for testing, including the cloud to work with on this presentation.