AnswersPower BI
Why nobody trusts the numbers in your Power BI reports

Rob CollieFounder and CEO, P3 Adaptive
Because the model underneath was never designed. It just grew. Most Power BI models start as one analyst solving one problem. Then somebody copies a measure and tweaks it, somebody else adds a table, a test calculation never gets deleted, and a few years later there are three definitions of revenue and nobody can say which one the board sees. Nothing is broken, exactly. The model says several things at once, and people stop believing any of them. It usually gets repaired faster than it gets rebuilt.
You know the meeting. Someone puts up a number. Someone else says that isn’t what their report shows. The next twenty minutes go to working out whose number is right, and the actual decision slides to next week.
After enough of those, people quietly stop using the reports. They export to Excel and rebuild the number by hand, because at least then they know how it was made.
I’ve spent a long time with my hands in other companies’ Power BI models. Nearly every time, the cause is how the model got built. Mostly it wasn’t built at all. It piled up.
Nobody designed it
The usual history goes something like this. Somebody sharp in finance or operations builds a model to answer one question. It works. People like it. They ask for more, and more gets added, a table here and a measure there, by whoever had time that week.
Every change made sense on the day it was made. Nobody ever stepped back and looked at the whole thing, because there was never a day when that was the most urgent job. A few years on, the model is a record of every request it ever got.
I wrote the book a lot of people learned DAX from, so some of this is my fault. We taught a generation of analysts how to write a measure. Far fewer of us talked about when to delete one.
What piles up
When I open one of these models, I tend to find the same handful of things.
Measures copied and tweaked
Someone needed revenue without returns, so they copied the revenue measure and edited it. Someone else needed it without one big customer. Now there are several, the names barely differ, and each one is right for the person who wrote it.
What the field list shows
Revenue
Sitting next to Revenue 2, Revenue (New) and Rev_Final.
All four live. Each one used by some report somewhere.
No description on any of them.
What it should show
Net Revenue
One measure, with a description of what it includes and what it leaves out.
The variants people genuinely need, built on top of it and named for the difference.
Everything else hidden or deleted.
Test calculations left in
A measure called Test, or Copy of Margin, or something with a person’s initials on the end. It was scaffolding. Nobody took it down, and now it sits in the field list right next to the real ones, looking exactly as official.
Relationships guessed
Two tables got joined on the column that looked right. Or a relationship was switched to filter in both directions to make one visual behave, and now filters flow places they shouldn’t. The numbers come out close. Close is the hardest kind of wrong to catch.
Logic buried in Power Query
A business rule got applied as a filter step deep inside a query, where nobody will ever think to look. The report says revenue. What it shows is revenue minus a division somebody filtered out years ago, for a reason that made sense at the time.
Every report on its own dataset
This one costs the most. Instead of many reports sitting on one shared model, each report came with its own copy of the data and its own measures. Fix revenue in one and the other nine still have the old version. It’s how two departments end up with honest, different answers to the same question.
A model that grew on its own ends up saying several things at once. People notice, and they stop believing any of it.
It matters more now that AI reads the model
People working in a messy model get by on instinct. They know Revenue 2is the one finance uses. They skip the test measures without thinking about it. They’ve learned which report to trust.
An assistant has none of that. It reads the model exactly as written. Ask it for revenue and it will pick one of your four, give you a clean confident answer, and never mention the other three. Ask again tomorrow with different wording and it might pick another one.
So the mess that used to cost you twenty minutes in a meeting now shows up for everyone who asks the assistant anything. I’ve gone into that in more detail in why your AI can’t answer questions about your own data, and into whether Power BI is still worth the investment given all this. It is, and the model is the reason.
Repair usually beats starting over
When trust gets this low, the instinct is to throw the model out and rebuild it properly. Sometimes that’s the right call. More often a rebuild brings its own mess: months where the old model keeps running, the new one isn’t finished, and people now have two sources to argue about.
Most of what’s in an old model is correct. It’s tangled up with the parts that aren’t. A repair keeps what’s right and gets rid of what isn’t, and the reports people already use keep working the whole time.
Measure hygiene
Go through every measure. Delete the tests and dead copies. Hide the helpers. Rename what’s left so a stranger could guess what each one does.
One definition per metric
For each number the business argues about, decide which calculation wins and write down who decided. Variants that are genuinely needed get built on top of the winner, with a name that says what’s different.
Fix the relationships
Check each one against how the business actually works. Turn off two-way filtering unless somebody can say why it’s there. Connect the floating tables or remove them.
Move the rules where people can see them
Business logic hiding in Power Query steps moves somewhere a person would look for it, or at the very least gets written down where it lives.
Consolidate onto shared models
Reports that each carry their own dataset get pointed at one shared model, so a fix lands everywhere at once.
Make it readable to the next person
Descriptions on the measures that matter. Display folders that group things sensibly. The next analyst, or the next assistant, should find the right number without asking anyone.
It’s unglamorous work. It also tends to go quicker than people expect, because you’re editing something that mostly works.
Somebody has to own it afterward
A cleaned-up model starts growing sideways again the week after you finish, unless someone is watching it. One named person per model is usually enough. Their job is to approve new measures and to say no to a fifth version of revenue. Bigger governance programs can come later if it turns out you need them.
Five things you can check this afternoon
Diagnostic
How much has your model grown on its own?
All of these work in Power BI Desktop or the service, and none needs a new tool.
Search the field list for “revenue,” then “margin.” Count the live measures.
More than one per real business definition means people are choosing, and they aren’t all choosing the same one.
Look for measures with test, copy, old, new or somebody’s initials in the name.
Each is a leftover. The count tells you roughly how long it’s been since anyone cleaned up.
Open the model view. Look for relationships that filter both ways, and for tables with no connections at all.
Both are places where a number can come out close and wrong, which is the kind nobody catches.
Count how many datasets in your workspaces have their own measure called revenue.
More than one means you have more than one answer to the same question, and fixing one of them fixes nothing else.
Ask a manager where the numbers in their last leadership deck came from.
If the answer involves exporting to Excel and adjusting by hand, that’s somebody who stopped trusting the model and built their own. There are usually more of them than you’d guess.
Where I’d start
Leave the whole estate alone for now. Pick the one number that causes the most arguments, which is usually revenue, and trace it. Find every measure and every dataset that calculates it. Get the people who argue about it in one room and decide which definition wins. Then fix the model so that definition is the only one anybody can reach.
That one fix does more for trust than a dozen new reports. Once people watch a number stop moving between meetings, they’ll tell you which one to fix next.
Tell us which number starts the arguments.
We’ve been untangling other people’s data models since 2013, for 600+ organizations. Show us the one nobody trusts and we’ll tell you whether it needs a repair or a rebuild, and what either one would involve.