Skip to content

Power BI & Microsoft Fabric

Reports your board actually believes

We build, rescue and govern Power BI — and stand up Microsoft Fabric properly the first time. From the people who already move your data for a living.

The Microsoft stack, end to end

Power BI

Reports, dashboards, semantic models

Microsoft Fabric

Lakehouse, pipelines, OneLake

Microsoft Azure

Azure SQL, Synapse, Storage

Microsoft 365

SharePoint, Excel, Teams

Dynamics 365

CRM and ERP data

Microsoft, Power BI, Microsoft Fabric, Azure and Dynamics 365 are trademarks of the Microsoft group of companies.

Sound familiar?

Four ways Power BI goes wrong

None of them are really about Power BI. They are about what sits underneath it.

“Nobody trusts the numbers in the report.”

Two reports give three answers, so the leadership team goes back to spreadsheets. Almost always a modelling problem, not a Power BI problem.

Semantic model rebuild

“The refresh takes four hours and keeps failing.”

Usually a model doing work at refresh time that should have been done upstream, or query folding quietly broken in Power Query.

Performance rescue

“We bought Fabric and don't know what to do with it.”

Capacity is running, the bill is arriving, and nothing is landing in OneLake. You need the first pipeline built properly, as a pattern to copy.

Fabric setup

“One person built it all and they've left.”

An undocumented model nobody can safely change. We reverse-engineer it, document the lineage and hand it back maintainable.

Handover & documentation

What good looks like

One page. Every question answered.

Headline numbers first, the trend behind them, then the detail — and a panel showing whether the data can be trusted today.

Sales Performance FY26 · refreshed 06:00 NZDT · 4 sources FY26 ▾ All ▾ Export REVENUE YTD $4.82M +12.4% GROSS MARGIN 38.6% +2.1pp ORDERS 18,420 +6.8% DAYS SALES OUTSTANDING 41.2 −3.4 Revenue by month, with cumulative 1040k 780k 520k 260k Jul Aug Sep Oct Nov Dec Jan Feb Mar Apr May Jun Monthly Cumulative Revenue by channel $4.8M TOTAL Direct 42% Partner 28% Online 19% Other 11% Top regions Auckland $1,800k Wellington $1,404k Christchurch $1,098k Hamilton $792k Dunedin $522k Model health Refresh 06:02 · 4m 18s Rows 2.4M fact · 18 dims Model size 412 MB Failed refreshes (30d) 0

Decision-first layout

The four numbers a GM is accountable for, above the fold, every time.

Consistent time intelligence

Year-to-date means the same thing on every page, because it is defined once.

Health in the open

Last refresh, row counts, failures. If the data is stale, the report says so.

Under the hood

The part nobody shows you

Dashboards get the applause. This is what decides whether yours is still fast and correct in two years.

Revenue Rolling 12M.dax DAX
// Rolling 12-month revenue that respects whatever
// filters the user has applied on the page.
Revenue Rolling 12M =
VAR LastVisibleDate =
    MAX ( 'Date'[Date] )
VAR Window =
    DATESINPERIOD ( 'Date'[Date], LastVisibleDate, -12, MONTH )
VAR Result =
    CALCULATE ( [Revenue], Window )
RETURN
    IF ( NOT ISBLANK ( [Revenue] ), Result )
Written against a date dimension rather than the fact table, so it keeps working when someone slices by fiscal period. The ISBLANK guard stops empty months drawing a line to zero.
FactOrder.pq Power Query M
// Incremental load that folds back to the source.
// RangeStart/RangeEnd let Fabric partition the table
// so a refresh touches days, not years.
let
    Source = Sql.Database ( ServerName, "Sales" ),
    Orders = Source{[Schema="dbo", Item="FactOrder"]}[Data],
    Filtered = Table.SelectRows (
        Orders,
        each [ModifiedUtc] >= RangeStart and [ModifiedUtc] < RangeEnd
    ),
    Typed = Table.TransformColumnTypes (
        Filtered,
        {{"OrderDate", type date}, {"NetAmount", Currency.Type}}
    )
in
    Typed
Query folding preserved all the way back to SQL Server — the filter runs on the database, not in Power Query. This is the difference between a four-hour refresh and a four-minute one.

