About me
- • 10+ yrs in data
- • Have tried all of the roles a data career can offer
- • Power BI my first love still burning
- • Currently consultant / solopreneur
Why Power BI why now?
- • LLMs have all the capabilities in the world — but they lack context
- • For decades, Power BI has been hardcoding context into its semantic model
- • Power BI is in a unique position — no other BI tool has anything like it
- • Looker comes closest with LookML — but it's different
- • Tableau is struggling to adjust to modern realities (Metric Pulse, etc.)
Copilot / Fabric Data Agents
- • They guess how to calculate metrics — sees schema, estimates. Works for basic metrics; hallucinates on complex ones (retention, cohort, conversion)
- • Generic AI applied to a specific use case — there will always be room for improvement
- • Steep pricing (~$70/user) — generates DAX on the fly, re-guessing metrics you've already defined
- • No visibility — can't see how users interact with Copilot or Fabric Data Agents
Their weaknesses are your opportunity
- • Guesswork → No guess. Orgs spent years building semantic models — tribal knowledge is already there. Pick the metric and run its calculation.
- • Generic AI → Specialized. Semantic model understanding — nail down the scope of the agent.
- • Steep pricing → Affordable. $70/user is easy to beat. A 200-user org could fit the whole solution in a few hundred dollars.
- • No visibility → Usage metrics. Treat data as a product. See what users ask, which metrics and dimensions they use — super valuable for future development. Power BI dashboards make this hard.
Points of suffering
- • Discovery engine. I was always the go-to when someone needed a niche metric — "have we ever calculated X?" I'd search my head, find the dashboard where I experimented, redirect them. Could never automate this.
- • Breakdowns not in the report. User: "Can we slice this by that dimension?" It exists in the model but not in the UI. Edit, add chart, save — annoying context switching. Agents can automate this.
- • Documentation. Copying DAX, Power Query, Fabric notebooks into ChatGPT/Claude, asking for docs by template. Dumb process — should be totally automatable. This solution can address it.
How this works behind the scenes
- • Vectorize the semantic model. Extract metadata, embed into a vector DB. Each metric gets its list of breakdown dimensions + definition index. LLM maps user input to existing metrics — no guessing.
- • LLM on Azure Fabric. Fully on-premise — nobody wants to expose data to third parties or log into yet another tool.
- • Flow: User question → LLM finds closest metric → executes DAX → returns value + all possible breakdowns. Solves discovery and breakdown.
- • Documentation: Scrape all metrics and sync to Notion or other documentation systems. Solves the documentation suffering.
Where this can go moving forward
- • Metric access management. Turn on/off metric exposure to the LLM. Highlight which dataset has the core revenue metric — every report has "revenue," but which one is canonical?
- • Product analytics. See what users ask. Logs of LLM questions → build data product roadmap. Users asking for metrics by dimensions that don't exist? Prioritize dataset enrichments.
- • Direct Excel connection. Copy Power Query, paste into Excel — live data, refreshed. No re-export. Semantic model at the core.
- • Agentic flow. Today: single-shot Q&A. Tomorrow: "I need profitability analysis of Baltic states for my board meeting — what drove it last quarter?" Agent plans: query metric, break down by everything, find outliers, drill deeper. Real multi-step reasoning.
Enter MCP
- • Recent client: management into Claude desktop, wanted to query Power BI from there.
- • Current Power BI MCP edits Power BI files — but doesn't properly query the semantic model.
- • This solution can be packaged as an MCP — semantic model querying as a tool.
- • Copilot Studio lets you build agents with MCP. No need to develop an agent — use Claude, Copilot, or others. Narrow the scope: just the MCP tool.
Thank you for your attention to this matter!