Area: Ingestion
Sub-Area: BI Tools
Issue
Tableau workbooks, sheets, and data sources are not appearing in DataHub after ingestion, or the lineage to underlying database tables is missing. This commonly occurs due to Tableau Server API authentication issues, incorrect site configuration, or when using Tableau extracts instead of live connections.
Common Error Messages:
401 Unauthorized: Invalid Tableau credentials403 Forbidden: Insufficient permissions on Tableau ServerSite not foundFailed to sign in to Tableau Server
You Might Be Asking:
- How do I connect DataHub to Tableau Server or Tableau Cloud?
- Why can't DataHub see my Tableau workbooks?
- How does lineage work for Tableau extracts vs. live connections?
Solution
- Configure Tableau source with proper authentication:
Example for Tableau Server. This can be adapted for other BI tools.
source:
type: tableau
config:
# For Tableau Server
connect_uri: "https://tableau.company.com"
username: "${TABLEAU_USER}"
password: "${TABLEAU_PASSWORD}"
site: "your_site_name" # Leave empty for default site
# Or use Personal Access Token (recommended)
token_name: "${TABLEAU_TOKEN_NAME}"
token_value: "${TABLEAU_TOKEN_VALUE}"
# Enable lineage extraction
extract_lineage: true
extract_usage_stats: true
extract_owners: true
- For Tableau Cloud (Online):
Example for Tableau Cloud. This can be adapted for other BI tools.
source:
type: tableau
config:
connect_uri: "https://prod-useast-b.online.tableau.com"
site: "your_site_name" # Required for Tableau Cloud
token_name: "${TABLEAU_TOKEN_NAME}"
token_value: "${TABLEAU_TOKEN_VALUE}"
Grant necessary Tableau permissions:
- Site Admin role (or Explorer with appropriate permissions)
- Can view all projects and workbooks
- Access to Metadata API (Tableau Server 2019.3+)
For lineage with database tables, ensure platform mapping:
Example for Tableau with various data sources. This can be adapted for other BI tools.
source:
config:
# Map Tableau connection names to DataHub platforms
database_connection_platform_map:
"Production Snowflake": "snowflake"
"BigQuery Analytics": "bigquery"
"Postgres DB": "postgres"
# Map to platform instances if needed
platform_instance_map:
"Production Snowflake": "prod_snowflake"
- Additional Configuration Options:
For Tableau, use emit_all_embedded_datasources: true or emit_all_published_datasources: true in your Tableau ingestion config when you want to ingest all embedded or published data sources, even those not connected to any workbook. By default, these are set to false, so only data sources linked to ingested workbooks are included.
Enable these options (set them to "true") if you need full visibility of all Tableau data sources for discoverability or governance, regardless of workbook association. Otherwise, leave them as false to limit ingestion to only those in use by workbooks.
- Handle Tableau extracts (.hyper files):
Example for Tableau. This can be adapted for other BI tools.
source:
config:
# Extracts won't have direct lineage to live tables
# Document extraction source in custom properties
extract_lineage: true
# Consider extracting upstream from published data sources
Additional Notes
Tableau lineage works best with live connections and published data sources. For Tableau extracts, lineage to original tables may not be available unless the extract is refreshed from a known live connection.
Related Documentation
Tags:
tableau, bi-tools, workbooks, dashboards, lineage, tableau-server, tableau-cloud, extracts, authentication