Identifying CPU And Memory-Intensive Power Query Queries During Refresh In The Power BI Service
See how much CPU and memory Power Query uses when refreshing a table in Power BI
Microsoft Fabric, Power BI, Analysis Services, DAX, M, MDX, Power Query, Power Pivot and Excel
See how much CPU and memory Power Query uses when refreshing a table in Power BI
In the first post in this series I showed how it was possible to create a DirectQuery dataset connected to Log Analytics so you could analyse Power BI query and refresh activity in near real-time. In this post I’ll take a closer look into how you can use this data to monitor refreshes. The focus… Continue reading Monitor Power BI Queries And Refreshes With DirectQuery On Log Analytics, Part 2: Dataset Refreshes
If you’ve heard about the new Direct Lake mode for Power BI datasets in Fabric you’ll know that it gives you the query performance of Import mode (well, almost) without the need to actually import any data. Direct Lake datasets can be refreshed though – in fact, they refresh automatically by default – and if… Continue reading What Does It Mean To Refresh A Direct Lake Power BI Dataset In Fabric?
In the first post in this series I showed how any Power BI dataset refresh started via the Power BI portal or API is limited to 2 hours in Shared capacity and 5 hours in Premium capacity, and how you could work around that by running a refresh via Premium’s XMLA endpoint feature. In the… Continue reading Troubleshooting Power BI Timeouts, Part 3: The External Command Timeout
Merging (or, in SQL terms, joining) tables in Power Query is a common cause of refresh performance problems. I’ve often wondered whether there’s anything you can do to optimise the performance of merges for non-foldable data source and so I decided to run some tests to try to answer all the questions I had. In… Continue reading Optimising The Performance Of Power Query Merges In Power BI, Part 1: Removing Columns
A few weeks ago I showed how XMLA Endpoints allow you to connect SQL Server Profiler to Power BI Premium. As well as looking at query execution times this also means you can see in more detail what happens when a dataset is refreshed, for example so you can find out exactly how long a… Continue reading Analysing Dataset Refresh In Power BI Premium Using SQL Server Profiler
Working out how long a Power Query M query takes to run – the first step to troubleshooting refresh performance problems in Power BI or Excel – is something I have blogged about several times (see here, here and here for example). However, there are problems with all of these methods such as the need… Continue reading Finding Power Query Query Execution Times In Power BI And Excel Using SQL Server Profiler
Last week I was doing some performance tuning for a customer using Power BI on top of a large SSAS Multidimensional cube via a Live connection. Some of their reports were performing particularly badly and I uncovered a problem with the DAX generated by Power BI for tables with a large number of rows, fields… Continue reading SSAS Multidimensional Caching-Related Performance Problems With Power BI Tables
In my last post you saw how to join two tables together using conditions other than the built-in inner, outer and anti join conditions. However, as I mentioned, you need to be aware of some of the performance implications of using this technique – and that is the subject I’ll be looking at in this… Continue reading Join Conditions in Power Query, Part 2: Events-In-Progress, Performance and Query Folding
In part 1 of this series I introduced all of the different types of non empty filtering that can occur in Analysis Services and MDX. In this post I’ll show you how you can monitor each of these types of non empty filtering using Profiler using the queries from part 1 as examples. Profiler events… Continue reading Monitoring SSAS Multidimensional Non Empty Filtering Using Profiler, Part 2