A data warehouse is a database that holds copies of your operational systems' data (accounts, CRM, ERP, web shop), reshaped for reporting rather than for running the business, with history kept so you can see how things looked at any past date. Most small and mid-sized businesses asking "do we need one?" don't, yet: what they need is a Power BI semantic model over one or two systems, with the month-end snapshots the source systems don't keep stored in a small table, and that costs a fraction of a warehouse and takes weeks not months. A warehouse, or in the Microsoft world a Fabric lakehouse, earns its place when several systems have to be joined for many different reports (not one), when years of history have to be kept and queried, when more than one tool or team needs the same cleaned data, or when the source systems are too slow or too locked-down to report from directly. Those are real conditions, and when they arrive the warehouse is the right answer; the mistake is buying it before they do.
What does a data warehouse actually do?
Three things a report can't do on its own:
It keeps history. Your accounting system shows aged debtors as at today. A warehouse stores a copy every night, so "aged debtors on the last day of each month for three years" is a query. Most operational systems don't keep this.
It joins systems once, for everyone. Customer in the CRM, customer in the accounts, customer in the web shop, mapped to one customer in the warehouse. Every report that needs the join uses the warehouse's version instead of each report doing its own mapping.
It takes the load off the source. Reporting against a live ERP database slows the ERP. Reporting against a copy doesn't.
A Power BI semantic model does the second thing for the reports built on it, and can do the first in a limited way (a dataflow or a small table that appends snapshots). It doesn't do the third, and it doesn't share its cleaned data with tools other than Power BI. Those differences are the whole decision.
Symptom by symptom
| Symptom | What it usually means | What you need | Warehouse? |
|---|---|---|---|
| "Our reports take a day a month to produce" | Export-and-paste; no connection to the source | A Power BI model on the source, or Power Query in Excel | No |
| "Two reports show two different numbers" | No shared definitions | One semantic model both reports use (Six Reports, Six Different Revenue Numbers) | No |
| "We want to see trends the system doesn't show" | Source holds current state only | Month-end snapshots stored by a dataflow or a small table | Not yet; a snapshot table |
| "We need the CRM and the accounts in one report" | One join, one report | A Power BI model with a customer key (Putting Your CRM and Your Accounts in One Report) | No |
| "We need five systems joined for a dozen reports across three teams" | Many joins, many consumers | A warehouse or lakehouse with the joins done once | Yes |
| "Finance wants it in Power BI, ops wants it in Excel, the web team wants an API" | Multiple consumers of the same cleaned data | A warehouse the tools all read | Yes |
| "Reporting slows the ERP down" | Reporting hits the live database | A nightly copy: a warehouse, or at minimum a replica | Yes, or a replica |
| "We have to keep seven years of transaction history queryable after we switch systems" | Archive with query access | A warehouse or an archive model (Still Paying to Keep a Dead ERP Alive Just for the History?) | Yes, or an archive model |
| "The Power BI model is too big or too slow" | Model doing warehouse work | Move the heavy transformation upstream | Probably; or Premium Per User first |
Source: my working rule from the businesses that ask. The right-hand column is the honest answer, not the one that sells the bigger project.
What to do instead, when the answer is "not yet"
Build the model, not the warehouse. A Power BI semantic model over the one or two systems you have, with the definitions written once (What Is a Semantic Model? A Plain-English Answer). This is the thing most businesses skip on their way to asking about warehouses.
Store the snapshots you'll want. A Power BI dataflow that appends the month-end ageing and balances to a table, or a small SQL table something writes to nightly. It's an afternoon's work and it gives you the history a warehouse would, for the two or three things you actually need history for.
Fix the keys in the source systems. Put the accounts customer ID on the CRM record. Put the project code on every purchase invoice. A warehouse doesn't fix missing keys; it just moves the problem.
Write down the definitions. Gross margin, active customer, on-time. A warehouse built on undefined terms produces confidently wrong tables at scale.
Do those four and you'll either find you didn't need the warehouse, or you'll arrive at it with clean keys, written definitions and a model to migrate, which makes the warehouse project half the size.
When it is time, what does the Microsoft version look like?
Microsoft Fabric is where a warehouse or lakehouse sits in the Microsoft stack: pipelines or dataflows copy the source systems in, a lakehouse or warehouse holds the cleaned and joined tables with history, and Power BI reads from it (with Direct Lake for large models). It's priced as capacity, in USD, per second, and I've written about what that means for a bill at Why Is Your Fabric Capacity Bill So High? and about when to move at When Should You Move to Microsoft Fabric?.
The honest sequencing for a business that's reached the "yes" rows: a Fabric Readiness Assessment first (£5,950), which checks the sources, keys, definitions and volumes and produces the design and the capacity estimate before anyone buys a capacity. A warehouse bought before that check is the most common way I see the bill surprise people.
What does it cost, either way?
Not yet: Power BI Pro at £10.80 per user per month on Microsoft's UK page as of September 2026, for each viewer. A single-source model and report is a First Report (£1,950 fixed, ten working days). Two sources joined is a Reporting Sprint (£9,500), and the snapshot table and the keys work fit inside either.
Yes: the Fabric capacity (priced by Microsoft in USD, check the Azure calculator for your region), the readiness assessment, and a build that's sized after the assessment rather than before.
Common questions
What is a data warehouse, in plain English?
A database holding copies of your business systems' data, reshaped for reporting, joined on shared keys, with history kept so past dates can be queried. It's separate from the systems you run the business on.
Does a small business need a data warehouse?
Usually not yet. Most need a Power BI model over one or two systems, with month-end snapshots stored in a small table. A warehouse is right when several systems feed many reports for several teams, when years of history must be kept, or when reporting is slowing the source systems.
What's the difference between a data warehouse and a Power BI model?
A Power BI semantic model joins and defines data for the reports built on it. A warehouse does that once for every tool and team, keeps full history, and takes the reporting load off the source systems. The model is the right first step; the warehouse is what the model grows into when the conditions arrive.
Is Microsoft Fabric a data warehouse?
Fabric is the Microsoft platform that includes a warehouse and a lakehouse, plus the pipelines to fill them and Power BI to read them, priced as capacity. It's the natural destination for a Microsoft 365 business that has reached the point of needing one.
How do I keep history without a warehouse?
A Power BI dataflow or a small database table that appends a snapshot (ageing, balances, open pipeline) at each month end. It's a few hours' work and it covers the two or three things most businesses actually want history for.
What should I do before buying a data warehouse?
Fix the keys in the source systems, write the definitions down, build the semantic model, and store the snapshots. Then, if the conditions for a warehouse are real, run a readiness assessment to size it before buying capacity.
How much does a data warehouse cost for a small business?
Fabric capacity is priced by Microsoft in USD per second by region, so use the Azure calculator rather than a blog figure. Before that, a readiness assessment is £5,950 in my published pricing. The "not yet" path is Power BI Pro at £10.80 per viewer per month plus a First Report at £1,950 or a Reporting Sprint at £9,500.