Comparing Microsoft Direct Lake vs Import– Which Semantic Model performs best?
I was recently part of a discussion (which I have heard of multiple times), which was which semantic model to use in Microsoft Fabric. This was the source for this blog post where I am going to compare Microsoft Direct Lake (DL) to an Import Semantic Model. The goal is to first explain how I set up and configured the…
Backing Up Your Microsoft Fabric Workspace: A Notebook-Driven Approach to Disaster Recovery
In the high-stakes world of data architecture, where downtime can cascade into real business disruptions, I’ve learned that even the most robust platforms have their blind spots. Just last month, while collaborating with a client’s Architecture team on their disaster recovery strategy, we uncovered a subtle but critical gap in Microsoft Fabric: while OneLake thoughtfully mirrors data across multiple regions…
How to Access a Former Employee’s Power BI “My Workspace” and Recover Reports
One of the common challenges I’ve seen in organizations is when a team member leaves and their Power BI reports are stored in their personal My Workspace. These reports often contain valuable datasets and dashboards that are still in use or need to be maintained. So, how do you access and recover these reports? In this blog post, I’ll walk…
Power BI MCP Tuner Server and does it reduce capacity requirements – Part 4
This blog post is about using MCP to tune DAX and then using the Automated Load Testing does it reduce capacity. I originally did not plan for this post but after viewing the details from Justin Martin – DAX Performance Tuner | LinkedIn I had to give it a go. It was then easy for me to test if the…
Running and viewing Automated Load Testing Results – Part 3
This blog post is going to detail how I run the load test and then view the load testing results to determine how the capacity has coped when I increase the number of users. Along with demonstrating how I automated the load testing without having to run it manually! Please find below the previous series in case. This is the…
Automating Load Testing Setting Up Your Fabric Lakehouse and Notebooks – Part 2
In today’s blog post I am going to show you how to set up the Lakehouse and Fabric notebooks so that you can then configure it to be ready to be used with the JSON file we created in the previous blog post. Series Details Part 1: Capturing Real Queries with Performance Analyzer Part 2 (This blog post): Setting Up…
Automating Power BI Load Testing with Fabric Notebooks – Part 1: Capturing Real Queries
Load testing is essential when working with Microsoft Fabric capacity. With limited resources, deploying a Power BI report without testing can lead to performance issues, downtime, and frustrated users. In this series, I’ll show you how to automate load testing using Fabric Notebooks, making the process faster, easier, and repeatable. Inspired by Phil Seamark’s approach, this method eliminates manual complexity…
How to quickly find rows with errors in Power Query when using Power BI
In the past when there has been an error when loading data into the semantic model, there can be times when clicking on the View errors can either take a very long time to show those errors. Or in some cases it never shows you the error. In this blog post I am going to show you an alternative way…
Fabulous Fabcon Vienna 2025
In this blog post I will be covering the Fabcon Vienna updates. Apologies for the misspelling of the word “Announcements” I had recorded the video and was too lazy to re-record! Below are the slides that I presented in my video along with the links, which could be useful if you want more information. CI/CD 100% Support Fabric Command…
Power BI using TMDL with GitHub Copilot Chat to automate changes for the Dynamic Format String
In the video below I will show you how I used GitHub Copilot Chat to make changes to the Power BI TMDL to find and make changes to the Dynamic Format String. As mentioned in the video this video had almost no planning as I wanted to show you what it is like if you were working with me and…