Customizing Views

Views provide a structured way to organize and manage data, but they are also highly customizable. Within the Catalog Builder, the Schema on the right-hand side offers a range of options to edit and refine your View YAML.

These customizations allow you to improve usability, enhance data clarity, and provide stakeholders with flexible analysis options—all without writing additional SQL.

Schema

The schema displays a list of available customization options you can use in the view YAML file. We've broken these down into:

  • Descriptive fields
  • Source configuration
  • Caching
  • Fields and field formatting
  • Joins with other views

Descriptive fields

Field nameDescription
nameThe name of the view. This must be unique within the catalog. Defaults to the file name. Optional.
labelA user-friendly label for the view. This is what is displayed in the UI, and defaults to the name. Optional.
descriptionA description of the view. Optional.

Extend field

Field nameDescription
extendsSpecify another view file to extend with a different name, modified properties, or additional or modified fields. Optional.
extends.pathPath to the view file to extend.
extends.viewName of the view to extend (only relevant for LookML views).
extends.omit_propertiesAny properties from the base view to omit from the new view. Optional.
extends.omit_fieldsAny fields from the base view to omit from the new view (reference fields by name). Optional.
extends.omit_joinsAny joins from the base view to omit from the new view (reference joins by view name). Optional.

Source configuration

Field nameDescription
sourceThis details the query or queries that need to be run in order to populate the view.
source.typeThis can be either "query" (default) or "table". Optional.
source.connectionThe connection key to use when running the query (or null to use DuckDB). This must be a connection that is available in the catalog.
source.tableThe table for the view source. This is only supported for "type: table".
source.queryThe SQL query to run in order to populate the view. This is defined in the dialect of the database. This is only supported for "type: query".
source.dependenciesA list of cells that are dependencies of this view. This is only supported for "type: query". Optional.
source.dependencies[*].nameThe name of the cell. Must be unique with the dependency list.
source.dependencies[*].queryThe SQL or Python query that is run in order to populate the cell.
source.dependencies[*].languageThe type of the cell. This can be one of sql or python. Optional.
source.dependencies[*].connectionThe connection key to use when running the query (or null to use DuckDB). This must be a connection that is available in the catalog. This is ignored for Python cells. Defaults to the connection of the view. Optional.

Caching

Field nameDescription
cachingCaching settings for source dependencies attached to a connection. Optional.
caching.durationHow long source dependency results are cached (in seconds).
caching.scheduleA cron expression for the source dependency refresh schedule. This value may need to be enclosed in single quotation marks. Optional.
caching.wait_for_cacheWhether cells should wait for view caches to exist instead of querying the connection directly while caches are being generated (default: false). Optional.

Fields formatting

See here for details and examples related to the fields property.

Joins with other views

Field nameDescription
joinsA list of possible joins from this view to other views in the catalog. Optional.
joins[*].viewThe name of the view that is being joined to this view.
joins[*].constraintThe condition that the join is made on.
joins[*].relationshipThe relationship between this view and the joined view. This can be one of \one_to_one\, \one_to_many\, \many_to_one\ or \many_to_many\.
joins[*].typeThe type of join. This can be one of \inner\, \left\, \right\, or \full\. Default is \left\. Optional.