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


Automatická synchronizace SQL Analytics Endpointu v Microsoft Fabric
Když v Microsoft Fabric používáš Lakehouse, automaticky k němu dostaneš i SQL Analytics Endpoint pro čtení delta tabulek přes - SQL. Ten ale může mít zpoždění za Lakehousem, takže nová data nejsou hned vidět v Power BI. V článku ukazuju, proč se to děje a jak SAE donutit k synchronizaci ručně i automaticky přes REST API.
Vojtěch Šíma
Nov 174 min read


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


Proč Power BI hlásí duplicitní hodnotu, i když není
Power Query rozlišuje velikost písmen. DAX a model ve výchozím stavu ne. Tenhle mismatch umí rozhodit relationship klíče. Nejlepší postup: nepoužívat textové sloupce jako relationship key. Když musíš, sjednoť text v Power Query pomocí Text.Lower nebo Text.Upper, případně deduplikuj s case-insensitive comparerem: Table.Distinct(Source, {"letter"}, Comparer.OrdinalIgnoreCase).
Vojtěch Šíma
Nov 14 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: 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 264 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 (předběžný náhled)
Praktický průvodce UDFx v DAXu. Naučíš se deklarovat UDFx pomocí DEFINE a FUNCTION, napojit parametry a režimy a vybrat si mezi val a expr. Uvidíš, kde září v measures, calc groups a vizuálech, čemu se vyhnout v počítaných sloupcích, jak je formátovat v TMDL a jak je vypsat přes DMV a Zobrazení modelu.
Vojtěch Šíma
Sep 216 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


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 249 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


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 1613 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


Už žádné spamování CALCULATE: Iterace přes kategorie v DAXu
Jak nahradit opakovaný CALCULATE v Power BI pomocí DAX iterátorů jako SUMX a AVERAGEX. Čistší, flexibilnější a škálovatelnější výpočty nad kategoriemi.
Vojtěch Šíma
Jul 17 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


Komentuj a zapisuj přímo v Power BI (write-back ve Fabric preview)
Power BI se posouvá dál. S pomocí User Data Functions a Translytical Flow Tasks ve Fabricu můžeš zapisovat komentáře nebo změny přímo do SQL tabulek – rovnou z reportu. Bez externích nástrojů, bez složitých workaroundů. Tento článek tě krok za krokem provede vytvořením první write-back funkce v Power BI.
Vojtěch Šíma
Jun 166 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 v jazyce M
While loop v jazyce M pomocí List.Generate()
Vojtěch Šíma
May 156 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


Refreshni Semantický Model Každou Minutu – Nyní ve Fabricu (Preview)
Refreshni Semantický model každou minutu
Vojtěch Šíma
May 53 min read
bottom of page