Query Caching In Power BI Premium
Chris Webb's BI Blog
by Chris Webb
5d ago
The more you monitor something the more likely it is that you’ll see something strange you can’t explain. This is true of several customers I’ve spoken to recently who saw DAX queries run in the middle of the night by people who were definitely not online at the time and who were worried about the resulting load on their Premium capacities. What is the cause – hackers? Ghosts? In a lot of cases the culprit is actually Power BI’s query caching feature. Query caching is a feature that is available in Premium and Fabric capacities for Import mode semantic models. It allows Power BI to pre-cache t ..read more
Visit website
Reading Parquet Metadata In Power Query In Power BI
Chris Webb's BI Blog
by Chris Webb
1w ago
There’s a new M function in Power Query in Power BI that allows you to read the data from a Parquet file: Parquet.Metadata. It’s not documented yet and it’s currently marked as “intended for internal use only” but I’ve been told I can blog about it. Here’s an example of how to use it: let Source = Parquet.Metadata(File.Contents("C:\myfile.snappy.parquet"))in Source …and here’s an example of the output: This query shows how to expand the record returned by this function into a table: let m = Parquet.Metadata(File.Contents("C:\myfile.snappy.parquet")), schema = List.Accumulate(Table ..read more
Visit website
Performance Implications Of Using Calculated Columns In Composite Models On Power BI Semantic Models
Chris Webb's BI Blog
by Chris Webb
2w ago
I don’t have anything against the use of calculated columns in Power BI semantic models in general but you do need to be careful using them with DirectQuery mode. In particular when you have a DirectQuery connection to another Power BI semantic model – also known as a composite model on a Power BI semantic model – it’s very easy to cause serious performance problems with calculated columns. Let’s see a simple example of why this is. Let’s say you have an Import mode semantic model called Source Model containing sales data: Here’s the contents of the Sales table: And here’s the definition of ..read more
Visit website
Learning Power BI And Fabric By Attending User Groups And Conferences
Chris Webb's BI Blog
by Chris Webb
3w ago
One of the most popular questions on the forums I follow is “How can I learn Power BI and Fabric?”. There are a ton of great, free online resources out there – blogs, videos and so on – but the people answering this question often do not mention user groups and conferences. I think that’s a mistake because, at least for me, attending (and indeed speaking at) online and in-person events is one of the most effective ways of learning. Why is this? It’s not about the content, I think: a lot of what is presented at these meetings is freely available elsewhere already. Indeed, a lot of user groups a ..read more
Visit website
Understanding The “Evaluation resulted in a stack overflow” Error In Power Query In Excel And Power BI
Chris Webb's BI Blog
by Chris Webb
3w ago
If you’re writing your own M code in Power Query in Power BI or Excel you may run into the following error: Expression.Error: Evaluation resulted in a stack overflow and cannot continue. If you’re a programmer you probably know what a stack overflow is; if you’re not you might search for the term, find this Wikipedia article and still have no clue what has happened. Either way it may still be difficult to understand why you’re running into it in Power Query. To explain let’s see some examples. First, a really simple one. You can write recursive functions – functions that call themselves – in ..read more
Visit website
New Limits For The “Maximum Connections Per Data Source” Property In Power BI DirectQuery Mode
Chris Webb's BI Blog
by Chris Webb
1M ago
One of the most important properties you can set in a Power BI DirectQuery semantic model is the “Maximum connections per data source” property, which controls the number of connections that can be used to run queries against a data source. The good news is that the maximum value that you can set this property to has just been increased in Premium. This property is important because the number of open connections to a data source acts as a limit on the number of concurrent queries that can be run by the semantic model against the source: each connection can only have one query running on it at ..read more
Visit website
Extracting Power BI Import Mode Job Graph Data To A Table
Chris Webb's BI Blog
by Chris Webb
1M ago
In my last post but one I showed how you could create a DGML file that contains detailed information on what happens during a Power BI Import mode refresh – the “job graph” – and visualise that in Visual Studio or VS Code, to help with performance tuning. In my last post, I explained the concepts of blocking and waiting which are key to understanding this data. In this post I’ll share and describe a Dataflow template that extracts the data contained in the DGML file to a table for other types of analysis – which turns out to be quite simple, because DGML is an XML-based format which is easy to ..read more
Visit website
Understanding Blocking And Waiting In Power BI Import Mode Refreshes
Chris Webb's BI Blog
by Chris Webb
1M ago
Following on from my previous post showing how you can visualise the job graph for a Power BI Import mode semantic model refresh, I this post I will look at how you can interpret what the job graph tells you – specifically, explaining the concepts of blocking and waiting. As always, simple examples are the best way of doing this. Blocking Blocking occurs when one job can only start when one or more other jobs have completed because there is a dependency between them. Consider the following semantic model: X and Y are tables that contain a single numeric column. X takes 1 minute to load while ..read more
Visit website
Visualising Power BI Import Mode Refresh Job Graphs
Chris Webb's BI Blog
by Chris Webb
1M ago
A few years ago a new pair of Profiler events was added for Power BI Import mode datasets (and indeed AAS models): the Job Graph events. I blogged about them here but they never got used by anyone because it was extremely difficult to extract useful data from them – you had to run a Profiler trace, save the trace file, run a Python script to generate a .dgml file, then open that file in Visual Studio – which was a shame because they contain a lot of really interesting, useful information. The good news is that with the release of Semantic Link in Fabric and the ability to run Profiler traces f ..read more
Visit website
Nineteenth Blog Birthday: Fabric, The Hedgehog And The Fox
Chris Webb's BI Blog
by Chris Webb
1M ago
Every year, on the anniversary of the first-ever post on this blog, I write a post reflecting on what has happened to me professionally in the past year and this year the subject is obvious: Fabric. Of course I knew about, and indeed had been playing with, Fabric for a long time before even the private previews but it was only with the public preview and then GA that I felt the real impact on my job. I now work on the Fabric Customer Advisory Team at Microsoft rather than the Power BI Customer Advisory Team, for example, and a lot more than my job title has changed. Instead of helping customer ..read more
Visit website

Follow Chris Webb's BI Blog on FeedSpot

Continue with Google
Continue with Apple
OR