Expertise
Power BI consulting, from the semantic model to the number finance signs
TechFabric is a Microsoft Solutions Partner that builds Power BI reporting people stop double-checking. We design the semantic model and the measures with whoever owns each number, connect Power BI to Databricks, Dynamics 365 and Microsoft Fabric, and put Power Automate and Power Apps around the reports where a decision has to become an action.
TechFabric is a Microsoft Solutions Partner, with designations in Data & AI, Digital & App Innovation, and Infrastructure. We implement Dynamics 365 Business Central and Dynamics 365 CRM, build on Azure, and take what surrounds them into production: Power BI reporting, Power Automate workflows, and the integrations that connect Dynamics to the rest of the estate. Funko's warehouse system runs on Business Central, and AmTab's modernisation ran on Dynamics 365 and Power Automate.
The semantic model, before the visuals
Every Power BI estate we're asked to fix has the same shape. Forty reports, each with its own copy of the revenue measure, three of which disagree by the time the CFO asks.
The fix is one semantic model, a star schema with the grain written down, measures agreed with whoever owns each number, and row-level security that follows the org chart. The reports read that model and nothing else. It's slower in week one and faster every week after.
- Star schema with conformed dimensions, so a date is a date in every report
- Measures defined once in DAX and agreed with the owner of the number before a visual exists
- Row-level security by entity, region or warehouse, tested with the people it restricts
- A benchmark set of questions with known answers, run again after every model change
Power BI on Databricks
Power BI Desktop connects to a Databricks SQL warehouse through Partner Connect or by hand, and as of September 2026 the two choices that decide whether it holds up are authentication and mode. OAuth for a person, a service principal for unattended refresh, or Microsoft Entra ID single sign-on so a Unity Catalog grant follows the viewer.
Import for a model that fits in memory, DirectQuery for one that doesn't. A Power BI task in a Lakeflow job can refresh the semantic model once a Power BI connection exists in Unity Catalog, which ties the refresh to the pipeline instead of to a clock.
- Service principal for refresh, so a report doesn't stop working when its author leaves
- Entra ID single sign-on where row and column filters live in Unity Catalog, so Power BI inherits them
- Refresh triggered from the Lakeflow job that lands the data, rather than a schedule guessing when it did
- Metric views read through DirectQuery with a native SQL query and MEASURE(), since Microsoft removed the compatibility mode from the connector
Power BI on Dynamics 365
The report that decides whether an ERP project felt worth it is the one finance and operations both read without arguing.
We build Power BI on the Business Central and Dynamics 365 CRM record, with the measures for margin, aged debt and inventory turns agreed with finance before the first visual, and the refresh scheduled against the posting cycle so Monday's number is Friday's close.
AmTab's modernisation put Power BI over data flowing between nopCommerce, CRM and the ERP, and that study is at /case-studies/amtab. The Dynamics practice itself is at /expertise/microsoft-dynamics-365.
- Semantic model on the ERP tables, rather than on a nightly export to Excel
- Measures reconciled to the trial balance before anyone sees a chart
- Row-level security matching company, warehouse or sales territory
- Dynamics implementation and reporting from one team, so the model knows what the posting groups mean
Power Automate and Power Apps
A report that shows a purchase order stuck for nine days is useful. A flow that routes it to the person who can approve it is what gets it unstuck. We build Power Automate for the approvals and handoffs that cross systems, and Power Apps for the data entry screen a process needs that the ERP doesn't have.
At AmTab the flows carry data between nopCommerce, CRM and the ERP in both directions, and a customer action can trigger the email or the promo code without anybody in the loop.
- Approval flows that carry the record they approve, so the decision is auditable
- Alerts from Power BI thresholds into Teams or email, with the query that fired them
- Power Apps for the form the process needs, on the same Dataverse tables the reports read
- Flows documented and owned, because an orphaned flow is a common way a process quietly stops
Microsoft Fabric, when it fits
Fabric can mirror an Azure Databricks Unity Catalog with no data movement, and Power BI builds a Direct Lake model straight on the mirrored tables. Databricks federates a Fabric Lakehouse the other way. So an estate on Azure doesn't have to pick a side.
It has to decide which platform holds the tables and which one reads them, and how we make that call is written up at /blog/fabric-or-databricks-is-the-wrong-question. We build on both, and we'll say which one should hold your tables before either of us has committed to it.
- Direct Lake models on OneLake where the estate is already in Fabric
- A mirrored Unity Catalog where Databricks holds the tables and Power BI needs them without a copy
- Capacity sized against the actual refresh and query load, rather than the licence tier
- One semantic model whichever platform holds the data, so a move later doesn't rewrite the reports
Tableau to Power BI
A Tableau workbook doesn't convert into a Power BI report. The calculations, the level-of-detail expressions and the extract logic have to be remodelled as a semantic model and DAX, and a migration that treats it as a file conversion ships forty reports that are each slightly wrong.
We start with the inventory, which reports are opened and which haven't been since last year, then rebuild the model once and point the reports that survive at it.
- Inventory of workbooks by actual usage before anything is rebuilt
- Level-of-detail expressions and table calculations remodelled as measures, then reconciled against the Tableau figure
- A parallel run where both tools show the same number before the old one is switched off
- Licence and capacity costs compared on your usage rather than on the list price
What we implement
Semantic models and DAX
A star schema with the grain written down, measures agreed with the person who owns each number, and row-level security matching who may see which entity. The visuals come last, because they're the cheap part.
Power BI on Databricks
Power BI Desktop and the Power BI service connected to a SQL warehouse, with refresh running under a service principal and the semantic model refreshed from a Lakeflow job rather than a calendar.
Power BI on Dynamics 365
Reporting on the Business Central and CRM record rather than on an export somebody maintains by hand, so the margin on the slide is the margin in the ledger.
Power Automate and Power Apps
The approval, the alert and the data entry screen around a report, built where a number in Power BI has to turn into something somebody does.
Where it runs
ManufacturingDistributionFinancial servicesBuilt for

