Insights
Snowflake Is Not a Semantic Model. Your Measures Still Need an Owner
A clean Snowflake warehouse still produces five Revenues if each Power BI team invents measures. The platform is not the trusted model.
Snowflake looks finished. The tables are clean, the roles are tidy, and pipelines land on schedule. Leadership hears “we have a warehouse now” and assumes the Monday numbers will finally agree.
Then finance, sales, and ops each build a Power BI model on the same Snowflake objects. Each one invents its own Revenue, Margin, and Bookings, and five versions walk into the QBR. The warehouse did its job. Nobody owned the measures.

A platform is not a trusted model
Mid-market manufacturers buy Snowflake to stop fighting file drops and tribal SQL. That is rational. A well-run warehouse is a better landing zone than nightly CSVs and heroic extracts.
It is not a semantic model. Snowflake stores grain, history, and keys. Power BI, or another governed semantic layer, still has to name the business logic, relationships, and measures leaders will defend in a meeting.
When every team connects Desktop straight to Snowflake and writes its own DAX, you recreate the wild west one cloud higher. The semantic model is the product, and the warehouse is the factory floor underneath it.
This is a cousin of why Power BI reports show different numbers and certified datasets vs the wild west. Clean storage does not certify a measure. An owner does.
The costs of treating Snowflake as the model
-
Five Revenues from one warehouse. Each Power BI workspace treats recognition, returns, and intercompany differently. The room argues about the truth, and Snowflake is innocent.
-
Margin fights move upstream, not away. Cost allocation, freight, and scrap still need a steward. Without one, margin definitions that don’t survive a meeting just relocate into cloud-connected pbix files.
-
Self-service becomes self-conflict. Analysts feel free and executives feel lied to. Adoption metrics look healthy while trust collapses.
-
Certification becomes a sticker on a table. Promoting a Snowflake schema is not the same as certifying Booked Revenue. Leaders need a named measure in a governed dataset, not a schema diagram.
-
DAX sprawl replaces SQL sprawl. The CASE logic that used to live in ten reports now lives in ten models, and nobody can explain it. See measures nobody can explain.
-
Refresh and capacity pain hide definition debt. Teams blame warehouse lag or Premium capacity when the real issue is three incompatible definitions of the same noun.
-
Onboarding creates more twins. Every new analyst clones a “working” model and tweaks a filter. The estate grows. The source of truth does not.
-
Finance refuses to sign. Controllers will not defend a number that lives in someone’s Desktop file pointed at Snowflake. Sign-off requires ownership, change control, and one place to change the logic.
How to fix it: own the measures on top of the warehouse
-
Separate landing from meaning. Snowflake holds curated tables with keys, history, and quality checks. The Power BI semantic model holds relationships and measures. Do not ask either layer to do the other’s job.
-
Inventory the nouns that start fights. Revenue, bookings, backlog, margin, on-hand, scrap. Write down which decision uses which noun, and assign a steward from finance, ops, or sales to each one before more models spawn.
-
Build one certified semantic model for the core pack. Import or DirectQuery from governed Snowflake objects into a single shared model for Monday and close. Promote that dataset and retire the twin Revenue measures in satellite workspaces.
-
Name measures like adults. Booked revenue accrual, shipped not billed, pipeline weighted. Do not hide two logics under “Actuals.” Names are the first control.
-
Put change control on measure edits. Decide who can change Margin, what review happens before production, and how the old definition is versioned. A warehouse ACL is not a measure change log.
-
Make owners people, not roles. A Snowflake role that can select from FINANCE.MART does not own Booked Revenue. Ownership means a named human who will change the definition, explain it in the QBR, and refuse silent forks in satellite workspaces.
-
Stop making Desktop-to-Snowflake the default path for executive pages. Exploration sandboxes can connect wide. The QBR pack cannot. Route critical pages through the certified model only.
-
Publish as-of and basis on the page. Warehouse freshness and measure basis are different labels, so show both. Pair this with finance accrual vs ops cash when the clocks collide.
-
Retire twin models on a schedule. Pick one disputed KPI, consolidate the measure, archive or delete the competing pages, and repeat. Do not wait for a “platform reboot.”
-
Tie certification to the measure, not the cloud logo. A certified dataset means a human will defend the number. Snowflake being “enterprise” does not make your DAX enterprise.
A Monday test you can run this week
Open the three Power BI files or workspaces that feed your hardest meeting. Search for Revenue, Margin, and Bookings, and count the distinct DAX definitions that claim the same noun. If the count is greater than one, Snowflake did not fail you. Measure ownership did.
Then ask who may change each definition in production. If the answer is “whoever has Desktop and a Snowflake role,” you have a platform, not a trusted model.
That test takes an hour. The cleanup takes longer. Start with the noun that burned the last QBR, not with a warehouse redesign slide.
Where mid-market teams get stuck
IT finishes the warehouse migration and declares victory. Analytics keeps shipping personal models because the certified path is slow or missing. Finance keeps a shadow workbook “just until the model catches up.” Six months later the shadow is the real close pack, and Snowflake is an expensive file server with better SQL.
The fix is sequencing, not another platform. Land the tables, name the grain, stand up the semantic model with three owned measures, and point the Monday pack at it. Only then widen self-service. Reverse that order, with self-service first and ownership later, and you fund the fight you meant to end.
What good looks like
Snowflake lands clean, keyed, historical data on a refresh contract. Power BI exposes a small set of owned measures with stewards and change control. Sales, finance, and ops open different pages, but they open the same Revenue definition.
New analysts extend the certified model instead of inventing a sixth Revenue in a personal workspace. The warehouse stays valuable. It just stops being mistaken for the product leaders actually trust.
Executive takeaway
The platform is not the trusted model. Own the measures, certify one semantic model for the decisions that matter, and let Snowflake be the landing zone it is good at being.
Want to know whether your Snowflake estate feeds one model or five Revenues? Book a session with Alluvium. We will trace one disputed KPI from warehouse table to Power BI measure and show where ownership is missing. To check the model layer first, request a free Model Health check.
Next step
Book a Session
Need a clearer finance or executive reporting stack? Book a Session.