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


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


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


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


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. Most of these require Authentication header in Web.Contents() function. You will learn about all of these five methods. We have additional extra methods we won't talk about, but I included link in case you wanna learn more. Authentication vs. Authorization You’ve probably come across these two terms before. While they’re often used intercha
Vojtěch Šíma
Nov 25, 20249 min read


Stránkování v Power Query
tl;dr stránkování je způsob, jak rozdělit data na menší části (stránky). Díky tomu můžeme data přenášet efektivněji. Tahle technika se často používá při práci s API a získávání většího množství dat. V Power Query můžeme pracovat se stránkovanými zdroji pomocí jednoduchých seznamů nebo využít funkce jako List.Generate(). Potíž Představte si, že si objednáváte burger v novém fastfoodu. Nejste si však jistí, jestli mají v nabídce bezlepkové (GF) a veganské produkty. Zeptáte se t
Vojtěch Šíma
Nov 17, 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


Úvod do API v Power Query
tl;dr API je způsob jak dvě appky spolu komunikují. Díky dvěma funkcím Mka Web.Contents(), Json.Document(), můžeme API používat i v rámci Power Query. Níže je popsáno, jak na to. Příběh Už jste někdy byli smutní, že vaše oblíbená appka nemá nativní konektor do Power BI, takže musíte manuálně stahovat excely, ukládat je na on-premises server (nebo na Sharepoint, pokud máte štěstí), zatímco vaši softwaroví vývojáři a datoví inženýři používají nějakou zakázanou a temnou metodu,
Vojtěch Šíma
Nov 9, 20245 min read


Introduction to API in Power Query
tl;dr API is way how two apps communicate with each other. Using M's Web.Contents(), Json.Document() features, we can utilize this in Power Query, here's how to do it. Story Have you ever been a little bummed because your favourite application didn’t have a native connector inside Power BI Desktop? So you’re stuck manually downloading files to Excel, saving them on an on-premises shared drive or SharePoint folder (in the better scenario). Meanwhile, your developer and data e
Vojtěch Šíma
Nov 9, 20245 min read
bottom of page