Vojtěch ŠímaData Bender
All posts25 posts

Blog

Observed, measured and in-depth thoughts laid on a sheet of digital paper. Currently about Microsoft Fabric, Power BI and the M language.

  1. 25
    How 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.

    Direct LakeLakehouseData Modeling
  2. 24
    Direct 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.

    Direct LakePerformanceLakehouse
  3. 23
    Fabric 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.

    ADLS Gen2PerformanceDataflow Gen2
  4. 22
    Automated 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.

    Delta LakeLakehouseSQL Analytics Endpoint
  5. 21
    Power 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.

    UDFPythonArchitecture
  6. 20
    Fix 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.

    M-LanguageREST APISharePoint
  7. 19
    How 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.

    SharePointREST APIM-Language
  8. 18
    Programmatically 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.

    SQL Analytics EndpointLakehouseREST API
  9. 17
    Why 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.

    Power QueryData ModelingError Handling
  10. 16
    Dataflows 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.

    Delta LakeArchitectureDataflow Gen1
  11. 15
    DAX 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.

    DAXTMDLCalculation Groups
  12. 14
    Why 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.

    M-LanguagePerformance
  13. 13
    How 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.

    M-LanguageREST APIGraphQL
  14. 12
    How 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.

    M-LanguagePerformance
  15. 11
    Stop 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.

    DAXBest PracticesPerformance
  16. 10
    Native 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.

    UDFSQL Analytics Endpoint
  17. 09
    While 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.

    M-LanguageLogicLoops
  18. 08
    Refresh 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.

    Data PipelineRefresh
  19. 07
    Make 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.

    Power QueryParametersBest Practices
  20. 06
    Top 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.

    DAXBest PracticesBeginner
  21. 05
    Ultimate 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.

    Power QueryM-LanguageBeginner
  22. 04
    Combine 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.

    Power QueryM-LanguageSharePoint
  23. 03
    API 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.

    REST APIM-LanguageAuthentication
  24. 02
    Pagination 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.

    M-LanguageREST APIPagination
  25. 01
    Introduction 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.

    REST APIM-LanguageBeginner