Posts filed under Data Modeling

Materialized Lake Views in Microsoft Fabric: How They Actually Work

Video by: Reid Havens

Every report hitting your raw tables runs the same expensive joins and aggregations over and over, even when the underlying data hasn't moved. Materialized Lake Views in Microsoft Fabric pre-compute those results once and store them as Delta tables in OneLake, so consumers read finished numbers instead of recalculating from scratch.

In this video I cover what MLVs actually are, how the automatic refresh logic decides between skip, incremental, and full rebuild, the Spark SQL syntax to create and manage them, and where they sit in a medallion architecture (think of them as a "Gold+" layer).

The part worth sticking around for: point Direct Lake at an MLV instead of your raw tables and you get pre-aggregated data at import speed. In the example here, a 50 million row fact table collapses to around 500K. Fewer rows means faster transcoding into VertiPaq and a lot less DirectQuery fallback risk. That's the single best reason to pair the two.

I also get into when NOT to use them, because they're not free. Sub-minute volatile data, tiny tables, and row-level security needs are all cases where an MLV is the wrong tool.

Your Core Model Isn't Supposed to Do Everything | Power BI Extensibility Layer Objects

Video by: Reid Havens

Here's something that trips up a lot of Power BI developers: not everything belongs in your core semantic model. Some objects are meant to live in a departmental layer. Some belong in a single report, knowing the difference changes how you build, and how well your architecture holds up over time.

In this video I walk through Power BI's extensibility layer objects: what they are, where each one belongs in your architecture, and when to actually use them.

RELATED CONTENT 🔗

Full Guide | Analytic Endeavors

Data Modeling vs DAX in Power BI: Solving Problems the Right Way (with Markus Ehrenmuller-Jensen)

LIVESTREAM DATE/TIME 📅

February 6th 2026 - 9:30AM (Pacific Time)

DESCRIPTION 📄

When should you solve a problem in the data model, and when should you solve it with DAX?

In this livestream, Markus Ehrenmuller-Jensen will walk through practical scenarios where you can take either route: modeling changes, DAX measures, or even report-level settings. Instead of “it depends,” you’ll see how to choose a clear, maintainable approach.

In this session, we discuss:

  • How a solid data model can simplify or eliminate complex DAX

  • When it actually makes sense to push logic into DAX instead of the model

  • Typical patterns: role-playing dimensions, cascading filters, synced slicers, and more - Trade-offs around performance, maintainability, and usability

  • How to think about long-term governance when mixing modeling and DAX solutions

Whether you’re a Power BI developer who loves writing measures or a data model purist, this session will help you decide where each piece of logic really belongs.

GUEST BIO 👤

​Markus Ehrenmuller-Jensen is the founder of Savory Data, with a career spanning project leadership, data engineering, and business intelligence architecture since 1994. He holds degrees in software engineering and business education and serves as a professor of databases and project engineering at HTL Leonding, a technical college. He is also certified in PL-300 (Power BI Data Analyst), DP-203 (Azure Data Engineer Associate Certification), DP-600 (Fabric Analytics Engineer Associate), and DP-700 (Fabric Data Engineer Associate).

Markus actively contributes to the global data community, speaking regularly at international conferences such as SQL Bits in London, Power BI Next Step in Copenhagen, Data Saturdays throughout Europe, and SQL Days. He co-founded SQL PASS Austria in 2013 and the Power Platform User Group Austria in 2016; both organizations merged in 2021 to form Data Community Austria. Since 2014, he has organized Data Community Austria Day in Vienna, fostering knowledge sharing among data professionals. In recognition of his technical leadership and community involvement, Markus has been honored as a Microsoft Data Platform Most Valuable Professional (MVP) since 2017.​

In addition to his speaking engagements, Markus contributes articles to reputable journals and has authored the book "Data Modeling with Microsoft Power BI," published in June 2024.

RELATED CONTENT 🔗

Markus's Website
Markus on LinkedIn
Markus on Bluesky
Data Modeling with Power BI (O’Reilly)
Selection2List DAX Package
Markus's GitHub

This One Change Made My Time-Intelligence [DAX] Performance Faster!

Video by: Reid Havens

Microsoft's new calendar-based time intelligence isn't magic, but it's a necessary optimization for every new model (and existing ones with performance issues).

The Results:
✅ Simplified query plans
✅ Fewer rows scanned by Storage Engine (SE)
✅ Same DAX, better syntax

The performance gains come from smarter query optimization. If you're working with large fact tables and time-based calculations, this is how the engine should be working.

What I cover:

  • How calendar-based functions optimize the storage engine

  • DAX Studio query plan comparison (side-by-side)

  • Setting up calendar categories in Power BI

  • Migrating from classic DATEADD to calendar-based syntax

  • FREE Power BI Calendar Template (PBIX)

RELATED CONTENT 🔗

Calendar Template
Livestream - PBI Calendar Overhaul: Calendar-Based Time Intelligence (with Jeroen [Jay] ter Heerdt)
Calendar-based time intelligence
Microsoft Blog Announcement
Introducing calendar-based time intelligence in DAX

Posted on November 11, 2025 and filed under DAX, Data Modeling.