Can't miss session! The 9 FabCon and SQLCon takeaways the community can't stop talking about. Join us on April 2nd. Register now
Sometimes meaningful ideas emerge when you simply connect the dots from your past explorations.
A few months ago, I explored two completely different areas:
1️⃣ Building Fabric Data Agents using GitHub Copilot Agent Mode—bringing down the creation time from 1–2 days to under an hour.
Fabric Data Agent with GitHub Copilot Agent Mode - Microsoft Fabric Community
2️⃣ Understanding Power BI’s new .pbip format—a discovery that changed how I think about dashboard development.
Revolutionizing Power BI Development: Create Dashb... - Microsoft Fabric Community
What I didn’t realize back then was that these two explorations were quietly preparing the ground for something far more powerful.
This article is where everything converges.
I’ll share how I combined both discoveries to build production‑ready, self‑learning Fabric Data Agents—where:
💡 The breakthrough moment: when I realized that my Power BI report’s JSON definition could teach my Data Agent how to answer questions correctly.
⏱️ Before:Days of manual testing and guesswork
⚡ Now: Automated accuracy validation in minutes
🔁Result: A continuous learning loop that improves itself over time
All code discussed in this article is available on GitHub:
🔗 https://github.com/harigouthami/fabric-data-agent-accuracy-framework
The repository includes:
💡 Tip: Clone the repo and upload the notebooks directly into your Fabric workspace to get started.
Let me share the moment when everything finally connected.
Creating a Data Agent in under an hour felt almost unreal. GitHub Copilot helped me:
But one question kept bothering me:
“How do I know the agent’s answers are actually correct?”
Then came the .pbip discovery.
The realization that Power BI reports are simply structured JSON files felt like unlocking a hidden door. With Copilot, I could:
And then the thought that changed everything:
“If both my report and my agent are JSON… why can’t they learn from each other?”
One evening, while browsing through a .pbip folder, it all clicked:
My Power BI Report (.pbip)
├── definition/
│ ├── report.json ← Visual definitions
│ └── model.tmdl ← DAX measures & relationships
└── reportExtensions.json ← Custom logic
This wasn’t just a report. It was a business‑validated knowledge base.
Those DAX measures already represented:
If my Data Agent’s SQL produced the same results as those DAX measures, I could be confident in its accuracy.
That’s when I literally jumped out of my chair. 🎉
Once the initial excitement faded, real‑world questions surfaced:
The answer turned out to be a modular notebook framework powered by the Fabric Data Agent SDK.
The SDK unlocks a fully code‑driven lifecycle:
Instead of clicking through the Fabric UI, everything becomes version‑controlled, reproducible, and automatable.
At the heart of this approach is what I call the Knowledge Triangle:
When all three agree, confidence becomes measurable—not assumed.
Instead of manually checking answers, I compare:
When both match, the agent earns its confidence.
Failures are no longer setbacks—they’re training data.
When a test fails:
This creates a continuous improvement loop that learns automatically.
What started as curiosity turned into a framework.
The moment I realized that my .pbip files could:
…was one of those rare “everything aligns” moments.
Don’t start from scratch if you have reports already available.
Your Power BI reports already contain:
They are the best teachers your Data Agents can have.
I’m now exploring:
Have you discovered interesting connections within Fabric? I’d love to hear your thoughts! 💬
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.