Most BI projects fail the same way: the dashboards get built, nobody uses them, and six months later the company is back to emailing spreadsheets. This one didn’t. Within three months, most of the leadership team was in the data every week — and the data team stopped being a reporting bottleneck.

TL;DR

  • Client: A professional-services consulting firm with data scattered across CRM, project management, finance, and HR.
  • Problem: Every department defined KPIs differently. Leadership got monthly PDFs that were stale on arrival, and nobody trusted the numbers.
  • Result: Reporting compressed from a 5-day monthly cycle to real-time; weekly report adoption went from 0% to 78% of stakeholders; 60% of new report requests were self-served without the data team.

The Problem

The firm had data in four systems — CRM, project management, finance, HR — and every department tracked KPIs its own way. Finance lived in Excel pivot tables. Project managers used their own Notion databases. Leadership got monthly PDF reports that were already stale by the time they landed.

The result: nobody trusted the numbers, because everyone had different numbers.

What Was at Stake

This wasn’t a dashboard nicety. Partners were making staffing and pricing calls off figures that were a month old and contradicted each other meeting to meeting. Every leadership review opened with 20 minutes of arguing about whose number was right instead of deciding anything. The real cost was slow, low-confidence decisions across the whole business — and a data team burning its week hand-building reports instead of doing analysis.

The Approach

Why Microsoft Fabric. The firm was already all-in on Microsoft 365 — Teams, Outlook, SharePoint. Fabric meant no new vendor, no new login, no new security audit, and data that never left the Microsoft tenant. OneLake removed data movement (data lands once, every workload reads it), and Power BI is native rather than a bolt-on.

Three layers:

  • Ingestion — Fabric Dataflows pulled from the CRM API, the project tool’s webhook, and finance flat files into OneLake as Delta tables with incremental refresh.
  • Semantic layer — The real work: a star schema with one DAX measure per KPI (revenue per consultant, utilization, retention, deal-cycle time, margin by service line). One definition per metric — the end of “my numbers are different from yours.” Time-intelligence, semi-additive measures for headcount, and row-level security all lived here.
  • Reporting — Three tiers: a 6-KPI executive summary, filterable departmental deep-dives, and drag-and-drop self-service pages.

What actually drove adoption (the technology was the easy part):

  • Bookmarks, not pages — 5 pages with pre-filtered bookmarks per role, instead of 20 rigid report pages.
  • Natural-language Q&A — trained with business synonyms (“income” → revenue, “churn” → attrition), which turned skeptics into daily users.
  • Scheduled subscriptions — a Monday-morning PDF snapshot with a deep link into the live report; within a month most people were clicking through to explore.

The Results

Within three months of launch:

  • Report adoption: 0% → 78% of stakeholders using Power BI at least weekly
  • Time to insight: 5-business-day monthly cycle → real-time
  • Data trust: a single semantic model eliminated metric discrepancies across departments
  • Self-service ratio: 60% of new report requests handled by business users directly, without the data team

What I’d Do Differently

The adoption levers (bookmarks, Q&A synonyms, subscription deep-links) were retrofitted after the first version landed flat. Next time I’d design them in from day one and treat “will a VP actually open this on a Monday?” as the core requirement, not the semantic model. The tech was never the risk — behavior change was. I’d also invest earlier in the Q&A synonym set; it did more for adoption than any dashboard polish.

The Stack

LayerToolWhy
Data LakeMicrosoft Fabric OneLakeSingle storage, no data movement
IngestionFabric DataflowsLow-code, incremental refresh
Semantic ModelPower BI / DAXOne definition per metric, RLS
ReportingPower BI ServiceSelf-service, Q&A, subscriptions
OrchestrationFabric PipelinesScheduled refresh, dependency management

Simba Hu helps companies make better decisions with data and AI — from strategy to implementation. Based in Tokyo, serving clients globally. Book a strategy call or visit simbahu.com.