Forum Discussion
Copilot, limitations?
- 7 months ago
Thank you for the follow-up — and I genuinely understand your frustration. You’re not wrong that, from a human perspective, this is a very simple arithmetic problem, and yes, ChatGPT can solve it easily.
However, the key point is that Copilot in Power BI is not failing at math — it is refusing to cross semantic boundaries it is not allowed to cross.
What you are describing is a cross-report reconciliation problem, not a calculation problem.
When you say:
“Report A says 100,000 passengers in November
Report B splits November into 80,000 NS and 20,000 SN
How many of the 100,000 are NS vs SN?”For a human (or ChatGPT), the assumption is obvious: they refer to the same population.
For Copilot:
These are two separate semantic models
There is no guaranteed relationship
There is no shared grain or lineage
There is no enforced business rule that NS + SN = total passengers
Copilot is designed to not assume equivalence, even when it seems obvious.
That’s why it asks for:
The exact measure
The exact table
The exact relationship
All data inside the same model
It’s not intelligence vs stupidity — it’s governance vs inference.
Why ChatGPT “works” here
ChatGPT:
Assumes the numbers are compatible
Ignores data lineage
Doesn’t care if the logic would be invalid in a governed BI system
Copilot:
Must avoid generating potentially wrong business answers
Cannot reconcile two reports unless they are backed by the same dataset
Cannot “peek” into another report or model
The real limitation (and you’re right to call it out)
Where I agree with you 100%:
Copilot does not currently help enough with reconciliation-style reasoning, even when:Measures exist
Names match
Logic is obvious to a human
That does limit its usefulness today for analysts doing validation, reconciliation, or sanity checks across reports.
So yes — for this use case, Copilot is not helpful. That’s a fair and valid conclusion.
The practical takeaway
Copilot works best when:
All numbers live in one semantic model
Relationships are explicit
Measures are already defined
For:
Cross-report summaries
Reconciliation
“Explain the difference between report A and report B”
Today, external reasoning tools (like ChatGPT) are still better.
You’re not misunderstanding Copilot — you’re simply hitting a real product boundary. Calling that out is fair, and it’s exactly the kind of feedback Microsoft needs to hear.
If this explanation helped clarify why this happens (even if you still disagree with the design), please consider giving Kudos 👍 and marking as the Accepted Answer ✔ so others don’t hit the same frustration without context.
Hi Alexx22,
What you’re seeing isn’t because Copilot is a “bad AI”. it’s part of its documented limitations. Copilot in Power BI doesn’t automatically calculate from your reports unless the underlying measures are defined in the data model. That’s why it responded “I need the measure in the report.”
Some key points:
• Copilot depends on structured data models: It can only calculate growth rates or percentages if the measure (like month‑over‑month change) is already defined.
• No cross‑report queries: Copilot won’t join or relate two separate reports unless those relationships are modeled in Power BI.
• Guardrails against guessing: Unlike some AI tools, Copilot won’t invent missing numbers, it only works with what’s explicitly available.
So the limitation you hit is expected and documented. To get the results you want, you’ll need to:
• Define a DAX measure for month‑over‑month % change in your Power BI model.
• Ensure relational data is modeled correctly if you want Copilot to query across datasets.
You can find the official Microsoft documentation here: https://learn.microsoft.com/en-us/power-bi/create-reports/copilot-introduction
Example DAX Formula for Month‑over‑Month % Change
MonthOverMonthChange =
VAR CurrentMonth = SUM('Passengers'[Total])
VAR PreviousMonth = CALCULATE(
SUM('Passengers'[Total]),
DATEADD('Passengers'[Date], -1, MONTH)
)
RETURN
DIVIDE(CurrentMonth - PreviousMonth, PreviousMonth, 0)
This measure calculates the percentage change from the previous month.
Example DAX Formula for Year‑over‑Year % Change
YearOverYearChange =
VAR CurrentYear = SUM('Passengers'[Total])
VAR PreviousYear = CALCULATE(
SUM('Passengers'[Total]),
DATEADD('Passengers'[Date], -1, YEAR)
)
RETURN
DIVIDE(CurrentYear - PreviousYear, PreviousYear, 0)
This measure calculates the percentage change compared to the same month in the prior year.
How to Use These Measures
• Add them to a line chart with `Date` on the X‑axis to see trends over time.
• Place them in a KPI card to highlight the latest % change.
• Once these measures exist in your model, Copilot can reference them, explain the trends, and generate insights automatically.