Press "Enter" to skip to content

Category: Power BI

Measuring Time to Display an Image in Power BI

Chris Webb breaks out the stopwatch:

Carrying on my series on troubleshooting Power BI performance problems with Performance Analyzer, another situation where a report may be slow even when the DAX queries it generates against the underlying semantic model are fast is when you have large images displayed in an Image visual. Let’s see an example.

Click through for that example. And maybe don’t plop in so many 25 MB images.

Leave a Comment

Defining Applications in Power BI and Microsoft Fabric

Andy Brownsword deploys an app:

When using Power BI or Fabric workspaces to browse reports, we’re greeted with a list of items and their attributes. While attention is given to report visuals such as bars, pies, candles, and RAG highlights, the surrounding experience is neglected. When it comes to consumption, the standard interface falls short.

Apps fill this gap. They’ve been around in Power BI for a while, but with the additional layers that come with Fabric, the need for a clean way to present content is increasingly valuable.

Read on to learn about more functionality around apps and how you can set them up in Fabric/Power BI.

Leave a Comment

Changing Power BI Dashboard Themes by Toggle

Valerie Junk demonstrates a process:

In this tutorial, I will recreate a project I built last year: a mini Power BI dashboard with a toggle button to change its appearance. When you toggle the button, the background color changes, the logo and snow switch images are updated, and the visuals are restyled accordingly (including the color of the trees). 

This project combines different tutorials I created in the past, which cover dynamic color changes and the lollipop visual.
At the bottom of this page, you will find a step-by-step video, and you can download the file from the download page.

Click through for instructions, the video, and a zip file to work from.

Leave a Comment

Performance Analysis of Geocoding in Power BI

Chris Webb grabs the map and pushpins:

When a user complains about their Power BI report being slow it’s normal for the developer to open up DAX Studio and start tuning the measures in the semantic model because 95% of the time the problem is the DAX. But there’s a whole class of report performance problems that are nothing to do with the semantic model or DAX and they are the ones that are much easier to troubleshoot now that Performance Analyzer is available in the browser as well as Desktop. Today I want to look at one of them: geocoding in map visuals.

Click through for a demonstration and a few tips to help limit the pain of geocoding large amounts of data.

Leave a Comment

Diagnosing DirectQuery Performance Woes

Chris Webb digs into one type of DirectQuery performance slowdown:

One very common cause of Power BI performance problems is having a table with a large number of rows on your report. It’s a problem I wrote about here, and while I used an Import mode for my example in that post I also mentioned that this can be an even bigger problem in DirectQuery mode: while the DAX query for the table visual might have a TOPN filter that asks for 502 rows, the query going back to the DirectQuery data source (usually a SQL query) may not have that filter applied and could return a much larger number of rows, which could then take a long time for Power BI to read. I wrote about this in more detail here and showed how you can diagnose the problem in Performance Analyzer by looking at the Execute DirectQuery event and ActualQueryDuration, RowsRead and DataReadDuration metrics. But now I have a custom visual to display Performance Analyzer export data, what does this look like? Also, what can Execution Metrics tell us?

Read on to learn more.

Leave a Comment

Implementing Tooltips on Dynamic Measures

Teo Lachev shows some information:

Happy New Year with oldies but goodies…especially given that this technique might be hard to find elsewhere! How do you implement a tooltip page that shows only the measure the end user hovers over? Consider this matrix with three measures on columns grouped by product categories on rows. The user wants to see a trend chart for the measure they hover over.

I’m trying to remember if this is possible in Power BI Report Server. I don’t want to slander the product unnecessarily (my necessary slander should be good enough, thank you), so I won’t hazard a guess.

Comments closed

Diagnosing DirectQuery Connection Limit Issues

Chris Webb goes troubleshooting:

To kick off my series on diagnosing Power BI performance problems with Performance Analyzer in the browser (which I introduced last week with my post on vide-coding a custom visual to visualise Performance Analyzer data), I want to revisit a subject I blogged about two years ago: how hitting the limit on the maximum number of connections to a DirectQuery data source can lead to queries queuing for an available connection and performance problems. In my original post on this topic I showed how you can use the Execution Metrics event in Profiler/Log Analytics/Workspace Monitoring to see when this queuing happens. In this post I will show how you can do exactly the same thing with Performance Analyzer.

Read on to learn how.

Comments closed

The Year in DAX 2025

Marco Russo lays out a list:

This was a big year for DAX, with the public preview that started in September for two new features: user-defined functions (UDFs) and calendar-based time intelligence.

The user-defined functions are the most significant update to the DAX language since 2015, when Microsoft introduced variables. Can you believe that for more than five years we had to write DAX code without variables? Well, the user-defined functions we just mentioned will have an even bigger impact in the long term.

Read on for more information on key additions, new DAX functions, and all of the neat stuff that the SQLBI team put together this year.

Comments closed

Object-Level Security in Power BI

Vin Mai Quang lays out an explanation:

For a POC project, my team lead asked me to practice and build a demo Power BI report that applied OLS (Object Level Security). Although it sounded simple at first, I was surprised by how OLS actually behaves in Power BI. In this blog, I would like to share my findings with you.

Click through for a demonstration of how it all works, including how to deal with scenarios in which customers shouldn’t get access to specific columns but should still be able to see others.

Comments closed

Thoughts on Power BI Pro/PPU to Fabric

Teo Lachev shares some advice:

Performance is difficult to translate because Power BI Pro/PPU run in a shared capacity, meaning compute resources (v‑cores) are pooled across many tenants and dynamically allocated, whereas Fabric capacities are dedicated, meaning that Microsoft grants specific resources expressed as number of cores and memory. Therefore, Fabric performance is predicable while Pro/PPU might not be, although I’m yet to hear from client complaining about unpredictable performance.

Read on for some high-level thoughts on performance and cost.

Comments closed