Model parameters

A model file specifies a database connection, defines the set of Explores that use that connection, and defines the Explores' relationships to other views. Unlike other LookML elements, a model is not declared with a specific "model" parameter. Instead, a LookML developer defines a model by creating a LookML project file that has the .model.lkml file extension. The model name is taken from the filename.

A model name must be unique across all projects on your instance. If your instance contains two .model.lkml files with the same name, it is likely that you will encounter errors, such as model configuration errors on the LookML Projects page and rendering errors for LookML dashboard errors, since LookML dashboards use the model name in their URL format (<hostname>/dashboard/model_name::<dashboard_name>).

You can use the LookML Validator to verify if model names are duplicated across your instance. However, even if the LookML Validator detects duplicate model names on your instance, you can still push your code to production. Therefore, be sure to fix any duplicate model name errors before you deploy your LookML project to production.

A model file typically contains any explore declarations, along with a number of model-level settings.

This page links to the model-level LookML parameters. They are typically written at the top of the model file and shouldn't be nested within other parameters.

Example usage

Hold the pointer over a parameter name to see a quick description. Click a parameter to visit its reference page. When a parameter can be set to one of several specific options, the default value is listed first.

## STRUCTURAL PARAMETERS
include:"filename_or_pattern"
## Possibly more include declarations

explore: explore_name {
  # Desired explore parameters (described on Explore Parameters page)
}
## Possibly more explore declarations

access_grant: access_grant_name{
  user_attribute: user_attribute_name
  allowed_values: ["value_1", "value_2", ...]
}
## Possibly more access_grant declarations

test: test_name{
  explore_source: explore_name {
    # Desired subparameters (described on test page)
  }
  assert: assert_statement {
    expression:Looker expression ;;
  }
  # Possibly more assert declarations
}
## Possibly more test declarations

## DISPLAY PARAMETERS
label: "desired label"

## FILTER PARAMETERS
case_sensitive: yes | no

## QUERY PARAMETERS
connection: "connection_name"
datagroup: datagroup_name{
  label: "desired label"
  description: "desired description"
  max_cache_age: "N (minutes | hours | days)"
  sql_trigger: SQL query ;;
}
## Possibly more datagroup declarations
fiscal_month_offset: N
persist_for: "N (seconds | minutes | hours)"
persist_with: datagroup_name
week_start_day: monday | tuesday | wednesday | thursday | friday | saturday | sunday

## VISUALIZATION AND FORMATTING PARAMETERS
map_layer: map_name{
  extents_json_url: "URL to JSON extents file"
  feature_key: "Name of TopoJSON object"
  file: "TopoJSON or GeoJSON filename" # or use the url subparameter
  format: topojson | vector_tile_region
  label: "desired label"
  max_zoom_level: number indicating max zoom
  min_zoom_level: number indicating min zoom
  projection: Preferred geographic projection
  property_key: "TopoJSON property"
  property_label_key: "Label for TopoJSON property"
  url: "URL that contains map file" # or use the file subparameter
}
## Possibly more map layer declarations

named_value_format: desired_name {
  value_format: "excel formatting string"
  strict_value_format: yes | no
 }
## Possibly more named value format declarations

Parameter definitions

Parameter Name Description
Structural Parameters
access_grant Creates an access grant that limits access of LookML structures to only those users who are assigned an approved user attribute value. This parameter has the user_attribute and allowed_values subparameters.
explore Exposes a view in the Explore menu. For more information about Explores and their parameters, see the Explore Parameter Reference page.
include Adds files to a model
test Creates a data test to verify your model's logic. The project settings include an option to require data tests. When this is enabled for a project, developers on the project must run data tests before deploying their changes to production. This parameter has the explore_source and assert subparameters.
Display Parameters
label (for model) Changes the way a model appears in the Explore menu
Filter Parameters
case_sensitive (for model) Specifies whether filters are case-sensitive for a model
Query Parameters
connection Changes the database connection for a model
datagroup Creates a datagroup-caching policy for a model. This parameter has the label, description, max_cache_age, and sql_trigger subparameters.
fiscal_month_offset Specifies the month your fiscal year begins (if it differs from the calendar year)
persist_for (for model) Changes the cache settings for a model
persist_with (for model) Specifies the datagroup to use for the model's caching policy
week_start_day Specifies the day of the week on which week-related dimensions should start
Visualization and Formatting Parameters
map_layer (for model) Creates custom maps to be used with map_layer_name
named_value_format Creates a custom value format to be used with value_format_name. This parameter has the value_format and strict_value_format subparameters.
Parameters to Avoid
scoping Removed 3.52 No longer required
template Removed 3.30 No longer required