Microsoft Fabric

Built once, properly, as a pattern

Fabric rewards a clean structure and punishes an improvised one — in both correctness and capacity cost. This is the shape we build to.

SOURCES SQL Server Xero / MYOB Dynamics 365 Files & APIs Data Factory pipelines · CDC ONELAKE one copy · open Delta format BRONZE Raw landing Ingested as-is. Nothing cleaned, nothing lost. SILVER Cleansed & conformed Deduplicated, typed, business keys resolved. GOLD Business-ready Star schema, aggregated, named for the business. Semantic model star schema DAX measures row-level security USED BY Power BI Excel Embedded Alerts ACROSS EVERY LAYER Lineage Access control Sensitivity labels Refresh monitoring Cost control

Services

How we can help

Report & dashboard build

From a blank canvas to something an executive actually opens on Monday morning. Built on a proper star schema so it stays fast as the data grows.

  • Requirements from the questions you need answered
  • Star schema + DAX measure layer
  • Mobile and print layouts
  • Row-level security where needed

Report rescue & tidy-up

Inherited something slow, wrong, or held together with hope. We find why, fix the model underneath, and leave the numbers reconciled.

  • Performance profiling with DAX Studio
  • Model and measure refactor
  • Reconciliation back to source
  • Before / after benchmark

Migrating old reports

SSRS, Tableau, Qlik, Cognos or a decade of Excel. We do not re-draw them one for one — we work out which ones anyone still reads, then rebuild those properly.

  • Usage audit before we migrate anything
  • Rationalise 200 reports down to the 30 that matter
  • Rebuild on one shared semantic model
  • Parallel run until the numbers agree

Microsoft Fabric setup

Lakehouse, pipelines, medallion structure and governance — built once, properly, as a pattern your team can extend without us.

  • OneLake + medallion architecture
  • Data Factory pipelines
  • Workspace and capacity design
  • Cost monitoring from day one

Semantic model design

The layer that decides whether self-service works or quietly produces wrong answers. Named the way your business actually speaks.

  • Star schema design
  • Calculation groups
  • Time intelligence done once, correctly
  • Field descriptions and synonyms

Health check & audit

A fixed-price week that tells you what you have, what it costs, what is broken and what to do about it. Yours to act on with or without us.

  • Tenant and workspace inventory
  • Model and refresh diagnostics
  • Licence and capacity review
  • Prioritised remediation plan

Training & enablement

Your team builds the next twenty reports, not us. Pitched at whoever is actually going to maintain this after we leave.

  • Author and analyst tracks
  • Your data, not demo data
  • Written standards and templates
  • Review sessions for early work

How we engage

Small, fixed, then bigger

You should never be asked to sign an open-ended hourly rate against a system nobody has looked at yet.

  1. 01

    Conversation

    Free. Half an hour on what you are trying to see and why you cannot see it. Often ends with us telling you it is smaller than you feared.

  2. 02

    Health check

    Fixed price, fixed scope, one week. You get a written assessment and a prioritised plan — yours whether or not you continue with us.

  3. 03

    Build

    Fixed price, scoped from what the health check found. Delivered in fortnightly increments you can see and react to, not one big reveal.

  4. 04

    Handover or care

    Documentation, standards and training so your team owns it. Or a monthly retainer if you would rather we kept the lights on.

We already move the data

Most BI consultancies start at the semantic model and hope the data arrives clean. Migration and lineage is our day job — we can fix the problem at source instead of writing DAX to work around it.

The model is the deliverable

Pretty dashboards are the easy half. We are judged on whether the numbers reconcile, the refresh stays under control and the next person can maintain it.

You can see the work

Every engagement produces artefacts you keep: a documented model, a lineage map, a benchmark, a runbook. No black boxes.

Not sure whether you need a rebuild or a tidy-up? Start with a conversation — it is free, and we will tell you honestly if the job is smaller than you think.

Book a Power BI consultation

Get moving

Talk Power BI with us

Tell us what you are trying to see, what you have now, and roughly when you need it. We will come back within one business day.

Coverage
Nationwide across New Zealand, remote-first delivery
Response time
We reply to every enquiry within one business day

We use your details only to respond to this enquiry. No lists, no spam.

Book a consultation