Dashboard development, built on the Tableau platform

Quick to open,
true to the source

We build and look after dashboards built on the Tableau platform, with data sources that keep each table at its own level, extracts and filters set so dashboards open quickly, and every upgrade tried on a copy first, so the numbers on screen match the source.

Thanks, we’ll be in touch soon.

{{ heroStatus }}

You’re in good company

A few of the companies we’ve worked with.

When each workbook joined the tables its own way

Tableau dashboards often start one workbook at a time. A workbook holds sheets and dashboards, and each reads a data source: the connection to your data, read live or kept as an extract, a copy refreshed on a schedule.

Years on, each workbook carries a data source of its own, its tables joined its own way. A join merges tables into one, and where they hold different levels of detail, such as orders and their lines, an order’s values repeat on each of its lines, so a total can grow when a table is added.

Extract refreshes start at the same hour and some run long, a few dashboards take a while to open, and the server sits on a version past its maintenance window, or on licenses bought outright whose support has ended.

None of this means the dashboards were built wrong. They grew one workbook at a time, without shared data sources.

The way forward starts with what each dashboard actually reads, then moves one data source at a time.

What we build

Data sources many workbooks share, calculations at the right level, dashboards that open quickly and servers kept current, from the first data source to the dashboards people open.

  • Shared data sources

    One published data source for each subject, its tables related so each keeps its own level, and marked as the one to use.

  • Calculations at the right level

    Each calculation written once, in the shared data source, with level of detail expressions where a number is worked out at its own level, such as per customer, whatever the view shows.

  • Dashboards people read

    Each dashboard built around the questions people ask, with filters and actions, so a choice in one chart carries to the rest.

  • Extracts and live connections

    Extracts where speed matters and live connections where freshness does, refreshed incrementally with a full refresh now and then, on schedules spread across the quiet hours.

  • Dashboards that open quickly

    Each slow dashboard recorded as it opens, then the longest step fixed first, in the data source, a calculation or the layout.

  • Row-level access

    Each person shown only their rows, from user filters, an entitlement table or a data policy, and checked for each role before anyone relies on it.

  • Permissions that stay tidy

    Projects and groups with permissions locked to the project, so access follows the project rather than each workbook.

  • Server upgrades and the move to the cloud

    Tableau Server deployments kept within their maintenance window, each upgrade tried on a copy first, or users, content and permissions moved to a Tableau Cloud site with the migration tools made for it.

  • Dashboards in your own app

    Dashboards embedded for your customers or staff, each person signed in through your app and shown only their own data.

Each number counted at its own level

Joined into one table, tables at different levels, such as orders and their lines, repeat each order’s values on every one of its lines, so a sum counts them once per line. A related data source keeps the tables apart, each at its own level of detail, and the joins are chosen from the fields each view uses, so each value is totaled at its own table’s level and adding a table doesn’t repeat the values already there.

A join is still the right choice where the repeated rows, or the way a join filters one table by the other, are what’s wanted. We choose for each pair of tables, and write down which and why.

Open each order to see which rows hold its shipping in each data source.

Orders and their lines

An example

Each parcel is one order’s shipping charge.

Each column shows the rows that hold shipping in that data source and what its total counts, not what a dashboard displays.

Order or lineJoined into one tableRelated, each table at its level
First orderTwo linesTwo parcels, one on each of its linesOne parcel, on the order
LampOne parcel: the order’s shipping, repeated on this lineNone: the lines table holds no shipping
ShadeOne parcel: the order’s shipping, repeated on this lineNone: the lines table holds no shipping
Second orderThree linesThree parcels, one on each of its linesOne parcel, on the order
LampOne parcel: the order’s shipping, repeated on this lineNone: the lines table holds no shipping
ShadeOne parcel: the order’s shipping, repeated on this lineNone: the lines table holds no shipping
BulbOne parcel: the order’s shipping, repeated on this lineNone: the lines table holds no shipping
Third orderOne lineOne parcel, on its one lineOne parcel, on the order
BulbOne parcel: the order’s shipping, repeated on this lineNone: the lines table holds no shipping
TotalSix parcels: each order’s shipping, once for each of its linesThree parcels: each order’s shipping, once

{{ dtLine }}

{{ dtSaid }}

Every upgrade tried on a copy first

Each Tableau Server version gets 24 months of maintenance and full support from its release, then limited support, so a deployment on your own servers is upgraded at least once every 24 months.

The desktop app publishes only to a server on its own version or a newer one, so the server is upgraded first and the desktop apps follow.

Each upgrade is tried first on a copy of the deployment, with its workbooks, extracts and schedules, and checked against the dashboards people open most. Only then does the live server move.

A move to a Tableau Cloud site goes the same way: a few projects first, checked, then the rest, with anything that doesn’t carry over as it was listed and set up again.

A deployment past its maintenance window gets a next step: the path to a supported version, or to a Tableau Cloud site, written down in the order we’d take it.

Start with one data source and the dashboards on it

The review covers the server’s version and its support window, or the Tableau Cloud site; the data sources, and which workbooks carry one of their own; joins that repeat values; extract schedules, and the refreshes that run long or stop; the slowest dashboards; permissions and row-level access; and which dashboards people actually open.

The first changes come in the order we’d make them, with the path to a supported version, or to a Tableau Cloud site, written down.

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

  1. Why does a total change when we add a table?

    Usually because the tables are joined. A join merges them into one table, and where they sit at different levels, such as orders and their lines, values from the higher level repeat on every row of the lower one, so a sum counts them more than once. Related instead, each table keeps its own level, and each value is counted once.

  2. Should the data be copied in, or read live?

    Either can be right. An extract is a copy kept for the dashboards and refreshed on a schedule, which usually makes them quicker to open. A live connection reads from your database as people use the dashboards, so it shows the data as it is, at your database’s speed. We choose for each data source from how fresh its numbers need to be and how quickly its dashboards need to open.

  3. What changes if we move to the cloud version?

    On your own servers, your team installs, upgrades and looks after Tableau Server deployments, within each version’s support window. On a Tableau Cloud site, Salesforce runs the servers and keeps the software current, and your team looks after the content, the users and their permissions. A move is planned around what doesn’t carry over as it was, such as saved sign-ins to your data. Not every deployment needs to move, and we’ll say which fits from what your team wants to run itself.

  4. We bought our licenses outright. What changes?

    Licenses bought outright, perpetual licenses, were retired, and their support can’t be renewed. They can still be used, and upgraded to any version released before their support ends. After that, they run in a deployment of their own, apart from any subscription licenses, without upgrades or technical support, and support from then on needs a subscription. Your own agreement sets the exact terms.

  5. What does it cost to work with you?

    It depends on the dashboards and data sources 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 Tableau dashboards matched to your work, working in your time zone, and you choose who joins.

Salesforce, Tableau, Tableau Cloud and Tableau Server are trademarks of Salesforce, Inc., and the other Salesforce product names on this page may be too. Webair is independent of Salesforce, Inc., and isn’t sponsored by, endorsed by or affiliated with it.

Let’s build it better

Tell us which dashboard people open first and which of its totals they question, and we’ll suggest where to begin, in a short call.

Thanks, we’ll be in touch soon.

{{ ctaStatus }}