Tableau Lesson 56 – Live Dashboard | Dataplexa
Section IV — Lesson 56

Live Dashboard Connections

A dashboard is only as useful as its data is fresh. This lesson covers how to connect Tableau to live data sources, when to use live connections versus extracts, how to schedule automatic extract refreshes, and how to keep published dashboards up to date without manual intervention.

Live Connection vs Extract — the Core Decision

Every Tableau data source operates in one of two modes. Choosing the right one depends on how fresh your data needs to be, how large the dataset is, and whether the source database can handle query load from many dashboard viewers.

Factor Live Connection Extract (.hyper)
Data freshness Always current — queries run at view time Snapshot — refreshed on a schedule
Query speed Depends on database performance Fast — Hyper engine is highly optimised
Database load Every user interaction hits the DB DB only queried during refresh window
Offline access Not available if DB is unreachable Always accessible — data is local
Best for Real-time ops dashboards, small datasets Large datasets, scheduled reporting, BI
Typical use case Support ticket queue, live stock levels Daily sales reports, monthly finance

Supported Live Connection Types

Tableau Desktop connects natively to over 90 data sources. The most commonly used live connection types in business analytics are shown below with their typical use and key setup notes.

PostgreSQL / MySQL / SQL Server

The most common source for live connections. Connect via Connect → To a Server → select driver. Requires host, port, database name, and credentials. Use a service account rather than a personal login so the connection survives password changes.

Google BigQuery

Authenticate via Google OAuth. BigQuery charges per query byte scanned — live connections can accumulate significant cost if many users are refreshing frequently. Use an extract for high-traffic dashboards and schedule a nightly refresh instead.

Snowflake

Enter account name (e.g. xy12345.us-east-1), warehouse, database, and schema. Snowflake auto-suspends idle compute — a live connection that sits idle for 10 minutes will trigger a resume delay on the next query. Use a dedicated warehouse for Tableau to avoid contention.

Salesforce

Authenticate via Salesforce login. Tableau queries Salesforce objects (Accounts, Opportunities, Cases) directly. Salesforce API rate limits apply — for dashboards with many concurrent users, use an extract to avoid hitting the daily API call ceiling.

Google Sheets

Authenticate via Google OAuth. The sheet updates live when the source spreadsheet is edited. Ideal for small team-managed reference tables (e.g. targets, territory mappings). Performance degrades above ~50,000 rows — switch to BigQuery or a database for larger data.

REST API / Web Data Connector

Tableau's Web Data Connector (WDC) framework allows connection to any REST API that returns JSON or XML. Requires a developer to build the connector once. After that, analysts use it like any native connector. Tableau Cloud supports hosted WDCs natively.

Setting Up a Live Connection in Tableau Desktop

1
Open Tableau Desktop → Connect pane → To a Server → select your connector (e.g. PostgreSQL). Enter the server hostname or IP, port (default 5432 for Postgres), database name, username and password.
2
On the Data Source canvas, drag tables or write a custom SQL query: click New Custom SQL at the bottom of the left panel. Custom SQL lets you pre-filter, join, and aggregate data before it reaches Tableau — reducing the volume sent to the viz engine.
3
Check the connection mode indicator at the top of the Data Source tab — it shows either Live or Extract with a toggle. Live is the default for server connections. Click Extract to switch — Tableau will prompt you to save a .hyper file.
4
If staying on Live: set a data source filter immediately — drag fields to the Filters shelf on the Data Source canvas. Filtering at source reduces query load for every sheet that uses this connection.
Live connection setup — annotated interface
Connections PostgreSQL — prod-db Database analytics_db Tables sales_transactions customers products New Custom SQL... Live Extract 1 Toggle: Live or Extract sales_transactions order_id VARCHAR order_date DATE revenue DECIMAL 2 Drag tables here or use Custom SQL Data Source Filters: order_date ≥ 2024-01-01 3 Data source filters reduce query load

Switching an Existing Connection to Extract

1
In Tableau Desktop: Data menu → select your data source → Extract Data. In the Extract Data dialog, choose whether to extract All Rows or set row, column, or aggregation filters to reduce the extract size.
2
In the same dialog: Incremental Refresh — set this when the source table grows by appending new rows (e.g. daily transactions). Tableau adds only new rows since the last refresh rather than rebuilding the full extract. Choose the field to identify new rows — typically a date or auto-increment ID column.
3
Save the workbook. The .hyper file is embedded in the .twbx package or sits alongside the .twb file. The connection indicator on the Data Source tab now shows Extract with the timestamp of the last refresh.

Scheduling Extract Refreshes on Tableau Cloud

Once a workbook is published to Tableau Cloud (formerly Tableau Online), refreshes can be automated on a schedule — no manual intervention needed. The published data source must retain its connection credentials.

