---
title: "Tableau"
description: "Tableau is a data visualization and business intelligence platform, owned by Salesforce, known for interactive drag-and-drop dashboards built on its VizQL engine."
canonical: "https://motherduck.com/glossary/tableau/"
related:
  - title: "Tableau | MotherDuck Docs"
    url: "https://motherduck.com/docs/integrations/bi-tools/tableau/"
  - title: "DuckLake Architecture Deep Dive"
    url: "https://motherduck.com/blog/ducklake-architecture-deep-dive/"
  - title: "Tableau + MotherDuck Integration | DuckDB Analytics"
    url: "https://motherduck.com/ecosystem/tableau/"
---

# Tableau

> Tableau is a data visualization and business intelligence platform, owned by Salesforce, known for interactive drag-and-drop dashboards built on its VizQL engine.

## Overview

Tableau is one of the longest-established business intelligence tools, built around drag-and-drop visual analysis rather than writing code. Users connect to a data source, drag fields onto a canvas, and Tableau's VizQL engine translates that into queries and renders the result as an interactive chart. Salesforce acquired Tableau in 2019, and it's sold today as Tableau Desktop (authoring), Tableau Server/Cloud (publishing and sharing), and Tableau Public (free, for publicly shared visualizations).

<glossary-callout guide="guide-to-bi-in-the-agentic-era-full" />

## How it works

Tableau connects either **live** (querying the source database on every interaction) or via an **extract** (a compressed, columnar snapshot of the data stored in Tableau's own Hyper engine for faster, offline-capable analysis). Calculated fields, parameters, and level-of-detail (LOD) expressions let authors build custom metrics without leaving the visual interface, and dashboards can combine multiple worksheets with shared filters and actions for drill-down.

```
// A Tableau LOD calculated field example
{ FIXED [Customer ID] : SUM([Order Total]) }
```

## Tableau and DuckDB

Tableau supports DuckDB as a data source through a couple of routes: a generic JDBC connection using DuckDB's JDBC driver, or a purpose-built **Tableau Connector (Taco)** for DuckDB, which is tested against Tableau's dialect generator and handles DuckDB's SQL dialect more reliably than the generic JDBC/Postgres path. Both approaches work with MotherDuck as well, letting Tableau dashboards query DuckDB files or MotherDuck-hosted data directly. As with any JDBC-based connector, the driver files need to be installed in Tableau's driver directory, and Tableau Desktop or Server needs a restart after adding or updating them.