Tableau

Tree Schema can access your Tableau Site to extract the sheets that are used to create Dashboards, the data sources that Tableau is connected to as well as the fields available to Tableau in those data stores, and also automatically generate data lineage between the sheets and data stores that exist within Tableau.

In order for Tree Schema to extract your metadata from Tableau you must meet all of the Tableau Metadata GraphQL requirements, as defined by Tableau. In summary, those requirements are:

  • Tableau Server 2019.3 or later.

  • Tableau REST API must not be disabled.

  • The Metadata API must be enabled.

  • The Metadata API must be accessed via an access token.

Connecting to Tableau

The following fields are required for Tableau:

  • Server Version

  • Server Endpoint

  • Token Name

  • Token Value

You can optionally choose to also use the site name when connecting to your Tableau server. Tree Schema uses the Tableau Server Client to connect to your Tableau instance and you should be able to recreate the connecting by following the Tableau documentation.

For details on how to create a user token please refer to the Tableau Documentation.

../../_images/tableau_connection.png

Note

Tableau connects directly to the endpoint provided via HTTPS and is not eligible to connect through a jump server.

Automated Schema Extraction

Tree Schema will automatically extract the following items from your Tableau site:

  • All data sources that your Tableau site is connected to and database tables that exist within each data source.

  • All workbooks and their corresponding sheets

To ensure uniqueness within Tree Schema, database tables are given the following naming convention in Tree Schema:

{Database Name} :: {Table Name}

And sheets are named using the convention:

{Project Name}.{Workbook Name} || {Sheet Name}

Examples of this are:

../../_images/tableau_name_examples.png

Starting the Data Lineage Extraction

To trigger the automated data lineage extraction from Tableau navigate to your Tableau Data store and select the Lineage Tab. Here you will have the option to trigger the lineage extraction.

Note

Make sure that you have already captured all of your fields and schemas from Tableau before you extract the data lineage. Tree Schema will only create data lineage for the data assets that it knows about!

../../_images/lineage_extraction_btn.png

This will display a prompt that contains some details about how the data lineage is captured, select Start Lineage Capture to begin the extraction. You may trigger this process up to once every 24 hours.

../../_images/tableau_lineage_extraction.png

Tablea Data Lineage Overview

When extracting data lineage from Tableau, Tree Schema will connect the fields used your sheets back to the original columns that are used as sources for the data in your data store. This applies whether your source data store is a database, an Excel file, a CSV file, or any other data format that Tableau supports.

When capturing the data lineage Tree Schema does not include any intermediary fields, sets or other static value that is not derived from the database unless they are included in the sheet. The values in the sheets are mapped directly to the upstream database columns where the data comes from, even if that data goes through several calculated fields.

../../_images/tableau_lineage.png

Tree Schema does not depict groupings of dashboards to sheets. This is because the sheet is the source of truth for where the data lineage flow ends, although a single sheet may be used in multiple dashboards the sheet will only have one data lineage.

Tableau Tips

Tree Schema requires that all schema names within a data store be unique. Because Tableau is one data store within Tree Schema and Tree Schema extracts metadata from all of the data sources that are connected to Tableau it is possible to create duplicate database in Tableau that share the same name and the same set of tables. If you have this setup in Tableau it will cause duplicate schemas within Tree Schema. Should this happen, Tree Schema will only create one schema with the unique name but the fields within the schemas will be merged.

Where possible, please try to make sure all databases have unique names. You can check this within Tablea by going to External assets and reviewing the database names, as seen below:

../../_images/tableau_external_assets.png