> 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/looker-integration/looker-integration-discovered-resources.md).

# Looker Integration Discovered Resources

## Overview

The Looker integration discovers the following resources:

* Looker Instance
* Looker Model
* LookML Explore
* LookML View
* Looker Dimension
* Looker Measure
* Looker Folder
* Looker Look
* Looker Tile
* Looker Dashboard
* Table
* User (when **Observe users** is enabled)
* User Group (when **Observe groups** is enabled)

Note: We don't observe built-in looker models `i__looker` and `system__activity`

## Looker Instance

The top-level container for a Looker deployment.

| Property             | Description                                                                                            |
| -------------------- | ------------------------------------------------------------------------------------------------------ |
| `name`               | The Looker host URL for the instance.                                                                  |
| `type`               | `looker_instance`                                                                                      |
| `looker_connections` | Connection metadata discovered from the Looker API (used for table resolution and connection mapping). |

## Looker Model

A LookML model defines the database connection and the explores it exposes.

| Property           | Description                               |
| ------------------ | ----------------------------------------- |
| `name`             | The name of the LookML model.             |
| `type`             | `looker_model`                            |
| `parent_container` | The Looker instance containing the model. |

## Looker Folder

### Properties

| Property           | Description                                                 |
| ------------------ | ----------------------------------------------------------- |
| `name`             | The name of the folder.                                     |
| `type`             | `looker_folder`                                             |
| `native_id`        | The ID of the folder in Looker's API.                       |
| `parent_container` | The parent folder, or the Looker instance for root folders. |
| `created_at`       | The date the folder was created in Looker.                  |
| `created_by`       | The email of the user that created the folder.              |

## LookML: Views & Explores

| Property                                                         | Description                                                                                                                                                | Applicable to |
| ---------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- |
| `name`                                                           | The title of the LookML file.                                                                                                                              | View, Explore |
| `type`                                                           | `looker_view` or `looker_explore`.                                                                                                                         | View, Explore |
| `description`                                                    | The resource description from LookML.                                                                                                                      | View, Explore |
| `sql_dialect`                                                    | The SQL dialect of the query powering the visualization.                                                                                                   | View, Explore |
| `looker_project_name`                                            | The name of the LookML Git project containing the model.                                                                                                   | View, Explore |
| `looker_model`                                                   | The name of the LookML model (display name; the parent resource type is `looker_model`).                                                                   | View, Explore |
| `native_id`                                                      | The native identifier for the view or explore in Looker.                                                                                                   | View, Explore |
| `parent_container`                                               | The LookML model (`looker_model`) containing the view or explore.                                                                                          | View, Explore |
| `is_derived`                                                     | Whether the view is derived.                                                                                                                               | View          |
| `derived_type`                                                   | The type of derived view: `sql_derived_view` or `native_derived_view`. Null for non-derived views.                                                         | View          |
| `has_refinements`                                                | Whether the view includes refinements.                                                                                                                     | View          |
| `looker_refinement_chain`                                        | File locations of refinements applied to the view.                                                                                                         | View          |
| `pdt_builds_last_30d`                                            | Total number of PDT builds in the last 30 days.                                                                                                            | View          |
| `pdt_total_build_time_30d`                                       | Cumulative build time for PDTs in the last 30 days.                                                                                                        | View          |
| `lookml_view_persistency`                                        | Persistency triggers for PDTs (`sql_trigger`, `datagroup_trigger`, or `interval_trigger`).                                                                 | View          |
| `git_repo_url`                                                   | The URL of the associated Git repository.                                                                                                                  | View, Explore |
| `git_repo_branch`                                                | The branch of the Git repository being used.                                                                                                               | View, Explore |
| `total_queries_14d`, `total_queries_30d`, `total_queries_60d`    | Query counts over the last 14/30/60 days from the Looker API (includes cached queries).                                                                    | View, Explore |
| `distinct_users_14d`, `distinct_users_30d`, `distinct_users_60d` | Distinct users querying the resource over the last 14/30/60 days. User-level breakdown is available in the side panel and Euno Assistant, but not via EQL. | View, Explore |
| `source_path`                                                    | Full file path (for example, `models/sales/orders.view.lkml`).                                                                                             | View, Explore |
| `source_directory`                                               | Directory path of the resource in your Git repository.                                                                                                     | View, Explore |
| `table_dependencies`                                             | Upstream resources (tables, views, or explores) referenced by this resource.                                                                               | View, Explore |

## LookML Refinements