What we build
- One semantic model, agreed with the owners of the numbers, read by every report
- Power BI connected to Databricks, Dynamics 365 and Fabric, with refresh tied to the data landing
- Row-level security that follows the org chart and is tested with the people it restricts
- Power Automate and Power Apps where a number has to become an action
- Tableau and legacy estates migrated by remodelling, with a parallel run before cutover
How this is delivered
AI/BI & Genie dashboards
Genie answers a business question in English, and the answer holds up when somebody checks it against finance.
FAQ
Questions we get asked
What does Power BI consulting include?
At TechFabric it's the semantic model and DAX measures, the connections to Databricks, Dynamics 365, Azure SQL and Fabric, row-level security, refresh and capacity, and the Power Automate and Power Apps pieces around the reports.
Visual design is in there too, though it's the smallest part of the work. What you get is a model your own analysts can build on rather than a set of dashboards only we understand.
Is TechFabric a Microsoft partner for Power BI?
TechFabric is a Microsoft Solutions Partner, with designations in Data & AI, Digital & App Innovation and Infrastructure, and they're visible in Partner Center, which is where to check any partner's claim.
The Power BI work is delivered by the same team that implements Dynamics 365 and builds on Azure and Databricks, so the model and the systems it reads are designed by people who talk to each other.
Power BI or Databricks Genie?
Both, reading the same definitions. A Power BI report answers the question everybody asks every Monday and should look identical every Monday. Genie answers the question somebody thought of in the meeting.
Building them on separate definitions is how you end up with two numbers and an argument, so the metric definitions live once and both read them. The Genie side is at /services/ai-bi-genie.
Can Power BI read our Databricks lakehouse directly?
Yes. Power BI Desktop connects to a Databricks SQL warehouse in import or DirectQuery mode, with OAuth, a service principal or Microsoft Entra ID single sign-on. With single sign-on the row and column filters in Unity Catalog apply to whoever opens the report.
The part most teams miss is refresh, which can run from a Power BI task inside a Lakeflow job so the model updates when the data lands rather than when a schedule guesses it did.
Should we hire a Power BI developer or a consultancy?
If you have a sound semantic model and need more reports, hire the developer. If the reports disagree with each other, the refresh fails on Mondays, or three people each own a copy of the revenue measure, the model is the problem and a developer building on it makes more of the same.
That's the engagement we're for, and when it's done we'll hand your developer a model worth building on.
Can you migrate our Tableau reports to Power BI?
Yes, as a remodelling job rather than a file conversion. We inventory the workbooks by real usage, rebuild the model once as a star schema with DAX measures, reconcile every migrated figure against the Tableau number, and run both in parallel before the old one is switched off. Reports nobody has opened in a year don't get migrated.
Do you work with Microsoft Fabric?
Yes. Where the estate is already in Fabric we build Direct Lake models on OneLake, and where Databricks holds the tables we use the Unity Catalog mirror so Power BI reads them without a copy.
We build on both platforms, and which one should hold your tables depends on where the engineering already is. The argument is written out at /blog/fabric-or-databricks-is-the-wrong-question.
How does a Power BI engagement start?
With an assessment of two to three weeks. We read the existing reports and models, find where the numbers fork, and come back with a written recommendation you can act on with us or without us.
Build work is scoped against that document. We don't publish day rates, because a model for one company and one for eleven legal entities aren't the same job.
Do you do Power BI consulting in Phoenix?
Yes. The office is at 1530 E Williams Field Rd, Ste 201, Gilbert, AZ 85295, in the Phoenix metro, and for clients across Phoenix, Scottsdale, Tempe, Mesa and Chandler we're in the room for the modelling workshops. The Phoenix page is at /power-bi-consulting-phoenix. Most work elsewhere runs remote, with teams in Amsterdam, Dnipro and Hyderabad.
How can we help?
Send us the report two people are arguing about, and we'll tell you where the number forks.