top of page
Vojtěch Šíma | The Data Bender | Power BI & Fabric
Vojtěch Šíma | The Data Bender


Programmatically Refresh & Sync SQL Analytics Endpoint Metadata in Microsoft Fabric
Using a Lakehouse in Microsoft Fabric automatically gives you a SQL Analytics Endpoint, but its metadata sync is not always instant. This post explains why SAE can lag behind your Delta tables and how to wake it up, refresh it manually, or call the Refresh SQL Endpoint Metadata API from a pipeline or notebook.
Vojtěch Šíma
Nov 174 min read


Why Power BI Says a Value Is a Duplicate When It’s Not
Power Query is case sensitive, while DAX and the model are case insensitive by default. That mismatch can cause weird relationship key issues. Best fix: Avoid text columns as relationship keys. If you have to use them, normalize them in Power Query with Text.Lower or Text.Upper, or de-dup with a case-insensitive comparer like: Table.Distinct(Source, {"letter"}, Comparer.OrdinalIgnoreCase).
Vojtěch Šíma
Nov 14 min read


Dataflows Gen1 and Gen2: Where is my data stored?
Dataflows storage without guessing. Gen1 writes CSV snapshots into a CDM folder in your ADLS Gen2, visible only after you link the workspace to your lake. With Enhanced Compute Engine, refresh also fills a SQL cache you can use for DirectQuery. Gen2 with no destination lands data in the semi-hidden DataflowsStagingLakehouse and surfaces it through DataflowsStagingWarehouse, stored as Delta tables backed by Parquet. Where the files live, how to reach them, and what to watch ou
Vojtěch Šíma
Oct 265 min read


DAX User Defined Functions (Preview)
A hands-on guide to DAX user defined functions. See how to declare UDFx with DEFINE and FUNCTION, wire up parameters and modes, and pick between val and expr. Learn where they shine in measures, calc groups, and visuals, what to avoid in calculated columns, how to format them in TMDL, and how to list them via DMVs and Model view.
Vojtěch Šíma
Sep 218 min read


Why Is Power Query List.Contains Slow? Faster Lookup Alternatives
List.Contains scans and stalls at scale. This post benchmarks lookup patterns on real tables and shows why buffering only helps a little, why joins are solid, and how a record map built with Record.FromList plus Record.FieldOrDefault delivers quick, clean lookups. Learn when to keep the merge and when to build the map.
Vojtěch Šíma
Aug 2110 min read


How to Connect GraphQL APIs as a Data Source in Power BI
Explore how to connect Power BI to GraphQL APIs using M. This guide walks through GraphQL fundamentals like queries, variables, fragments, introspection, and pagination, then takes it further by auto-generating typed tables with dynamic schema mapping. All examples use public GraphQL APIs like Rick & Morty and Countries.
Vojtěch Šíma
Aug 320 min read


How Power Query (M) evaluates your queries, and why the performance gets weird
Comprehensive guide to Power Query M evaluation, covering lazy versus eager evaluation, immutable variables and streaming of tables, explicit buffering, query folding, function parameter evaluation and higher-order thunks, variable scope effects, and record-field laziness—illustrated with random-number, timestamp, and delayed-execution examples.
Vojtěch Šíma
Jul 1215 min read


Stop Repeating CALCULATE: Iterate Over Categories in DAX
Still copying CALCULATE for every category? Time to break the habit. This post shows how DAX iterators like SUMX and AVERAGEX can replace that mess with cleaner, scalable logic using table expressions.
Vojtěch Šíma
Jun 307 min read


Native write-back in Power BI (Fabric preview)
Power BI just got an upgrade. With User Data Functions and Translytical Flow Tasks in Microsoft Fabric, you can now write comments or updates directly to your SQL tables — straight from a report. No extra tools, no clunky workarounds. This guide walks you through building your first real-time write-back feature step by step.
Vojtěch Šíma
Jun 137 min read


While Loop in M Language
While loop in M Language using List.Generate()
Vojtěch Šíma
May 137 min read


Refresh Semantic Models Every Minute – Now in Fabric (Preview)
Refresh Semantic Model every minute in Fabric
Vojtěch Šíma
May 53 min read


Make Your Power Query Dynamic with Parameters
Make your Power Query Dynamic with Parameters, examples like: synced date filter on queries, filter the same list of values, etc.
Vojtěch Šíma
Mar 2310 min read


Top everyday DAX functions
tl;dr DAX has probably hundreds of functions, however, several of them stand out. You will probably use them in every project. Normally I...
Vojtěch Šíma
Feb 1814 min read


Ultimate intro to Power Query M Language
tl;dr "M" is a language used in Power Query to transform, filter, and combine data. Power Query automatically generates M code based on...
Vojtěch Šíma
Feb 714 min read


Combine Files Quickly in Power Query
tl;dr Power Query provides a native file combiner, but it can feel complex and generates numerous queries. In this article, you'll learn...
Vojtěch Šíma
Dec 22, 20248 min read


API Authentication in Power Query
tl;dr when working with APIs in Power Query, we use couple of authentication methods: Anonymous, API Key, Bearer Token, Basic, OAuth 2.0....
Vojtěch Šíma
Nov 25, 20249 min read


Pagination in Power Query
tl;dr pagination is a form of dividing data into smaller chunks (pages). With this method we can achieve more efficient transfer of data....
Vojtěch Šíma
Nov 13, 202410 min read
bottom of page