Blog / The silver layer is not a serving layer

The silver layer is not a serving layer

A report that times out usually isn't a visuals problem - it's a grain problem.

Published

June 2026

Length

1 min read

Topics

Power BI · Data Engineering

A report that times out usually isn't a visuals problem - it's a grain problem.

The slow semantic model I spent this week on traced to a clean root cause: measures reading directly from a silver-layer table holding millions of interaction-level rows. Every visual on the page was recomputing aggregates over the full grain, on every filter click. No DAX cleverness survives that.

Medallion architecture already has the answer; it just has to be respected at the boundary. Silver holds cleansed detail. What reports touch should be gold - pre-filtered to the relevant population and pre-aggregated to the grain the business actually asks about. If a question is about dozens of entities, the table behind the visual should have row counts shaped like dozens-of-entities, not millions-of-events.

The test I'll reuse: for each measure, ask how many rows it scans to answer the question on screen. When the ratio of rows-scanned to facts-displayed runs into the tens of thousands, the work belongs upstream - in the lakehouse, materialized once - not in the model at render time, recomputed per click.