Euno discovers refinement files; however, unlike regular views, refinement files do not constitute resources themselves. Instead, Euno includes the refinement information in the view that it refines. For views with refinements, the property `has_refinements` will be set to `true`. Additionally, in the [About tab](/using-euno/data-model-screen.md#unri9kmp2usw-1) of the refined resource's [side panel](/using-euno/data-model-screen.md#xgdhrrj8g7h9), the property `looker_refinement_chain` is displayed, indicating the file locations of the refinement files that refine the resource. When viewing the code of the refined resource, it includes the dimensions and measures from the refinement file as if it were compiled.

{% hint style="info" %}
Currently Euno does not support the discovery of refinement files for LookML Explores.
{% endhint %}

## Looker data visualizations: Looker Look, Looker Tile and Looker Dashboards

The term "Looker Tile" is used to describe a visualization in a Looker Dashboard that is not a reference to a Looker Look.

{% hint style="info" %}
In Looker, a dashboard is made up of *dashboard elements*. Some *dashboard elements* are data visualizations, which can either reference a Looker Look, or a visualization that "lives" inside the dashboard. Looker documentation uses the terms *lookless* and *tile* to describe the latter type of visualization. Euno uses the more commonly used term *tile*.
{% endhint %}

| Property                                                         | Description                                                                                                                          | Applicable to         |
| ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | --------------------- |
| `name`                                                           | The title of the visualization.                                                                                                      | Look, Tile, Dashboard |
| `type`                                                           | `looker_look`, `looker_tile`, or `looker_dashboard`.                                                                                 | Look, Tile, Dashboard |
| `description`                                                    | The description of the resource.                                                                                                     | Look, Dashboard       |
| `sql_dialect`                                                    | The SQL dialect of the query powering the visualization.                                                                             | Look, Tile            |
| `looker_model`                                                   | The name of the LookML model powering the visualization.                                                                             | Look, Tile            |
| `looker_project_name`                                            | The name of the LookML project containing the model.                                                                                 | Look, Tile            |
| `looker_folder`                                                  | The name of the Looker folder the item is found within.                                                                              | Look, Dashboard       |
| `created_at`                                                     | The date the resource was created in Looker.                                                                                         | Look, Tile, Dashboard |
| `updated_at`                                                     | For tiles, includes updates to the tile or the dashboard containing it.                                                              | Look, Tile, Dashboard |
| `native_id`                                                      | The ID of the look, tile, or dashboard in Looker.                                                                                    | Look, Tile, Dashboard |
| `created_by`                                                     | The display name of the Looker user that created the Look.                                                                           | Look                  |
| `updated_by`                                                     | The display name of the Looker user that last updated the Look.                                                                      | Look                  |
| `owner`                                                          | The display name of the dashboard owner (derived from `native_owners`).                                                              | Dashboard             |
| `parent_container`                                               | For Looks, the containing folder. For tiles, the containing dashboard.                                                               | Look, Tile            |
| `last_7d_views`, `last_30d_views`                                | Impression counts over the last 7 or 30 days.                                                                                        | Look, Dashboard       |
| `last_viewed_at`                                                 | The last impression time.                                                                                                            | Look, Dashboard       |
| `total_queries_14d`, `total_queries_30d`, `total_queries_60d`    | Query counts over the last 14/30/60 days from the Looker API (includes cached queries).                                              | Look, Tile, Dashboard |
| `distinct_users_14d`, `distinct_users_30d`, `distinct_users_60d` | Distinct users over the last 14/30/60 days. User-level breakdown is available in the side panel and Euno Assistant, but not via EQL. | Look, Tile, Dashboard |
| `table_dependencies`                                             | Upstream explores (and related resources) referenced by the look or tile query.                                                      | Look, Tile            |

## LookML and Looker Measures and Dimensions

Euno observes fields in both LookML files (views and explores) and visualizations (looks and tiles). For visualizations, Looker may make use of [Custom Fields](https://cloud.google.com/looker/docs/custom-fields). Euno observes each custom field as a resource in the same manner as a LookML measure or dimension. A custom measure, including a filtered custom measure, is observed with the type `looker_measure`. A custom dimension is observed with the type `looker_dimension`. Looker dimension groups are also observed as dimensions with the type `looker_dimension`.

| Property                                                         | Description                                                                                                                          |
| ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `name`                                                           | The name of the Looker measure or dimension.                                                                                         |
| `type`                                                           | `looker_measure` or `looker_dimension`.                                                                                              |
| `parent_container`                                               | The URI of the view, explore, look, or tile where the field is defined.                                                              |
| `is_calculated`                                                  | `true` for custom fields defined in a visualization.                                                                                 |
| `is_identity_transformation`                                     | `true` when the field directly references an existing warehouse column; `false` for custom fields.                                   |
| `total_queries_14d`, `total_queries_30d`, `total_queries_60d`    | Query counts over the last 14/30/60 days (includes cached queries).                                                                  |
| `distinct_users_14d`, `distinct_users_30d`, `distinct_users_60d` | Distinct users over the last 14/30/60 days. User-level breakdown is available in the side panel and Euno Assistant, but not via EQL. |
| `tags`                                                           | Tags associated with the measure or dimension, as defined in LookML.                                                                 |
| `source_directory`                                               | Directory path of the resource in your Git repository.                                                                               |
| `source_path`                                                    | Full file path (for example, `models/sales/orders.view.lkml`).                                                                       |
| `upstream_fields`                                                | Upstream fields (`column`, `looker_dimension`, `looker_measure`, or `dbt_metric`) referenced by this field.                          |

## Users and Groups

When **Observe users** is enabled, Euno observes Looker users as `user` resources. When **Observe groups** is enabled, Euno observes Looker groups as `user_group` resources with `members` pointing to observed users.

For property details and membership relationships, see [Users as a Resource](/developer-reference/technical-concepts/users-as-a-resource.md).

## Table

The Looker Integration will discover resources of type Table when it discovers a LookML view that refers to a database table. For example, if a LookML view is using the [`sql_table_name`](https://cloud.google.com/looker/docs/reference/param-view-sql-table-name) parameter, Euno will observe the referred table.

To determine the exact location of the referred table, the Looker Integration looks up the correct [Looker Connection](https://cloud.google.com/looker/docs/admin-panel-database-connections) using the LookML Model's [connection parameter](https://cloud.google.com/looker/docs/reference/param-model-connection). The Looker Connection usually has all the metadata required for Euno to uniquely determine the URI of the referred table.

In the case of a connection with dialect `athena`, The Looker Integration is not able to fetch from Looker's API the term "AWS account id" which is required to uniquely identify the referred tables. 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              | Description                                               |
| --------------------- | --------------------------------------------------------- |
| `name`                | The name of the table.                                    |
| `database_technology` | The database technology, based on the connection dialect. |
| `database`            | The name of the database.                                 |
| `schema`              | The name of the schema.                                   |

## Relationships

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

| Source type(s)                       | Relationship | Target type(s)                                                | Notes                                                                          |
| ------------------------------------ | ------------ | ------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| `looker_dimension`, `looker_measure` | has parent   | `looker_view`, `looker_explore`, `looker_look`, `looker_tile` |                                                                                |
| `looker_view`, `looker_explore`      | has parent   | `looker_model`                                                |                                                                                |
| `looker_model`                       | has parent   | `looker_instance`                                             |                                                                                |
| `looker_folder`                      | has parent   | `looker_instance`, `looker_folder`                            | Root folders parent to the instance; nested folders parent to a parent folder. |
| `looker_look`, `looker_dashboard`    | has parent   | `looker_folder`                                               |                                                                                |
| `looker_tile`                        | has parent   | `looker_dashboard`                                            |                                                                                |

### Resource lineage (`has upstream` / `has downstream`)

Downstream resources list their upstream dependencies via `table_dependencies`. For example, `looker_view` **has upstream** `table` when the view references a warehouse table.

| Source type(s)     | Relationship | Target type(s)                                         | Notes |
| ------------------ | ------------ | ------------------------------------------------------ | ----- |
| `looker_view`      | has upstream | `table`, `looker_view`, `looker_explore`, `dbt_metric` |       |
| `looker_explore`   | has upstream | `table`, `looker_view`, `looker_explore`, `dbt_metric` |       |
| `looker_look`      | has upstream | `table`, `looker_explore`, `looker_view`               |       |
| `looker_tile`      | has upstream | `table`, `looker_explore`, `looker_view`               |       |
| `looker_dashboard` | has upstream | `looker_tile`, `looker_look`                           |       |

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

Downstream fields list upstream fields via `upstream_fields`. For example, `looker_measure` **has upstream\_fields** `column` when the measure references a warehouse column.

| Source type(s)                       | Relationship         | Target type(s)                                               | Notes                                         |
| ------------------------------------ | -------------------- | ------------------------------------------------------------ | --------------------------------------------- |
| `looker_dimension`, `looker_measure` | has upstream\_fields | `column`, `looker_dimension`, `looker_measure`, `dbt_metric` |                                               |
| `dbt_column`                         | defines              | `looker_dimension`, `looker_measure`                         | Via `euno.ai/based_on_column` tags in LookML. |

{% hint style="info" %}
Euno does not currently support column-level lineage for Looker derived views when the referenced upstream tables or columns are not observed through an authoritative source integration (such as dbt, Snowflake, BigQuery or Databricks). If the columns are only referenced in the Looker SQL and not part of an observed schema, they will not appear in lineage.
{% endhint %}


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
