Analytics development, for Microsoft Power BI reports

One model,
every report agrees

We build and look after Microsoft Power BI reports, with semantic models many reports can share, refreshes that reload only what changes, and changes tried in a test workspace first, so the same question gets the same answer in every report.

Thanks, we’ll be in touch soon.

{{ heroStatus }}

You’re in good company

A few of the companies we’ve worked with.

When every report kept its own copy

Power BI reports often start one at a time. Each is pages of visuals built on a semantic model, which holds the tables, how they relate, and the measures: the calculations a report shows, such as sales after returns.

Years on, each report has its own copy of the data and its own version of the same measure, so two reports can show different numbers for the same month.

Some models reload every row each night, and some refreshes run long or stop. Reports are shared more widely than their rows should be, changes are made straight in the reports people use, and the workspaces still run on Premium per capacity, with the move to a Microsoft Fabric capacity ahead.

None of this means the reports were built wrong. They grew one at a time, without a shared model.

So the work begins with a look at what each report reads, and then goes one model at a time.

What we build

Models shaped for many reports, calculations written once, refreshes that finish and access set row by row, from the first source to the live workspace.

  • Shared semantic models

    Tables shaped as a star, one table of events and small tables for what they describe, so many reports can read one model.

  • Measures defined once

    Each calculation written in the model, named plainly and checked against totals people already trust.

  • Reports people read

    Pages built around the questions people ask, each visual chosen for the answer it shows.

  • Sources connected and shaped

    Your database, warehouse and files each read through its own connection, with the filtering left to the source where it can be.

  • Refreshes that finish

    Incremental refresh, schedules that fit each source, and a gateway for data kept on your own servers.

  • Row-level access

    Roles that show each person only their rows, tested for each role before anyone sees them.

  • Workspaces and releases

    Development, test and live workspaces, with reports and models kept in version control.

  • The capacity move, measured first

    Today’s use measured, each workspace moved off Premium per capacity before the subscription ends, and the old capacity closed.

  • Reports in your app or on your servers

    Reports shown inside your own app, or kept on your own servers with Power BI Report Server.

Reload what changed, keep the rest

A model with years of rows doesn’t need to reload them all. With incremental refresh it keeps two periods: the refresh period, the rows reloaded with every refresh, and the store period, how far back it keeps rows at all. Rows that leave the refresh period stay as they were loaded, and rows older than the store period leave the model as the window moves on.

We choose the two from how your business uses the data: the refresh period from how late a sale can still change, the store period from how many years your reports compare.

Move either end of the range to see what each refresh reloads and what the model keeps.

Sales, by month

An example

Each square is a month before the refresh date, which falls at the start of a year, the newest at the left.

  1. {{ m.label }}

Refresh

Keep

{{ rfL1 }}

{{ rfL2 }}

Older months leave the model as the window moves.

Each refresh asks your database only for those months, when the date filter can be passed back to it. When it can’t, every row is fetched and filtered afterward.

{{ rfSaid }}

Changes tried in a test workspace first

The Power BI service changes every month, so models and reports are changed in a development workspace, tried in a test workspace, and only then carried to the live one.

Power BI Report Server gets a release three times a year, each supported for up to a year. A server is moved release by release, with the version of the desktop app made for it.

Microsoft is retiring Premium per capacity, so workspaces on it move to a Fabric capacity: today’s use measured first, then each workspace reassigned before the old subscription ends, then the old capacity closed.

A team still on Premium per capacity gets a next step: the path to a Fabric capacity, written down, with today’s use measured first.

Start with the report people check first

The review covers the workspaces and who can see what, which models are shared and which reports keep their own copy, the measures that disagree, the refresh schedules and the refreshes that run long or stop, row-level access, the gateway, the capacity, and which reports people actually open.

The first changes come in the order we’d make them, with the path to a Fabric capacity where the workspaces are still on Premium per capacity.

What you receive is a written review and a proposal for that first step.

  1. Do our workspaces have to move to a new capacity?

    Only if they run on Premium per capacity, which Microsoft is retiring: they move to a Fabric capacity before the subscription ends, with today’s use measured first. Pro and Premium Per User licenses carry on as they are.

  2. Why do two reports show different numbers?

    Usually each has its own copy of the data and its own version of the measure. One shared model, with the measure defined once and both reports reading it, gives one answer.

  3. Does row-level access apply to everyone in the workspace?

    No. It applies to the people who view the reports, through roles that filter the rows for each person, each role tested before anyone sees it. People who can edit the workspace see every row, so who edits is chosen with care.

  4. Can our reports stay on our own servers?

    Yes, on Power BI Report Server, with a release three times a year and its own version of the desktop app. It covers fewer features than the service, and we’ll say which ones matter for your reports.

  5. What does it cost to work with you?

    It depends on the reports and models you run and the first step you choose. Before any work starts, you get a written proposal with the scope, the price or rate, and how you pay.

  6. Can we hire developers for our own team?

    Yes. Tell us what you need, and within 48 hours we’ll introduce developers for Power BI reports matched to your work, working in your time zone, and you choose who joins.

Microsoft and Power BI are trademarks of the Microsoft group of companies, and the other Microsoft product names on this page, such as Microsoft Fabric, may be too. Webair is independent of Microsoft, and isn’t sponsored by, endorsed by or affiliated with it.

Let’s build it better

Tell us which report people check first and where its numbers disagree, and we’ll suggest where to begin, in a short call.

Thanks, we’ll be in touch soon.

{{ ctaStatus }}