Skip to main content

Auto-exposures enterprise

As a data team, it’s critical that you have context into the downstream use cases and users of your data products. Auto-exposures integrate natively with Tableau (Power BI coming soon) and auto-generate downstream lineage in dbt Explorer for a richer experience.

Auto-exposures help users understand how their models are used in downstream analytics tools to inform investments and reduce incidents — ultimately building trust and confidence in data products. It imports and auto-generates exposures based on Tableau dashboards, with user-defined curation.

Supported plans

Auto-exposures is available on the dbt Cloud Enterprise plan. Currently, you can only connect to a single Tableau site on the same server.

Tableau Server

If you're using Tableau Server, you need to allowlist dbt Cloud's IP addresses for your dbt Cloud region.

For more information on how to set up auto-exposures, prerequisites, and more — refer to configure auto-exposures in Tableau and dbt Cloud.

View auto-exposures

After setting up auto-exposures in dbt Cloud, you can view them in dbt Explorer for a richer experience.

Navigate to dbt Explorer by clicking on the Explore link in the navigation. From the Overview page, you can view auto-exposures from a couple of places:

Exposures menu

View auto exposures from the Exposures menu item under Resources. This menu provides a comprehensive list of all the exposures so you can quickly access and manage them. The menu displays the following information:

  • Name: The name of the exposure.
  • Health: The data health signal of the exposure.
  • Type: The type of exposure, such as dashboard or notebook.
  • Owner: The owner of the exposure.
  • Owner email: The email address of the owner of the exposure.
  • Integration: The BI tool that the exposure is integrated with.
  • Exposure mode: The type of exposure defined: Auto or Manual. Exposures in dbt can be configured in two ways:
    • ManualDefined manually and explicitly in your project’s YAML files.
    • Auto — Pulled automatically from your BI tool as long as your BI tool integrates with dbt Cloud and you have access to auto-exposures.
    • dbt Cloud automatically creates auto exposures for users with access, removing the need for manual YAML definitions. These auto exposures are stored in dbt’s metadata system, appear in dbt Explorer, and behave like manual exposures, however they don’t exist in YAML files.
View from the dbt Explorer under the 'Resources' menu.View from the dbt Explorer under the 'Resources' menu.

File tree

Locate directly from within the File tree under the imported_from_tableau sub-folder. This view integrates exposures seamlessly with your project files, making it easy to find and reference them from your project's structure.

View from the dbt Explorer under the 'File tree' menu.View from the dbt Explorer under the 'File tree' menu.

Project lineage

From the Project lineage view, which visualizes the dependencies and relationships in your project. Exposures are represented with the Tableau icon, offering an intuitive way to see how they fit into your project's overall data flow.

View from the dbt Explorer in your Project lineage view, displayed with the Tableau icon.View from the dbt Explorer in your Project lineage view, displayed with the Tableau icon.
View from the dbt Explorer in your Project lineage view, displayed with the Tableau icon.View from the dbt Explorer in your Project lineage view, displayed with the Tableau icon.

Considerations

Auto-exposures with Tableau have the following considerations:

  • You can only connect to a single Tableau site on the same server.

  • If you're using Tableau Server, you need to allowlist dbt Cloud's IP addresses for your dbt Cloud region.

  • Tableau dashboards built using custom SQL queries aren't supported.

  • Auto-exposures sync automatically once per day or when a user updates the selected collections.

  •  The database fully qualified names (FQNs) in Tableau must match those in the dbt build.

    Tableau's database FQNs (fully qualified names) must match those in the dbt build. To view all expected dependencies in your exposure, the FQNs must match but aren't case-sensitive. For example:

    Tableau FQNdbt FQN
    Result
    analytics.dbt_data_team.my_modelanalytics.dbt_data_team.my_model✅ Matches and dependencies will display as expected.
    analytics.dbt_data_team.my_modelprod_analytics.dbt_data_team.my_model❌ Doesn't match and not all expected dependencies will display.

    To troubleshoot this:

    1. In dbt Cloud, download the manifest.json from the most recent production run that includes the missing dependencies by clicking on the Artifacts tab and scrolling to manifest.json.

    2. Run the following GraphiQl query. Make sure to run the query at your_tableau_server/metadata/graphiql, where your_tableau_server is the value you provided for the Server URL when setting up your Tableau integration:

          query {
      workbooks {
      name
      uri
      id
      luid
      projectLuid
      projectName
      upstreamTables {
      id
      name
      schema
      database {
      name
      connectionType
      }
      }
      }
      }
    3. Compare database FQNs between manifest.json and the GraphiQL response. Make sure that {database}.{schema}.{name} matches in both. The following images are examples of FQNs that match in both manifest.json and the GraphiQL response and aren't case-sensitive:

      manifest.json example with lowercase FQNs.manifest.json example with lowercase FQNs.
      GraphiQl response example with uppercase FQNs.GraphiQl response example with uppercase FQNs.
    4. If the FQNs don't match, update your Tableau FQNs to match the dbt FQNs.

    5. If you're still experiencing issues, please contact dbt Support and share the results with them.

0