New LookML
Old LookML
New LookML
LookML Quick Reference

Go to Functional Reference for All Parameters

LookML is typically organized into 3 types of files: models, views, and dashboards. This page includes every possible LookML parameter, how it is used, and the typical type of file that it is used in. Please note that some parameters cannot be used at the same time. You can read more about each parameter by going to the appropriate reference page.

Model LookML Jump to Example Below Go to Reference Page
Explore LookML Jump to Example Below Go to Reference Page
Join LookML Jump to Example Below Go to Reference Page
View LookML Jump to Example Below Go to Reference Page
Field LookML Jump to Example Below Go to Reference Page
Dashboard LookML Jump to Example Below Go to Reference Page

Starting in release 4.16, projects may include a Project Manifest file that lets you import files from external projects. For more information, see this Discourse article.

Model File

label: "desired label name" connection: "connection_name" include: "filename_or_pattern" # Possibly more include declarations   fiscal_month_offset: N persist_for: "N (seconds | minutes | hours)" persist_with: datagroup_name case_sensitive: yes | no week_start_day: monday | tuesday | wednesday | thursday | friday | saturday | sunday named_value_format: desired_format_name { value_format: "excel-style formatting string" } # Possibly more named value formats   map_layer: identifier { extents_json_url: "URL to JSON extents file" feature_key: "Name of TopoJSON object" file: "TopoJSON file name" # or use the url subparameter format: topojson | vector_tile_region label: "Label I want" 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 }   datagroup: datagroup_name { sql_trigger: SQL query ;; max_cache_age: "N (minutes | hours | days)" } # Possibly more datagroups   explore: view_name { description: "description string" label: "desired label name" group_label: "label to use as a heading in the Explore menu" view_label: "Field Picker heading to use for the Explore’s fields" symmetric_aggregates: yes | no hidden: yes | no fields: [field_or_set, field_or_set, …] sql_always_where: SQL WHERE condition ;;   always_filter: { filters: { field: field_name value: "looker filter expression" } }   conditionally_filter: { filters: { field: field_name value: "looker filter expression" } unless: [field_or_set, field_or_set, …] }   access_filter: { field: fully_scoped_field user_attribute: user_attribute_name }   always_join: [view_name, view_name, …]   join: view_name { type: left_outer | full_outer | inner | cross relationship: one_to_one | many_to_one | one_to_many | many_to_many from: view_name sql_table_name: table_name ;; view_label: "desired label name" fields: [field_or_set, field_or_set, …] required_joins: [view_name, view_name, …] foreign_key: dimension_name sql_on: SQL ON clause ;; } # Possibly more join declarations   persist_for: "N (seconds | minutes | hours)" persist_with: datagroup_name from: view_name view_name: view_name case_sensitive: true | false sql_table_name: table_name ;; cancel_grouping_fields: [fully_scoped_field, fully_scoped_field, …] } # Possibly more explore declarations

View File

