> For the complete documentation index, see [llms.txt](https://docs.euno.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.euno.ai/sources/business-intelligence/tableau-integration/tableau-integration-discovered-resources.md).

# Tableau Integration Discovered Resources

## Overview

The Tableau integration discovers the content of a Tableau site, the fields of its data sources, Tableau Prep flows, Tableau Pulse metrics, and the warehouse tables and columns that Tableau content reads from. It discovers the following resources:

* Tableau site (`tableau_site`)
* Tableau project (`tableau_project`)
* Tableau workbook (`tableau_workbook`)
* Tableau view (`tableau_view`)
* Tableau dashboard (`tableau_dashboard`)
* Tableau published data source (`tableau_published_datasource`)
* Tableau embedded data source (`tableau_embedded_datasource`)
* Tableau custom SQL (`tableau_custom_sql`)
* Tableau field (`tableau_field`) — dimensions and measures, distinguished by `semantic_role`
* Tableau Prep flow (`tableau_flow`)
* Tableau Pulse metric definition (`tableau_metric_definition`)
* Tableau Pulse metric (`tableau_metric`)
* Database (`database`), schema (`database_schema`), table (`table`), and column (`column`) referenced by Tableau content
* User (`user`)

Tableau content URIs start with `tableau.<site_id>.`, where `<site_id>` is the Tableau site ID. The site itself uses `platform.tableau.<site_id>`. Every URI is lower-cased, and characters other than letters, digits, `-`, `_`, and `.` are replaced with `_`.

## Resource hierarchy

```
Tableau site
└── Project (can be nested)
    ├── Workbook
    │   ├── View
    │   ├── Dashboard
    │   └── Embedded data source
    │       ├── Custom SQL
    │       │   └── Field
    │       └── Field
    └── Published data source
        ├── Custom SQL
        │   └── Field
        └── Field

Database
└── Schema
    └── Table
        └── Column
```

## Tableau site (`tableau_site`)

The top-level Tableau site on Tableau Server or Tableau Cloud.

| Property    | Type   | Description                                                                         |
| ----------- | ------ | ----------------------------------------------------------------------------------- |
| `name`      | string | The site name from the source configuration (`tableau` when no site is configured). |
| `type`      | string | Always `tableau_site`                                                               |
| `native_id` | string | The Tableau site ID.                                                                |

**URI pattern**

```
platform.tableau.<site_id>
```

Example: `platform.tableau.4541b1e5-b16c-4f92-b933-723b5fddefba`

## Tableau project (`tableau_project`)

A Tableau project, the folder that organizes workbooks and published data sources.

| Property      | Type      | Description                                       |
| ------------- | --------- | ------------------------------------------------- |
| `name`        | string    | The name of the project.                          |
| `type`        | string    | Always `tableau_project`                          |
| `description` | string    | The description of the project from Tableau.      |
| `native_id`   | string    | The ID of the project in Tableau's API.           |
| `created_at`  | timestamp | The date the project was created in Tableau.      |
| `updated_at`  | timestamp | The date the project was last updated in Tableau. |

**URI pattern**

```
tableau.<site_id>.project.<project_id>
```

Example: `tableau.4541b1e5-b16c-4f92-b933-723b5fddefba.project.1f3a5c7e-9b2d-4e6f-8a0c-2e4f6a8b0c1d`

## Tableau workbook (`tableau_workbook`)

A Tableau workbook, which contains views, dashboards, and embedded data sources.

| Property                                           | Type   | Description                                                                                                                           |
| -------------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------- |
| `name`                                             | string | The name of the workbook.                                                                                                             |
| `type`                                             | string | Always `tableau_workbook`                                                                                                             |
| `native_owners`                                    | list   | The owner of the workbook in Tableau.                                                                                                 |
| `owner`                                            | string | Derived. The first entry of `native_owners`.                                                                                          |
| `tableau_project`                                  | string | Derived. The Tableau project the workbook is directly found in.                                                                       |
| `tableau_luid`                                     | string | The Tableau LUID (Locally Unique Identifier).                                                                                         |
| `tableau_extract_refresh_frequency`                | string | The scheduled refresh frequency when there are extracts (\*see [Known limitations](#known-limitations) regarding suspended extracts). |
| `total_impressions_14d` / `_30d` / `_60d`          | number | The number of impressions over the last 14/30/60 days, from Tableau impression data.                                                  |
| `distinct_impressions_users_14d` / `_30d` / `_60d` | number | The number of distinct users who triggered impressions over the last 14/30/60 days.                                                   |
| `external_links`                                   | list   | Link to open the workbook in Tableau.                                                                                                 |

**URI pattern**

```
tableau.<site_id>.workbook.<workbook_id>
```

Example: `tableau.4541b1e5-b16c-4f92-b933-723b5fddefba.workbook.6d8f0a2c-4e6b-4a8d-9c1e-3f5a7b9c1d2e`

## Tableau view (`tableau_view`)

A Tableau view (sheet), a single visualization within a workbook.

| Property                                           | Type      | Description                                                                                                                                                                                                                                                                                                                                                                                                         |
| -------------------------------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`                                             | string    | The name of the view in Tableau.                                                                                                                                                                                                                                                                                                                                                                                    |
| `type`                                             | string    | Always `tableau_view`                                                                                                                                                                                                                                                                                                                                                                                               |
| `description`                                      | string    | Stores the description of the view from Tableau.                                                                                                                                                                                                                                                                                                                                                                    |
| `native_owners`                                    | list      | The owner of the view in Tableau.                                                                                                                                                                                                                                                                                                                                                                                   |
| `owner`                                            | string    | Derived. The email of the user designated as the owner of the view.                                                                                                                                                                                                                                                                                                                                                 |
| `created_at` / `updated_at`                        | timestamp | When the view was created and last modified in Tableau.                                                                                                                                                                                                                                                                                                                                                             |
| `tableau_project`                                  | string    | Derived. The Tableau project the view is directly found in.                                                                                                                                                                                                                                                                                                                                                         |
| `tableau_workbook`                                 | string    | The name of the Tableau workbook the view is found within.                                                                                                                                                                                                                                                                                                                                                          |
| `tableau_luid`                                     | string    | The Tableau LUID (Locally Unique Identifier).                                                                                                                                                                                                                                                                                                                                                                       |
| `tableau_hidden_sheet`                             | boolean   | Derived. Whether the sheet is hidden.                                                                                                                                                                                                                                                                                                                                                                               |
| `total_queries_14d` / `_30d` / `_60d`              | number    | The total number of queries over the last 14/30/60 days. Only available for LIVE data sources.                                                                                                                                                                                                                                                                                                                      |
| `distinct_users_14d` / `_30d` / `_60d`             | number    | <p>The number of distinct users who triggered queries over the last 14/30/60 days. Only available for LIVE data sources.<br><br><strong>Note</strong>: Unlike the distinct-users property available in BI tools (see impressions) with native usage tracking, this distinct-user count from the warehouse <strong>does not</strong> provide a user breakdown.</p>                                                   |
| `total_impressions_14d` / `_30d` / `_60d`          | number    | The number of impressions over the last 14/30/60 days. Available for both LIVE and EXTRACTED data sources.                                                                                                                                                                                                                                                                                                          |
| `distinct_impressions_users_14d` / `_30d` / `_60d` | number    | <p>The number of distinct users who triggered impressions over the last 14/30/60 days. Available for both LIVE and EXTRACTED data sources.<br><br><strong>Note</strong>: The distinct user count <strong>does</strong> support a user-level breakdown, which you can access via the Euno Assistant or from the resource side panel. However, this breakdown is <strong>not</strong> available via an EQL query.</p> |
| `external_links`                                   | list      | Link to open the view in Tableau.                                                                                                                                                                                                                                                                                                                                                                                   |

**URI pattern**

```
tableau.<site_id>.view.<view_id>
```

Example: `tableau.4541b1e5-b16c-4f92-b933-723b5fddefba.view.8b0d2f4a-6c8e-4a0b-9d2f-4a6c8e0b2d3f`

## Tableau dashboard (`tableau_dashboard`)

A Tableau dashboard that presents multiple views on a single screen.

| Property                                           | Type      | Description                                                                                                                                                                                                                                                                                                                                                                                                         |
| -------------------------------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`                                             | string    | The name of the dashboard in Tableau.                                                                                                                                                                                                                                                                                                                                                                               |
| `type`                                             | string    | Always `tableau_dashboard`                                                                                                                                                                                                                                                                                                                                                                                          |
| `subtype`                                          | string    | Always `tableau_dashboard`                                                                                                                                                                                                                                                                                                                                                                                          |
| `description`                                      | string    | Stores the description of the dashboard from Tableau.                                                                                                                                                                                                                                                                                                                                                               |
| `native_owners`                                    | list      | The owner of the parent workbook.                                                                                                                                                                                                                                                                                                                                                                                   |
| `owner`                                            | string    | Derived. The email of the user designated as the owner of the dashboard.                                                                                                                                                                                                                                                                                                                                            |
| `created_at` / `updated_at`                        | timestamp | When the dashboard was created and last modified in Tableau.                                                                                                                                                                                                                                                                                                                                                        |
| `created_by` / `updated_by`                        | string    | The email of the workbook owner.                                                                                                                                                                                                                                                                                                                                                                                    |
| `tableau_project`                                  | string    | Derived. The Tableau project the dashboard is directly found in.                                                                                                                                                                                                                                                                                                                                                    |
| `tableau_workbook`                                 | string    | The name of the Tableau workbook the dashboard is found within.                                                                                                                                                                                                                                                                                                                                                     |
| `tableau_luid`                                     | string    | The Tableau LUID (Locally Unique Identifier).                                                                                                                                                                                                                                                                                                                                                                       |
| `tableau_hidden_sheet`                             | boolean   | Derived. Whether the dashboard is hidden.                                                                                                                                                                                                                                                                                                                                                                           |
| `total_queries_14d` / `_30d` / `_60d`              | number    | The total number of queries over the last 14/30/60 days. Only available for LIVE data sources.                                                                                                                                                                                                                                                                                                                      |
| `distinct_users_14d` / `_30d` / `_60d`             | number    | <p>The number of distinct users who triggered queries over the last 14/30/60 days. Only available for LIVE data sources.<br><br><strong>Note</strong>: Unlike the distinct-users property available in BI tools (see impressions) with native usage tracking, this distinct-user count from the warehouse <strong>does not</strong> provide a user breakdown.</p>                                                   |
| `total_impressions_14d` / `_30d` / `_60d`          | number    | The number of impressions over the last 14/30/60 days. Available for both LIVE and EXTRACTED data sources.                                                                                                                                                                                                                                                                                                          |
| `distinct_impressions_users_14d` / `_30d` / `_60d` | number    | <p>The number of distinct users who triggered impressions over the last 14/30/60 days. Available for both LIVE and EXTRACTED data sources.<br><br><strong>Note</strong>: The distinct user count <strong>does</strong> support a user-level breakdown, which you can access via the Euno Assistant or from the resource side panel. However, this breakdown is <strong>not</strong> available via an EQL query.</p> |
| `external_links`                                   | list      | Link to open the dashboard in Tableau.                                                                                                                                                                                                                                                                                                                                                                              |

**URI pattern**

```
tableau.<site_id>.dashboard.<dashboard_id>
```

Example: `tableau.4541b1e5-b16c-4f92-b933-723b5fddefba.dashboard.0c2e4a6b-8d0f-4b2c-9e4a-6b8d0f2c4e5a`

## Tableau published data source (`tableau_published_datasource`)

A published data source, a reusable connection shared across workbooks.

| Property                                           | Type      | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| -------------------------------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `name`                                             | string    | The name of the data source in Tableau.                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `type`                                             | string    | Always `tableau_published_datasource`                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `description`                                      | string    | Stores the description of the data source from Tableau.                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `native_id`                                        | string    | The ID of the data source within Tableau.                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `owner`                                            | string    | Derived. The email of the user designated as the owner of the data source.                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `tags`                                             | list      | Tags on the data source.                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `tableau_project`                                  | string    | Derived. The Tableau project the data source is directly found in.                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `tableau_has_extracts`                             | boolean   | Derived. Whether the data source has an extract.                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `tableau_extract_refresh_frequency`                | string    | The scheduled refresh frequency when there are extracts (\*see [Known limitations](#known-limitations) regarding suspended extracts).                                                                                                                                                                                                                                                                                                                                                                  |
| `native_last_data_update`                          | timestamp | The timestamp of the most recent update to the data source.                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `tableau_luid`                                     | string    | The Tableau LUID (Locally Unique Identifier).                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `total_queries_14d` / `_30d` / `_60d`              | number    | The total number of queries the data source is found within over the last 14/30/60 days. This information is taken from the query log of Snowflake (see the [Snowflake](/sources/data-warehouses/snowflake-integration.md) integration). It is only available for LIVE data sources, as extracts, including the reload of the extract, are not tagged by Tableau.                                                                                                                                      |
| `distinct_users_14d` / `_30d` / `_60d`             | number    | <p>The number of distinct users who triggered the queries the data source is found within over the last 14/30/60 days. This information is taken from the query log of Snowflake. Only available for LIVE data sources.<br><br><strong>Note</strong>: Unlike the distinct-users property available in BI tools (see impressions) with native usage tracking, this distinct-user count from the warehouse <strong>does not</strong> provide a user breakdown.</p>                                       |
| `total_impressions_14d` / `_30d` / `_60d`          | number    | The number of impressions the data source is found within over the last 14/30/60 days. This information is taken from the Tableau impression data pulled directly from the application. Unlike usage, this data is found for both LIVE and EXTRACTED data sources.                                                                                                                                                                                                                                     |
| `distinct_impressions_users_14d` / `_30d` / `_60d` | number    | <p>The number of distinct users who triggered the impressions of the data source over the last 14/30/60 days. This information is taken from the Tableau impression data. Available for both LIVE and EXTRACTED data sources.<br><br><strong>Note</strong>: The distinct user count <strong>does</strong> support a user-level breakdown, which you can access via the Euno Assistant or from the resource side panel. However, this breakdown is <strong>not</strong> available via an EQL query.</p> |
| `external_links`                                   | list      | Link to open the data source in Tableau.                                                                                                                                                                                                                                                                                                                                                                                                                                                               |

**URI pattern**

```
tableau.<site_id>.dataset.<datasource_id>
```

Example: `tableau.4541b1e5-b16c-4f92-b933-723b5fddefba.dataset.2e4a6c8e-0b2d-4f6a-8c0e-2b4d6f8a0c1e`

## Tableau embedded data source (`tableau_embedded_datasource`)

A data source embedded in a single workbook. It has the same properties as a published data source, except `native_id`, `tableau_extract_refresh_frequency`, and `tableau_luid`, plus the properties below.

| Property                           | Type    | Description                                                                                               |
| ---------------------------------- | ------- | --------------------------------------------------------------------------------------------------------- |
| `name`                             | string  | The name of the data source in Tableau (`Unnamed Embedded Datasource` when Tableau does not provide one). |
| `type`                             | string  | Always `tableau_embedded_datasource`                                                                      |
| `tableau_workbook`                 | string  | The name of the Tableau workbook the data source is found within.                                         |
| `is_proxy_to_published_datasource` | boolean | Whether the embedded data source only proxies an upstream published data source.                          |

**URI pattern**

```
tableau.<site_id>.dataset.<datasource_id>
```

Example: `tableau.4541b1e5-b16c-4f92-b933-723b5fddefba.dataset.4a6c8e0b-2d4f-4a8c-9e0b-4d6f8a0c2e3b`

## Tableau custom SQL (`tableau_custom_sql`)

Although custom SQL in Tableau is part of a data source, Euno observes it as an individual resource: it is a child of the data source it belongs to, and that data source has it as an upstream.

| Property                                  | Type    | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| ----------------------------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`                                    | string  | The name of the custom SQL in Tableau.                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `type`                                    | string  | Always `tableau_custom_sql`                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `subtype`                                 | string  | Always `tableau_custom_sql`                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `is_identity_transformation`              | boolean | If the custom SQL is a basic `SELECT *` statement, the property is set to `true`; otherwise, it is set to `false`.                                                                                                                                                                                                                                                                                                                                                                            |
| `total_impressions_14d` / `_30d` / `_60d` | number  | <p>The number of impressions over the last 14/30/60 days. This data is aggregated from the impressions of fields within the custom SQL, ensuring counts are not duplicated when multiple fields are viewed together.<br><br><strong>Note</strong>: The distinct user count <strong>does</strong> support a user-level breakdown, which you can access via the Euno Assistant or from the resource side panel. However, this breakdown is <strong>not</strong> available via an EQL query.</p> |

**URI pattern**

```
tableau.<site_id>.dataset.<custom_sql_id>
```

Example: `tableau.4541b1e5-b16c-4f92-b933-723b5fddefba.dataset.6c8e0a2b-4d6f-4c0e-8a2b-6d8f0a2c4e5d`

## Tableau field (`tableau_field`)

A field of a data source or custom SQL. Dimensions and measures are both `tableau_field` resources; `semantic_role` tells them apart.

| Property                                           | Type    | Description                                                                                                                                                                                                                                                                                                                                                                                                         |
| -------------------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`                                             | string  | The name of the field.                                                                                                                                                                                                                                                                                                                                                                                              |
| `type`                                             | string  | Always `tableau_field`                                                                                                                                                                                                                                                                                                                                                                                              |
| `description`                                      | string  | The description of the field.                                                                                                                                                                                                                                                                                                                                                                                       |
| `semantic_role`                                    | string  | `dimension` or `measure` (`none` for custom SQL fields that Tableau does not tag).                                                                                                                                                                                                                                                                                                                                  |
| `native_data_type`                                 | string  | The field data type in Tableau.                                                                                                                                                                                                                                                                                                                                                                                     |
| `normalized_data_type`                             | string  | Standardized data type.                                                                                                                                                                                                                                                                                                                                                                                             |
| `is_calculated`                                    | boolean | If the field is a calculated field then `true` otherwise `false`.                                                                                                                                                                                                                                                                                                                                                   |
| `raw_code`                                         | string  | The formula of a calculated field.                                                                                                                                                                                                                                                                                                                                                                                  |
| `tags`                                             | list    | Tags on the field.                                                                                                                                                                                                                                                                                                                                                                                                  |
| `parent_container_name`                            | string  | The name of the data source or custom SQL where the field is defined.                                                                                                                                                                                                                                                                                                                                               |
| `parent_type`                                      | string  | The parent resource's type.                                                                                                                                                                                                                                                                                                                                                                                         |
| `tableau_workbook`                                 | string  | The name of the Tableau workbook the field is found within.                                                                                                                                                                                                                                                                                                                                                         |
| `total_queries_14d` / `_30d` / `_60d`              | number  | The total number of queries over the last 14/30/60 days. Only available for LIVE data sources.                                                                                                                                                                                                                                                                                                                      |
| `distinct_users_14d` / `_30d` / `_60d`             | number  | <p>The number of distinct users who triggered queries over the last 14/30/60 days. Only available for LIVE data sources.<br><br><strong>Note</strong>: Unlike the distinct-users property available in BI tools (see impressions) with native usage tracking, this distinct-user count from the warehouse <strong>does not</strong> provide a user breakdown.</p>                                                   |
| `total_impressions_14d` / `_30d` / `_60d`          | number  | The number of impressions over the last 14/30/60 days. Available for both LIVE and EXTRACTED data sources.                                                                                                                                                                                                                                                                                                          |
| `distinct_impressions_users_14d` / `_30d` / `_60d` | number  | <p>The number of distinct users who triggered impressions over the last 14/30/60 days. Available for both LIVE and EXTRACTED data sources.<br><br><strong>Note</strong>: The distinct user count <strong>does</strong> support a user-level breakdown, which you can access via the Euno Assistant or from the resource side panel. However, this breakdown is <strong>not</strong> available via an EQL query.</p> |

**URI pattern**

```
<data source or custom SQL URI>.field.<field_name>
```

Example: `tableau.4541b1e5-b16c-4f92-b933-723b5fddefba.dataset.2e4a6c8e-0b2d-4f6a-8c0e-2b4d6f8a0c1e.field.order_date`

## Tableau Prep flow (`tableau_flow`)

Tableau Prep flows are data preparation workflows that clean and transform data before analysis. The Tableau integration discovers flows and their inputs and outputs.

| Property         | Type      | Description                                                               |
| ---------------- | --------- | ------------------------------------------------------------------------- |
| `name`           | string    | The name of the flow                                                      |
| `type`           | string    | Always `tableau_flow`                                                     |
| `description`    | string    | The description of the flow                                               |
| `created_at`     | timestamp | The timestamp when the flow was created                                   |
| `updated_at`     | timestamp | The timestamp when the flow was last modified                             |
| `native_owners`  | list      | List of users who own the flow, containing their email addresses          |
| `external_links` | list      | Contains a link to open the flow in Tableau                               |
| `thumbnail`      | string    | Base64 encoded PNG image of the flow diagram (if available and under 1MB) |

**URI pattern**

```
tableau.<site_id>.flow.<flow_id>
```

Example: `tableau.4541b1e5-b16c-4f92-b933-723b5fddefba.flow.8e0a2c4d-6f8b-4e2a-9c4d-8f0b2d4e6a7f`

## Tableau Pulse metric definition (`tableau_metric_definition`)

A high-level metric definition discovered from Tableau Pulse. Each definition may have one or more associated metrics.

| Property         | Type      | Description                                                                         |
| ---------------- | --------- | ----------------------------------------------------------------------------------- |
| `name`           | string    | The name of the metric definition as defined in Tableau Pulse.                      |
| `type`           | string    | Always `tableau_metric_definition`                                                  |
| `description`    | string    | The description of the metric definition.                                           |
| `native_id`      | string    | The ID of the metric definition in Tableau Pulse.                                   |
| `external_links` | list      | List of links to open the metric definition in Tableau Pulse and any related links. |
| `updated_at`     | timestamp | The timestamp when the metric definition was last modified.                         |
| `updated_by`     | string    | The username of the user who last modified the metric definition, if available.     |

**URI pattern**

```
tableau.<site_id>.metric_definition.<definition_id>
```

Example: `tableau.4541b1e5-b16c-4f92-b933-723b5fddefba.metric_definition.0a2c4e6f-8b0d-4a4c-8e6f-0b2d4f6a8c9b`

## Tableau Pulse metric (`tableau_metric`)

A concrete metric associated with a metric definition in Tableau Pulse.

| Property              | Type   | Description                                                                                      |
| --------------------- | ------ | ------------------------------------------------------------------------------------------------ |
| `name`                | string | The name of the metric, built from the metric definition name, its granularity, and its filters. |
| `type`                | string | Always `tableau_metric`                                                                          |
| `native_id`           | string | The ID of the metric in Tableau Pulse.                                                           |
| `native_raw_object`   | object | The full raw object as returned by the Tableau Pulse API.                                        |
| `number_of_followers` | number | Derived. The number of users following this metric.                                              |

**URI pattern**

```
tableau.<site_id>.metric.<metric_id>
```

Example: `tableau.4541b1e5-b16c-4f92-b933-723b5fddefba.metric.2c4e6a8b-0d2f-4c6e-9a8b-2d4f6a8c0e1f`

## Database (`database`)

A warehouse database that Tableau content connects to.

| Property              | Type   | Description                                                            |
| --------------------- | ------ | ---------------------------------------------------------------------- |
| `name`                | string | The name of the database.                                              |
| `type`                | string | Always `database`                                                      |
| `subtype`             | string | Always `database`                                                      |
| `database_technology` | string | The technology of the database, based on the dialect of the connection |

**URI pattern**

```
<warehouse_prefix>.<database>
```

Example: `snowflake.acme.analytics`

## Schema (`database_schema`)

A warehouse schema that Tableau content connects to.

| Property              | Type   | Description                                                            |
| --------------------- | ------ | ---------------------------------------------------------------------- |
| `name`                | string | The name of the schema.                                                |
| `type`                | string | Always `database_schema`                                               |
| `database_technology` | string | The technology of the database, based on the dialect of the connection |
| `database_database`   | string | The name of the database                                               |

**URI pattern**

```
<warehouse_prefix>.<database>.<schema>
```

Example: `snowflake.acme.analytics.public`

## Table (`table`)

The Tableau integration discovers resources of type `table` when it identifies a published data source, flow, or Tableau extract referring to a database table. For example, if a data source is using a table from the data warehouse, which is not connected to dbt, the Tableau source discovers this table. Tableau extracts (hyper files) and sources that Euno has no integration for (for example Google Analytics, Marketo, or uploaded files) are also discovered as tables under the Tableau site.

To determine the exact location of the referred data source or extract, the Tableau integration uses the project and data source properties specified in the Tableau metadata API.

In the case of cloud-hosted extracts, the Tableau integration may encounter limitations in handling credentials or region-specific configurations. For instance, API calls might lack sufficient detail to automatically distinguish between regions or accounts, requiring manual intervention to map these attributes correctly. In this case, Euno defaults to using the AWS account ID `default_aws_account.us_central1`. If you have multiple AWS accounts and you need to distinguish between them, set up manual "connection mapping".

| Property              | Type   | Description                                                            |
| --------------------- | ------ | ---------------------------------------------------------------------- |
| `name`                | string | The name of the table.                                                 |
| `type`                | string | Always `table`                                                         |
| `database_technology` | string | The technology of the database, based on the dialect of the connection |
| `database_database`   | string | The name of the database                                               |
| `database_schema`     | string | The name of the schema                                                 |

**URI pattern**

```
<warehouse_prefix>.<database>.<schema>.<table>
tableau.<site_id>.hyper.<extract_id>
tableau.<site_id>.external_table.<technology>.<identifier>
```

`<warehouse_prefix>` matches the prefix the warehouse's own integration uses, so the table merges with the table that integration discovers.

Example: `snowflake.acme.analytics.public.orders`

## Column (`column`)

The Tableau integration discovers resources of type `column` when it identifies a data source referring to a database column.

| Property              | Type   | Description                                                            |
| --------------------- | ------ | ---------------------------------------------------------------------- |
| `name`                | string | The name of the column.                                                |
| `type`                | string | Always `column`                                                        |
| `database_technology` | string | The technology of the database, based on the dialect of the connection |
| `database_database`   | string | The name of the database                                               |
| `database_schema`     | string | The name of the schema                                                 |

**URI pattern**

```
<table URI>.column.<column_name>
```

Example: `snowflake.acme.analytics.public.orders.column.order_id`

## User (`user`)

A Tableau user, discovered from the Tableau metadata API.

| Property        | Type   | Description                         |
| --------------- | ------ | ----------------------------------- |
| `name`          | string | The user's email address.           |
| `type`          | string | Always `user`                       |
| `email_address` | string | The user's email address.           |
| `label`         | string | The user's display name in Tableau. |

**URI pattern**

```
user_account.<email with @ replaced by _at_>
```

Example: `user_account.jane.doe_at_acme.com`

## Relationships

Each row is one relationship edge, written in the canonical direction for its family. Use the predicate in each heading to search for these relationships in EQL.

### Containment (`has parent` / `has child`)

| Source type                    | Relationship | Target type                    | Notes                                           |
| ------------------------------ | ------------ | ------------------------------ | ----------------------------------------------- |
| `tableau_project`              | has parent   | `tableau_site`                 | Top-level projects.                             |
| `tableau_project`              | has parent   | `tableau_project`              | Nested projects.                                |
| `tableau_workbook`             | has parent   | `tableau_project`              |                                                 |
| `tableau_published_datasource` | has parent   | `tableau_project`              |                                                 |
| `tableau_view`                 | has parent   | `tableau_workbook`             |                                                 |
| `tableau_dashboard`            | has parent   | `tableau_workbook`             |                                                 |
| `tableau_embedded_datasource`  | has parent   | `tableau_workbook`             |                                                 |
| `tableau_custom_sql`           | has parent   | `tableau_embedded_datasource`  | The data source the custom SQL is found within. |
| `tableau_custom_sql`           | has parent   | `tableau_published_datasource` | The data source the custom SQL is found within. |
| `tableau_field`                | has parent   | `tableau_published_datasource` |                                                 |
| `tableau_field`                | has parent   | `tableau_embedded_datasource`  |                                                 |
| `tableau_field`                | has parent   | `tableau_custom_sql`           |                                                 |
| `database_schema`              | has parent   | `database`                     |                                                 |
| `table`                        | has parent   | `database_schema`              |                                                 |
| `column`                       | has parent   | `table`                        |                                                 |

### Lineage (`has upstream` / `has downstream`)

| Source type                    | Relationship | Target type                    | Notes                                                                |
| ------------------------------ | ------------ | ------------------------------ | -------------------------------------------------------------------- |
| `tableau_dashboard`            | has upstream | `tableau_view`                 | The sheets on the dashboard.                                         |
| `tableau_view`                 | has upstream | `tableau_embedded_datasource`  | The data sources the view uses.                                      |
| `tableau_embedded_datasource`  | has upstream | `tableau_published_datasource` | When the embedded data source connects to a published data source.   |
| `tableau_embedded_datasource`  | has upstream | `tableau_custom_sql`           |                                                                      |
| `tableau_embedded_datasource`  | has upstream | `table`                        | Warehouse tables and extracts the data source reads.                 |
| `tableau_published_datasource` | has upstream | `tableau_custom_sql`           |                                                                      |
| `tableau_published_datasource` | has upstream | `table`                        | Warehouse tables and extracts the data source reads.                 |
| `tableau_custom_sql`           | has upstream | `table`                        | Tables referenced by the custom SQL query.                           |
| `tableau_flow`                 | has upstream | `table`                        | Input tables, from the flow's input (LoadSql) nodes and file inputs. |
| `tableau_flow`                 | has upstream | `tableau_published_datasource` | Published data sources the flow reads.                               |
| `table`                        | has upstream | `tableau_flow`                 | Database tables that a flow writes to.                               |
| `tableau_metric_definition`    | has upstream | `tableau_published_datasource` | The published data source the metric definition depends on.          |
| `tableau_metric`               | has upstream | `tableau_metric_definition`    | The metric definition the metric is based on.                        |

### Field-level lineage (`has upstream_fields` / `has downstream_fields`)

| Source type                 | Relationship         | Target type     | Notes                                                                                                              |
| --------------------------- | -------------------- | --------------- | ------------------------------------------------------------------------------------------------------------------ |
| `tableau_view`              | has upstream\_fields | `tableau_field` | Fields used by the view.                                                                                           |
| `tableau_field`             | has upstream\_fields | `tableau_field` | For example, an embedded data source field that comes from a published data source field or a custom SQL field.    |
| `tableau_field`             | has upstream\_fields | `column`        | Warehouse columns a data source or custom SQL field reads, including fields of data sources that a flow publishes. |
| `tableau_custom_sql`        | has upstream\_fields | `column`        | Columns referenced by the custom SQL statement.                                                                    |
| `tableau_flow`              | has upstream\_fields | `column`        | Input columns the flow reads.                                                                                      |
| `tableau_flow`              | has upstream\_fields | `tableau_field` | Input fields of published data sources the flow reads.                                                             |
| `column`                    | has upstream\_fields | `column`        | Output columns of a flow, connected to the input columns they derive from.                                         |
| `column`                    | has upstream\_fields | `tableau_field` | Output columns of a flow that derive from published data source fields.                                            |
| `tableau_metric_definition` | has upstream\_fields | `tableau_field` | Each field the metric definition uses (measure, time dimension, filters, and allowed dimensions).                  |

### Definition (`defines` / `has definer`)

| Source type    | Relationship | Target type                    | Notes                                                                 |
| -------------- | ------------ | ------------------------------ | --------------------------------------------------------------------- |
| `tableau_flow` | defines      | `tableau_published_datasource` | The published data sources a flow publishes (PublishExtract outputs). |

### Usage (`is user of` / `is used by`)

| Source type | Relationship | Target type         | Notes                              |
| ----------- | ------------ | ------------------- | ---------------------------------- |
| `user`      | is user of   | `tableau_view`      | From Tableau impression data.      |
| `user`      | is user of   | `tableau_dashboard` | From Tableau impression data.      |
| `user`      | is user of   | `tableau_site`      | Every user discovered on the site. |

## Tableau Prep flow inputs and outputs

The integration discovers both input and output dependencies of flows.

**Input tables**

Input tables are discovered from LoadSql nodes in the flow. Published data sources that the flow reads are resolved from the Tableau metadata API.

**Output resources**

Flows can output to:

1. Database tables
2. Published data sources

The integration maintains the lineage between flows and their inputs and outputs, allowing you to track data transformations through your Tableau Prep workflows. A database table that a flow writes to has the flow as its upstream; a published data source that a flow publishes is defined by the flow.

## Known limitations

* **Extract refresh status.** Due to Tableau API limitations, the `tableau_extract_refresh_frequency` property may not reflect correctly if an extract refresh has been suspended due to inactivity. Tableau automatically suspends extract refreshes for workbooks and data sources after a period of inactivity. When a schedule is suspended, Euno still considers it active and reflects the original frequency in this field. For more information about this Tableau feature, see the [Tableau documentation on automatic extract suspension](https://help.tableau.com/current/online/en-us/extract_auto_suspend.htm).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.euno.ai/sources/business-intelligence/tableau-integration/tableau-integration-discovered-resources.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
