TECHNICAL PUBLICATION

Engineering Notes

Deep, defensible technical breakdowns on Power BI semantic model architecture, DAX evaluation mechanics, VertiPaq memory optimization, and modern developer workflows.

NOTE_01 // DAX & PERFORMANCE
2026-03-01·6 min read

Why This DAX Measure Is Slow — and How I’d Diagnose It

A step-by-step investigation into context transitions, VertiPaq query plans, and storage engine callback loops.

Most slow DAX measures are not caused by complex arithmetic, but by the Formula Engine (FE) taking over work that the Storage Engine (SE) should perform.
Invoking a measure inside row iterators (like SUMX or FILTER) forces an implicit context transition for every single row in the iteration.
NOTE_02 // SEMANTIC MODELS
2026-02-18·8 min read

I Audited a Slow Power BI Model. Here’s What Was Actually Wrong.

The dashboard took 18 seconds to render. The visual wasn't the issue. 4 hidden architectural flaws were.

A 3.8 GB semantic model was compressed to 420 MB simply by removing 3 unused high-cardinality GUID columns and splitting date-time fields.
Bidirectional relationships between dimension tables created cross-filtering loops that caused the engine to perform full table scans.
NOTE_03 // ENGINEERING WORKFLOW
2026-01-24·7 min read

Why TMDL Changes the Power BI Development Workflow

Moving away from binary .pbix files to text-based Tabular Model Definition Language, Git branching, and pull requests.

Monolithic .pbix binary files prevent simultaneous multi-developer collaboration, code reviews, and Git change tracking.
TMDL breaks the semantic model into human-readable, plain-text files organized by table, measure, and relationship.
NOTE_04 // ARCHITECTURE
2026-01-10·9 min read

7 Common Semantic Model Problems (and How to Fix Them)

From bidirectional relationship cascades to auto date/time table bloat: the architectural anti-patterns hurting enterprise models.

Snowflake dimension normalization causes needless table joins and slows down VertiPaq decompression.
Many-to-many relationships through bridge tables introduce ambiguous filter propagation and silent double-counting.
ENGINEERING NOTES

Engineering notes for Power BI builders.

Practical ideas on DAX, semantic models, performance, Fabric, and modern Power BI development.

1–2 useful notes a month. No noise. Unsubscribe at any time.