Tableau Course
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.
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.
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.
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.
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.
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.
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
Switching an Existing Connection to Extract
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.
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.
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.
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.
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
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.
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.
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.
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.
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.