view: view_name { sql_table_name: table_name ;; suggestions: yes | no   derived_table: { sql: SQL query ;; persist_for: "N (seconds | minutes | hours)" sql_trigger_value: SQL query ;; datagroup_trigger: datagroup_name distribution: "column_name" distribution_style: all | even sortkeys: ["column_name", "column_name", "…"] indexes: ["column_name", "column_name", "…"] partition_keys: [column_name, column_name, …] }   set: set_name { fields: [field_or_set, field_or_set, …] # Possibly more set declarations }   (dimension | dimension_group | measure | filter | parameter): field_name { label: "desired label name" label_from_parameter: parameter_name view_label: "desired label name" group_label: "desired label name" description: "description string" hidden: yes | no alias: [old_field_name, old_field_name, …] value_format: "excel-style formatting string" value_format_name: format_name html: HTML expression using Liquid template elements ;; sql: SQL expression to generate the field value ;; required_fields: [field_name, field_name, …] drill_fields: [field_or_set, field_or_set, …] can_filter: yes | no fanout_on: repeated_record_name tags: [“string1”, “string2”, …] type: field_type primary_key: yes | no case: { when: { sql: SQL condition ;; label: "value" } # Possibly more when statements } alpha_sort: yes | no tiers: [N, N, …] style: classic | interval | integer | relational sql_latitude: SQL expression to generate a latitude ;; sql_longitude: SQL expression to generate a longitude ;; suggestable: yes | no suggest_persist_for: "N (seconds | minutes | hours)" suggest_dimension: dimension_name suggest_explore: explore_name suggestions: ["suggestion string", "suggestion string", "…"] allowed_value: { label: “desired label name” value: “looker filter expression” } # Possibly more allowed_value definitions bypass_suggest_restrictions: yes | no full_suggestions: yes | no skip_drill_filter: yes | no case_sensitive: yes | no order_by_field: dimension_name map_layer_name: name_of_map_layer   link: { label: "desired label name;" url: "desired_url" icon_url: "url_of_an_ico_file" } # Possibly more links   timeframes: [timeframe, timeframe, …] convert_tz: yes | no datatype: epoch | timestamp | datetime | date | yyyymmdd direction: "row | column" approximate: yes | no approximate_threshold: N sql_distinct_key: SQL expression to define repeated entities ;; list_field: dimension_name percentile: Nth percentile precision: N   filters: { field: dimension_name value: "looker filter expression" } # Possibly more filters statements   default_value: "desired default value" } # Possibly more dimension or measure declarations }

Dashboard File

- dashboard: dashboard_name title: 'desired dashboard title' description: 'desired dashboard description' layout: tile | static | grid rows: - elements: [element_name, element_name, …] height: N tile_size: N width: N show_applied_filters: true | false refresh: N (seconds | minutes | hours | days) auto_run: true | false filters: - name: filter_name title: 'desired filter title' type: field_filter | number_filter | date_filter | string_filter explore: explore_name field: view_name.field_name default_value: Looker filter expression elements: - name: element_name title: 'desired element name' type: table | single_value | looker_single_record | looker_column | looker_bar | looker_scatter | looker_line | looker_area | looker_pie | looker_donut_multiples | looker_geo_coordinates | looker_geo_choropleth height: N width: N top: N left: N refresh: N (seconds | minutes | hours | days) note: text: 'note text' state: collapsed | expanded display: above | below | hover # QUERY PARAMETERS model: model_name explore: explore_name dimensions: [dimension_name, dimension_name, …] measures: [measure_name, measure_name, …] sorts: [field_name, field_name, …] pivots: [dimension_name, dimension_name, …] limit: N filters: dimension_or_measure_name: 'looker filter expression' # Possibly more filters statements listen: dashboard_filter_name: dimension_or_measure_name # Possibly more listen statements # TABLE PARAMETERS total: true | false row_total: right | left | false # SINGLE VALUE PARAMETERS font_size: small | medium | large # CHART PARAMETERS (column, bar, scatter, line, area, pie, donut multiples) colors: [css_color, css_color, …] series_colors: series_name: css_color # Possibly more series color assignments series_labels: series_name: desired series label # Possibly more series label assignments # CARTESIAN CHART PARAMETERS (column, bar, scatter, line, area) hidden_series: [series_name, series_name, …] hide_legend: true | false stacking: normal | percent | '' show_dropoff: true | false show_value_labels: true | false show_view_names: true | false swap_axes: true | false series_types: series_name: line | column | area | scatter # Possibly more series visualization assignments x_axis_label: desired x-axis label x_axis_label_rotation: N x_padding_left: N x_padding_right: N x_axis_gridlines: true | false show_x_axis_label: true | false show_x_axis_ticks: true | false y_axis_orientation: [left | right, left | right, …] y_axis_combined: true | false y_axis_labels: ['desired y-axis label', 'desired y-axis label', …] y_axis_min: [N, N, …] y_axis_max: [N, N, …] y_axis_gridlines: true | false show_y_axis_labels: true | false show_y_axis_ticks: true | false y_axis_tick_density: default | custom y_axis_tick_density_custom: N reference_lines: - value: see documentation label: 'desired label name' color: css_color # Possibly more reference lines # COLUMN AND BAR PARAMETERS show_null_labels: true | false # SCATTER, LINE, AND AREA PARAMETERS x_axis_scale: auto | linear | time | ordinal x_axis_datetime_tick_count: N x_axis_datetime_label: 'time formatting string' show_null_points: true | false # LINE AND AREA PARAMETERS hide_points: true | false interpolation: linear | monotone | step | step-before | step-after discontinuous_nulls: true | false # PIE PARAMETERS inner_radius: N% # DONUT MULTIPLE PARAMETERS charts_across: N # MAP PARAMETERS map: usa | world map_url: 'url to map topojson' map_object_key: map_name map_projection: d3_map_projection inner_border_color: css_color inner_border_width: N outer_border_color: css_color outer_border_width: N # COORDINATE MAP PARAMETERS point_color: css_color map_color: css_color point_radius: N # CHOROPLETH MAP PARAMETERS colors: [css_color, css_color, …] quantize_colors: true | false empty_color: css_color map_property_key: topo_json_property map_property_label_key: topo_json_property # Possibly more element declarations