1
Publish the workbook: Server → Publish Workbook. In the publish dialog, under Data Sources, set the authentication to Embedded Password — this stores the DB credentials with the published source so automated refreshes can connect without a user being present.
2
On Tableau Cloud: navigate to the published data source → Extract Refreshes tab → New Extract Refresh. Set the schedule: frequency (hourly / daily / weekly), time of day, and timezone. Daily at 6 AM is the most common setting for business reporting dashboards.
3
Set up refresh failure alerts: go to the data source → Subscriptions → Alert on Extract Refresh Failure → add the data owner's email. This ensures someone is notified if the database is unreachable or the credentials expire, rather than the dashboard silently serving stale data.
4
To trigger a manual refresh at any time: navigate to the data source on Tableau Cloud → Extract Refreshes tab → Run Now. Useful after a data migration or when the scheduled refresh needs to be brought forward.
Extract refresh schedule — Tableau Cloud interface
Data Source: sales_transactions — Extract Refreshes + New Schedule Schedule Frequency Next Run Last Status Actions Morning Daily Refresh Daily at 06:00 UTC Tomorrow 06:00 ✓ Success Run Now Hourly — Business Hours Every 1hr, 08:00–18:00 Today 15:00 ✓ Success Run Now Weekend Full Refresh Saturdays at 02:00 UTC Next Sat 02:00 ✗ Failed Run Now ⚠ Alert: Weekend Full Refresh failed — credentials may have expired. Notification sent to data-owner@company.com Last successful run: Sat 02:00 (prev week) — data is 7 days old. Check connection settings.

Tableau Bridge — Refreshing On-Premise Data from the Cloud

When the database lives behind a corporate firewall and Tableau Cloud cannot reach it directly, Tableau Bridge solves the problem. Bridge is a lightweight agent installed on a machine inside the network that proxies the connection between Tableau Cloud and the internal database.

① Install Bridge

Download Tableau Bridge from the Tableau Cloud admin panel. Install on a Windows machine inside the network that has database access. Sign in with Tableau Cloud credentials.

② Link the Data Source

In Tableau Cloud, navigate to the data source → Edit Connection → select Use Tableau Bridge. Bridge appears as an available agent if it is running and authenticated.

③ Schedule or Go Live

Bridge supports both scheduled extract refreshes and live connections through the firewall. For live connections, the Bridge machine must stay running — treat it as always-on infrastructure.

Showing Data Freshness on the Dashboard

Dashboard viewers should never have to guess how old the data is. A clear freshness indicator prevents misleading decisions based on stale data. Two approaches work well in Tableau.

Method How to Implement Best for
Extract timestamp Add a text object to the dashboard. Type "Data as of: " then insert the built-in Data Updated At dynamic value — right-click the text object → Insert → Data Updated At. All extract-based dashboards
MAX date from data Create a calculated field: MAX([Order Date]). Place it on a sheet as a single number. Drop that sheet as a floating text box in the dashboard corner. This shows the latest date in the actual data — more meaningful than the refresh time. Live connections and date-partitioned data

Common Live Connection Problems and Fixes

Problem: Dashboard loads slowly for every user

Cause: Live connection — every filter interaction fires a new DB query. Fix: Switch to an extract with a refresh schedule appropriate to data volatility. For a daily sales report, a nightly refresh is sufficient and eliminates all per-interaction query latency.

Problem: Extract refresh fails with "invalid credentials"

Cause: The database password in the embedded credentials has changed. Fix: On Tableau Cloud, navigate to the data source → Edit Connection → re-enter the credentials → Save. Re-enable embedded password. Future-proof: use a dedicated service account with a non-expiring password.

Problem: Live connection works in Desktop but fails on Tableau Cloud

Cause: The database is on-premise behind a firewall and Tableau Cloud cannot reach it. Fix: Install Tableau Bridge on a machine inside the network and link the data source to use Bridge as the connection agent.

Problem: Incremental refresh is adding duplicate rows

Cause: The incremental key field (e.g. order_date) has rows with the same date being updated after ingestion — Tableau appends them again on the next refresh. Fix: Switch to full refresh for this source, or use a true auto-increment integer ID as the incremental key rather than a date.

📌 Teacher's Note

The single most common live connection mistake is using a personal login as the embedded credential. When the person leaves the company or changes their password, every dashboard that uses that credential stops refreshing — silently serving stale data to the whole organisation. Always set up a dedicated service account for Tableau with a stable, non-expiring password and appropriate read-only permissions on the tables it needs. This is a two-minute conversation with your database administrator and it prevents the most common class of "why is my dashboard broken" support ticket.

Practice Questions

1. A colleague asks when they should choose a live connection versus an extract for a new sales dashboard. How do you explain the trade-off and which would you recommend for a daily sales report updated each morning?

2. A company's database sits behind a corporate firewall and cannot be reached from the internet. Their dashboards are hosted on Tableau Cloud. How does Tableau Bridge solve this problem?

3. A dashboard viewer complains they cannot tell whether the data is from today or last week. How do you add a data freshness indicator to a Tableau dashboard?

Quiz

1. The Extract Data dialog offers Full Refresh and Incremental Refresh. When is incremental refresh the better choice, and what field does Tableau need to make it work?


2. A scheduled extract refresh on Tableau Cloud fails with an authentication error every time. What setting during the publish step prevents this from happening?


3. A team connects Tableau directly to Google BigQuery in live mode for a high-traffic dashboard. Their BigQuery bill triples the following month. What caused this and how should the connection be changed?


Next up — Lesson 57: Advanced Geospatial Analysis — custom territories, spatial files, distance calculations, and building multi-layer maps with filled regions and point overlays.