top of page
Vojtěch Šíma | The Data Bender | Power BI & Fabric
Vojtěch Šíma | The Data Bender
Data Engineering
Technical guides on Power Query (M), REST APIs, SharePoint integration, and ETL pipelines for Power BI and Fabric.


Rychlejší způsob načítání souborů ze SharePointu v Power BI
Tento technický průvodce porovnává výkon konektorů SharePoint.Files a SharePoint.Contents v prostředí Power BI. Detailně popisuje implementaci vlastního Power Query M skriptu s využitím SharePoint REST API pro minimalizaci síťových požadavků a optimalizaci hromadného načítání souborů pro rychlejší refresh datasetu.
Vojtěch Šíma
Dec 30, 20257 min read


Fix Slow Refreshes: Faster Way to Load SharePoint Files in Power BI
This technical guide benchmarks performance differences between SharePoint.Files and SharePoint.Contents within Power BI. It further details a custom Power Query M script implementation using the SharePoint REST API to minimize network requests and optimize bulk file retrieval for faster dataset refreshes.
Vojtěch Šíma
Dec 30, 20258 min read


How to Fix Slow SharePoint List Refresh in Power BI
Struggling with slow SharePoint List refreshes in Power BI? This guide dives deep into the limitations of the native connector (Implementation 2.0) and how to fix common errors like RenderListDataAsStream. But we don't stop there. I share a custom, copy-paste M script that utilizes the SharePoint REST API to fetch 5,000 items per page, handles complex column types dynamically, and reduces refresh times from minutes to mere seconds.
Vojtěch Šíma
Dec 24, 202514 min read


Jak zrychlit pomalý SharePoint List Refresh v Power BI
Trápí tě pomalý refresh SharePoint seznamů v Power BI? Tento průvodce rozebírá limity nativního konektoru (Implementace 2.0) a ukazuje, jak opravit časté chyby jako RenderListDataAsStream. Tím ale nekončíme. Sdílím vlastní M skript, který využívá SharePoint REST API pro stahování 5 000 položek na stránku, dynamicky řeší složité typy sloupců a zkracuje dobu načítání z minut na pouhé sekundy.
Vojtěch Šíma
Dec 24, 202513 min read


Dataflows Gen1 and Gen2: Kam se data ukládají?
Gen1 zapisuje CSV snapshoty do složky CDM v tvém ADLS Gen2 a uvidíš je až po propojení workspace s lakem. S Enhanced Compute Engine refresh navíc naplní SQL cache, kterou můžeš použít pro DirectQuery. Gen2 bez destination ukládá data do poloskryté DataflowsStagingLakehouse a vystaví je přes DataflowsStagingWarehouse, uložené jako Delta tabulky nad
Vojtěch Šíma
Oct 26, 20254 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 26, 20255 min read


Proč je List.Contains v Power Query pomalý? Rychlejší Lookup Alternativy
Srovnání metod pro lookup v Power Query: List.Contains vs Table.Join vs Record.FieldOrDefault. Benchmarky na 1M řádků ukazují, že skenování listu je pomalé a rychlost závisí na pozici, zatímco mapování přes record vytvořený pomocí Record.FromList drží čas prakticky konstantní. Do testů bylo zahrnuto i rozbalování se zadanými typy přes Record.FieldOrDefault.
Vojtěch Šíma
Aug 24, 20259 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 21, 202510 min read


Jak připojit GraphQL API do Power BI jako datový zdroj
Prozkoumej, jak připojit Power BI k GraphQL API pomocí M. Tahle příručka tě provede základy GraphQL jako jsou dotazy, proměnné, fragmenty, introspekce a stránkování, a pak to posune dál automatickým generováním typovaných tabulek s dynamickým mapováním schématu. Všechny příklady používají veřejná GraphQL API jako Rick & Morty a Countries.
Vojtěch Šíma
Aug 4, 202519 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 3, 202520 min read


Jak Power Query (M) vyhodnocuje dotazy a proč je výkon někdy nekonzistentní
Kompletní průvodce vyhodnocováním v Power Query M: pokrývá rozdíl mezi lazy a eager evaluací, neměnitelné proměnné a streamování tabulek, explicitní buffering, query folding, eager vyhodnocování parametrů funkcí a použití higher-order thunks, vliv scope proměnných a lenost polí uvnitř záznamů. Vše ilustrováno na příkladech s náhodnými čísly, timestampy a zpožděným vyhodnocením.
Vojtěch Šíma
Jul 16, 202513 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 12, 202515 min read


While Loop v jazyce M
While loop v jazyce M pomocí List.Generate()
Vojtěch Šíma
May 15, 20256 min read


While Loop in M Language
While loop in M Language using List.Generate()
Vojtěch Šíma
May 13, 20257 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 23, 202510 min read


Dynamické dotazy v Power Query skrz parametry
Dynamické Power Query s parametry – filtrace podle data, seznamy hodnot a další tipy z praxe
Vojtěch Šíma
Mar 23, 20259 min read


Ultimátní intro do jazyka Power Query M
tl;dr „M“ je jazyk používaný v Power Query pro transformaci, filtrování a kombinování dat. Power Query automaticky generuje kód M na základě vašich akcí v uživatelském rozhraní, ale pro složitější operace jej lze psát i ručně. M funguje převážně voláním předdefinovaných funkcí, které upravují data krok za krokem, což z něj činí intuitivní a snadno naučitelný jazyk. Upozornění: Tento článek je určen pro začátečníky a nepůjde do hloubky jazyka M. Jeho cílem je seznámit vás s „M
Vojtěch Šíma
Feb 7, 202513 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 your "clickable" actions, but you can also write it manually for more complex operations. M is primarily written by calling pre-built functions that modify data step by step, making it intuitive and easy to learn. Disclaimer: This article is aimed for beginners and will not go into depths of M. Goal of the artcile is to introduce you to "M",
Vojtěch Šíma
Feb 7, 202514 min read


Rychlé sloučení souborů v Power Query
tl;dr Power Query nabízí nativní možnost jak sloučit soubory, nicméně tato funkce často vytváří zbytečné množství dodatečných komponentů...
Vojtěch Šíma
Dec 22, 20247 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 two methods to create a simpler, more editable, and controllable file combiner with essentially just one-ish line of code. The guide is tailored for users who prefer a "click-based" approach. Native File Combiner You've likely encountered a feature in Power Query that allows you to combine files using a specific sample file as a reference. T
Vojtěch Šíma
Dec 22, 20248 min read
bottom of page