Blog
Observed, measured and in-depth thoughts laid on a sheet of digital paper. Currently about Microsoft Fabric, Power BI and the M language.
- 25How Much Does Direct Lake Cost in Microsoft Fabric?
Direct Lake vs Import CU cost, measured over nine replications on F64 and F2. Where the refresh saving goes, and the Lakehouse overhead you don't see.
- 24Direct Lake Internals: Transcoding, Framing, Residency, and Eviction
How Direct Lake really works in Microsoft Fabric: framing, transcoding, column residency and eviction, with the measured CU cost of each.
- 23Fabric Dataflow Gen2 Partitioned Compute: Setup and Benchmark
Discover how to set up Partitioned Compute in Dataflow Gen2 for parallel processing. Read my setup guide and see the real-world benchmark results in Fabric.
- 22Automated Delta Table Maintenance in Fabric Lakehouse (Without PySpark)
Deep dive into Delta table internals, transaction logs, and storage layout. Master maintenance, VACUUM, and Z-Order using Python (delta-rs) in Microsoft Fabric.
- 21Power BI Write-Back to Azure SQL Database using Fabric User Data Functions
Bypass native Fabric limitations and achieve instant Power BI write-back to Azure SQL. Learn to use User Data Functions to skip the Spark cold start.
- 20Fix Slow Refreshes: Faster Way to Load SharePoint Files in Power BI
Optimize Power BI SharePoint data retrieval. Learn technical differences between connectors and implement a custom REST API strategy for faster dataset refreshes.
- 19How to Fix Slow SharePoint List Refresh in Power BI
Boost Power BI SharePoint refresh speed. Fix RenderListDataAsStream errors and use a custom M script to cut load times from minutes to seconds.
- 18Programmatically Refresh & Sync SQL Analytics Endpoint Metadata in Microsoft Fabric
Learn how SQL Analytics Endpoint in Microsoft Fabric works and how to fix metadata lag by calling the Refresh SQL Endpoint Metadata API before Power BI refresh.
- 17Why Power BI Says a Value Is a Duplicate When It’s Not
Power Query is case sensitive, the model is not, and that mismatch quietly breaks relationship keys. Why it happens, and three ways to fix it.
- 16Dataflows Gen1 and Gen2: Where is my data stored?
Dataflows explained: Gen1 vs Gen2 storage, CSV vs Delta, SQL cache, and staging Lakehouse and Warehouse. Learn what lives where and how to connect fast.
- 15DAX User Defined Functions (Preview)
How DAX user defined functions work: declaring UDFx with DEFINE and FUNCTION, val versus expr parameters, and where they hold up in a real model.
- 14Why Is Power Query List.Contains Slow? Faster Lookup Alternatives
Power Query lookup benchmarks. Learn why List.Contains is slow at scale, when buffering helps, and how joins or Record.FieldOrDefault beat list contains.
- 13How to Connect GraphQL APIs as a Data Source in Power BI
Learn how to connect GraphQL APIs to Power BI effortlessly. Discover key GraphQL concepts and integrate GraphQL with Power BI for seamless data analysis.
- 12How Power Query (M) evaluates your queries, and why the performance gets weird
Lazy versus eager evaluation in Power Query M, what buffering actually changes, and why the same query can return different numbers on each run.
- 11Stop Repeating CALCULATE: Iterate Over Categories in DAX
Stop repeating CALCULATE in your DAX. Discover how to iterate and simplify category-level logic with SUMX, AVERAGEX, and virtual tables like VALUES and SUMMARIZE.
- 10Native write-back in Power BI (Fabric preview)
Write back to SQL straight from a Power BI report using Fabric User Data Functions and Translytical Task Flows. No Power Apps, no Power Automate.
- 09While Loop in M Language
Discover how to mimic a while loop in M Language using List.Generate(). Learn to implement while loop logic effectively in Power Query M.
- 08Refresh Semantic Models Every Minute – Now in Fabric (Preview)
The Refresh Semantic Model activity in a Data Pipeline gets you past Power BI's 30-minute limit, with dependencies and no code. Preview, with caveats.
- 07Make Your Power Query Dynamic with Parameters
Discover how to make your Power Query dynamic with parameters. Learn practical ways to use parameters in Power BI, enhancing flexibility and control.
- 06Top everyday DAX functions
The DAX functions worth learning first and what each one is actually for. Not a reference list: the handful you end up using in every model.
- 05Ultimate intro to Power Query M Language
What M actually is, how Power Query writes it for you, and how to start editing it yourself. A beginner introduction built on working examples.
- 04Combine Files Quickly in Power Query
Power Query's built-in file combiner generates a folder of helper queries. Two simpler ways to combine files, in roughly one line of M.
- 03API Authentication in Power Query
The five authentication methods Power Query supports: Anonymous, API Key, Bearer Token, Basic and OAuth 2.0, with working M for each.
- 02Pagination in Power Query
How to page through an API from Power Query: offset, cursor and link-header styles, with M that keeps asking until the last page comes back.
- 01Introduction to API in Power Query
Calling a REST API from Power Query with Web.Contents and Json.Document: the request, the response, and turning JSON into a usable table.
























