home User Guide Getting Started Help Center Documentation Community Training Certification
menu
close
settings
Looker keyboard_arrow_down
language keyboard_arrow_down
English
Français
Deutsch
日本語
search
print
Donut multiples chart parameters for LookML dashboards

This page demonstrates how to add and customize a LookML dashboard element of type: looker_donut_multiples with LookML dashboard parameters in a dashboard.lkml file.

For information about building a donut multiples chart through the Looker UI, see the Donut multiples chart options documentation page.

Example usage

# BASIC PARAMETERS name: element_name title: 'Element Title' type: looker_donut_multiples height: N width: N top: N left: N row: N col: 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: [view_name.field_name, view_name.field_name, …] measures: [view_name.field_name, view_name.field_name, …] sorts: [view_name.field_name asc | desc, view_name.field_name, …] pivots: [view_name.field_name, view_name.field_name, …] limit: N column_limit: N filters: view_name.field_name: 'Looker filter expression' | 'filter value' listen: dashboard_filter_name: dimension_or_measure_name query_timezone: 'specific timezone' | user_timezone merged_queries: - 'primary query definition' - 'next source query definition' join_fields: - field_name: view_name.field_name source_field_name: view_name.field_name # PLOT PARAMETERS show_value_labels: true | false font_size: N charts_across: N hide_legend: true | false hidden_fields: [view_name.field_name, view_name.field_name, …] # SERIES PARAMETERS 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

Parameter definitions

Parameter Name Description
Basic Parameters
name (for elements) Creates an element
title (for elements) Changes the way an element name appears to users
type (for elements) Determines the type of visualization to be used in the element
height (for elements) Defines the height of an element in units of tile_size for layout: tile and layout: static dashboards
width (for elements) Defines the width of an element in units of tile_size for layout: tile and layout: static dashboards
top Defines the top-to-bottom position of an element in units of tile_size for layout: static dashboards
left Defines the left-to-right position of an element in units of tile_size for layout: static dashboards
row Defines the top-to-bottom position of an element in units of rows for layout: newspaper dashboards
col Defines the left-to-right position of an element in units of columns for layout: newspaper dashboards
refresh (for elements) Sets the interval at which the element will automatically refresh
note Starts a section of LookML to define a note for an element. This parameter has subparameters text, state, and display.
Query Parameters
model Defines the model to be used for the element’s query
explore (for elements) Defines the Explore to be used for the element’s query
dimensions Defines the dimensions to be used for the element’s query
measures Defines the measures to be used for the element’s query
sorts Defines the sorts to be used for the element’s query
pivots Defines the dimensions that should be pivoted to be used for the element’s query
limit Defines the row limit to be used for the element’s query
filters (for elements) Defines the filters that cannot be changed for the element’s query
listen Defines the filters that can be changed for the element’s query, if filters (for dashboard) have been created
query_timezone Defines the time zone that should be used when the query is run
merged_queries Defines a merged results query
Plot Parameters
show_value_labels Shows labels next to data points
font_size Changes the font size of series labels
charts_across Specifies the number of donut charts per row
hide_legend Hides the chart legend
hidden_fields Specifies any fields to use in the query but hide in the chart
Series Parameters
colors Sets the colors of chart series based on the order the series appear
series_colors Sets the colors of chart series based on the name of the series
series_labels Changes the way a series name appears to users

Basic parameters

When defining a LookML dashboard element, you must specify values for at least the name and type basic parameters. Other basic parameters like title, height, and width affect the appearance and position of an element on a dashboard.

name

This section refers to the name parameter that is part of a dashboard element.

name can also be used as part of a dashboard filter, described on the Dashboard parameters documentation page.

Each name declaration creates a new dashboard element and assigns it a name. Element names must be unique. Names are sometimes referenced in the elements parameter when you're using layout: grid dashboards.

- name: orders_by_date

title

This section refers to the title parameter that is part of a dashboard element.

title can also be used as part of a dashboard, described on the Dashboard parameters documentation page.

title can also be used as part of a dashboard filter, described on the Dashboard parameters documentation page.

The title parameter allows you to change how an element's name will appear to users. If unspecified, the title defaults to the element name.

Consider this example:

- name: sales_overview title: '1) Sales Overview'

If you used this format, instead of the element appearing as Sales Overview, it would appear as 1) Sales Overview.

type

This section refers to the type parameter that is part of a dashboard element.

type can also be used as part of a dashboard filter, described on the Dashboard parameters documentation page.

type can also be used as part of a join, described on the type (for joins) parameter documentation page.

type can also be used as part of a dimension, described on the Dimension, filter, and parameter types documentation page.

type can also be used as part of a measure, described on the Measure types documentation page.

The type parameter determines the type of visualization to be used in the element.

- name: element_name type: text | looker_grid | table | single_value | looker_single_record | looker_column | looker_bar | looker_scatter | looker_line | looker_area | looker_pie | looker_donut_multiples | looker_funnel | looker_timeline | looker_map | looker_geo_coordinates | looker_geo_choropleth | looker_waterfall | looker_wordcloud | looker_boxplot

See the type (for LookML dashboards) documentation page for an overview of the different types of LookML dashboard elements.

height

This section refers to the height parameter that is part of a dashboard element.

height can also be used as part of a dashboard row, described on the Dashboard parameters documentation page.

The height parameter defines the height of an element, in units of tile_size, for layout: tile and layout: static dashboards.

For example, the code below specifies tile_size: 100 and height: 4, making the orders_by_date element 400 pixels in height.

- dashboard: sales_overview tile_size: 100 ... elements: - name: orders_by_date height: 4 ...

The height parameter defines the height of an element, in units of rows, for layout: newspaper dashboards.

Each row is 50 pixels tall. A dashboard with newspaper layout defaults to an element height of 6 rows, or 300 pixels.

For example, the code below sets an element to be 600 pixels tall, or twice as tall as other elements that are set to the default:

- dashboard: sales_overview layout: newspaper ... elements: - name: orders_by_date height: 12 ...

width

This section refers to the width parameter that is part of a dashboard element.

width can also be used as part of a dashboard, described on the Dashboard parameters documentation page.

The width parameter defines the width of an element, in units of tile_size, for layout: tile and layout: static dashboards.

For example, the code below specifies tile_size: 100 and width: 4, making the orders_by_date element 400 pixels in width.

- dashboard: sales_overview tile_size: 100 ... elements: - name: orders_by_date width: 4 ...

The width parameter defines the width of an element, in units of columns, for layout: newspaper dashboards.

A dashboard with newspaper layout defaults to a width of 24 columns.

For example, the code below sets the element to half the width of the dashboard:

- dashboard: sales_overview layout: newspaper ... elements: - name: orders_by_date width: 12 ...

top

The top parameter defines the top-to-bottom position of an element, in units of tile_size, for layout: static dashboards.

For example, the code below specifies tile_size: 100 and top: 4, positioning the top edge of the orders_by_date element 400 pixels from the top of the dashboard.

- dashboard: sales_overview tile_size: 100 ... elements: - name: orders_by_date top: 4 ...

left

The left parameter defines the left-to-right position of an element, in units of tile_size, for layout: static dashboards.

For example, the code below specifies tile_size: 100 and left: 4, positioning the left edge of the orders_by_date element 400 pixels from the left side of the dashboard.

- dashboard: sales_overview tile_size: 100 ... elements: - name: orders_by_date left: 4 ...

row

For layout: newspaper dashboards, the row parameter defines the row that the top edge of an element is placed on.

A dashboard begins with row 0 at the top of the dashboard. A dashboard with newspaper layout defaults to an element height of 6 rows, meaning the dashboard elements at the top of a dashboard (row: 0) would default to taking up rows 0-5.

Each row is 50 pixels tall, which means the default element height of 6 rows is 300 pixels.

For example, the code below sets an element to be set on the second row of elements in the dashboard, assuming elements are set at the default height:

- dashboard: sales_overview layout: newspaper ... elements: - name: orders_by_date row: 6 ...

col

For layout: newspaper dashboards, the col parameter defines the column that the left edge of the element is placed on.

Dashboards are divided into 24 columns. A dashboard begins with column 0 at the left of the dashboard. A dashboard with newspaper layout defaults to an element width of 8 columns, meaning the dashboard elements at the left of a dashboard (col: 0) would default to taking up columns 0-7.

For example, the code below sets an element to be set in the third column of elements in the dashboard:

- dashboard: sales_overview layout: newspaper ... elements: - name: orders_by_date col: 16 ...

refresh

This section refers to the refresh parameter that is part of a dashboard element.

refresh can also be used as part of a dashboard, described on the Dashboard parameters documentation page.

The refresh parameter allows an element to reload automatically on some periodic basis, thereby retrieving fresh data. This is often helpful in settings where a dashboard is constantly displayed, such as on an office TV. Note that the dashboard must be open in a browser window for this parameter to have an effect. This setting does not run in the background to "pre-warm" the dashboard cache.

The refresh rate can be any number (without decimals) of seconds, minutes, hours, or days. For example:

- name: orders_by_date refresh: 2 hours

Use caution when setting short refresh intervals. If the query behind the element is resource-intensive, certain elements may strain your database more than desired.

note

You can add descriptive notes to elements like this:

- name: element_name note: text: 'note text' state: collapsed | expanded display: above | below | hover

note has the subparameters text, state, and display.

text

The text subparameter specifies the text displayed in the note. The text can be localized.

state

The state subparameter determines whether the note will be collapsed or expanded if it is too big to fit on a single row within the element's width. If you choose collapsed and the note is too long, the note will end in a clickable ellipsis (...) that can be used to read the full note.

display

The display subparameter determines where the note is displayed on an element. above places the note at the top of an element, below places it at the bottom of an element, and hover requires the user to hover their mouse over the element to see the note.

Query parameters

When defining a LookML dashboard element of type: looker_donut_multiples, you must specify values for at least the model and explore query parameters. Your query must also include at least one value each for the dimensions, measures, and pivots parameters. You can also use the other query parameters described below to control the way data is displayed in a dashboard element.

model

The model parameter defines the model to use for the element query. If unspecified, it will default to the model where the dashboard resides.

- name: orders_by_date model: ecommerce

The model parameter accepts LookML constants. You can define a constant in the manifest file for your project, then use the syntax "@{constant_name}" to set the constant as the value for model. Using a constant allows you to define the name of a model in one place, which is particularly useful if you're updating the name of a model that is used by multiple dashboard elements.

For more information and an example of using constants with LookML dashboards, see the constant parameter documentation page.

explore

This section refers to the explore parameter that is part of a dashboard element.

explore can also be used as part of a model, described on the explore parameter documentation page.

explore can also be used as part of a dashboard filter, described on the Dashboard parameters documentation page.

The explore parameter defines the Explore to use for the element query.

- name: orders_by_date explore: order

The explore parameter accepts LookML constants. You can define a constant in the manifest file for your project, then use the syntax "@{constant_name}" to set the constant as the value for explore. Using a constant allows you to define the name of an Explore in one place, which is particularly useful if you're updating the name of an Explore that is used by multiple dashboard elements.

For more information and an example of using constants with LookML dashboards, see the constant parameter documentation page.

dimensions

The dimensions parameter defines the dimension or dimensions to use for the element query. Use the syntax view_name.dimension_name to specify the dimension. Don't include dimensions if the query doesn't have any.

# single dimension example - name: orders_by_date dimensions: order.order_date # multiple dimension example - name: orders_by_date dimensions: [order.order_date, customer.name]

measures

The measures parameter defines the measure or measures to use for the element query. Use the syntax view_name.measure_name to specify the measure. Don't include measures if the query doesn't have any.

# single measure example - name: orders_by_date measures: order.count # multiple measure example - name: orders_by_date measures: [order.count, order_item.count]

sorts

The sorts parameter defines the sorts to be used for the element query. The primary sort is listed first, then the secondary sort, and so on. Use the syntax view_name.field_name to specify the dimension or measure. Don't include sorts if you want to use Looker's default sort order. Descending sorts are suffixed with desc; ascending sorts don't need a suffix.

# single sort example - name: orders_by_date sorts: order.order_date desc # multiple sort example - name: orders_by_date sorts: [order.order_date desc, customer.name]

pivots

The pivots parameter defines the dimensions that should be pivoted for the element query. Use the syntax view_name.dimension_name to specify the dimension. Don't include pivots if the query doesn't have any.

# single pivot example - name: orders_by_date pivots: customer.gender # multiple pivot example - name: orders_by_date pivots: [customer.gender, customer.age_tier]

limit

The limit parameter defines the row limit that should be used for the element query. The limit applies to the number of rows before any pivots are applied.

- name: orders_by_date limit: 100

filters

This section refers to the filters parameter that is part of a dashboard element.

filters can also be used as part of a dashboard, described on the Dashboard parameters documentation page.

filters can also be used as part of a measure, described on the filters parameter documentation page.

The filters parameter defines the non-changeable filters that should be used for the element's query. If you would like filters that a user can change in the dashboard, you should set up the filters using filters for dashboards, then apply them to the elements using listen.

The syntax for filters is:

- name: element_name filters: orders.created_date: 2020/01/10 for 3 days orders.status: Shipped # You can create multiple filter statements

Each filter can accept a Looker filter expression or a value constant. You can also use the _localization or _user_attributes Liquid variables in the filter expression for flexible filter values.

listen

Dashboards can have filters that allow users to change the data behind dashboard elements. These are set up by using the filters for dashboards parameter. For a filter to impact an element, the element must be set up to "listen" for that filter, using the listen parameter.

The syntax for listen is:

- name: element_name listen: filter_name_goes_here: dimension or measure on which to apply the filter using view_name.field_name syntax # You can add more than one listen statement

For example, you might create a filter called Date that requires a user to enter a date into the filter field in the UI. You could then apply the value that the user enters to the orders_by_date element like this:

- dashboard: sales_overview ... filters: - name: date type: date_filter elements: - name: orders_by_date listen: date: order.order_date ...

This concept is described in more detail on the Building LookML dashboards documentation page.

query_timezone

The query_timezone parameter specifies the time zone in which the query will be run. The time zone options are shown on the Values for timezone documentation page. If you want the query to run using the viewer's time zone, you can assign the value as user_timezone.

- name: orders_by_date query_timezone: America/Los Angeles
- name: orders_by_customer query_timezone: user_timezone

merged_queries

The merged_queries parameter defines how to merge results from several queries. You define the component queries under the merged_queries parameter and use the join_fields subparameter to define the merge rules.

The syntax for merged_queries is:

merged_queries: - 'primary query definition' - 'next source query definition' join_fields: - field_name: 'field from the source query using the view_name.field_name syntax' source_field_name: 'joined field from the primary query using the view_name.field_name syntax' # more join_fields definitions as needed - 'next source query definition' join_fields: - field_name: view_name.field_name source_field_name: view_name.field_name # more join_fields definitions as needed # additional source queries and join_fields definitions as needed

The first query defined under merged_results is the primary query, and the other queries will be merged with that one.

For example, by joining on the stock symbol, company name, and Twitter username, you can merge two queries to return results for company name, company Twitter username, IPO year, stock symbol, number of employees, and job count:

- name: merged_results_element title: Merged Results Tile merged_queries: - model: market_research explore: company_info fields: [company.name, company.twitter_username, ipo.public_year, ipo.stock_symbol] filters: company.twitter_username: "-NULL" ipo.valuation_amount: NOT NULL sorts: [ipo.public_year desc] - model: crunchbase explore: companies fields: [companies.name, ipo.stock_symbol, companies.twitter_username, companies.number_of_employees, jobs.job_count] filters: companies.number_of_employees: NOT NULL ipo.stock_symbol: "-NULL" companies.twitter_username: "-NULL" sorts: [jobs.job_count desc] join_fields: - field_name: ipo.stock_symbol source_field_name: ipo.stock_symbol - field_name: companies.name source_field_name: company.name - field_name: companies.twitter_username source_field_name: company.twitter_username

The data results would be formatted like this:

Then you can apply element parameters to style the visualization as you desire.

Plot parameters

Most of the parameters described in this section correspond to the options in the Plot section of the visualization editor for donut multiples charts.

show_value_labels

Display the value of a bar, line, or point next to the data point.

show_value_labels: true | false # default value: false

font_size

Set the font size of value labels using any valid CSS size, such as 10px or 12px.

font_size: 14px

charts_across

The charts_across parameter specifies the number of small donut charts per row in the type: looker_donut_multiples visualization.

charts_across: 2 # default value: 3

hide_legend

This declaration will hide the legend from the visualization.

hide_legend: true | false # default value: false

hidden_fields

The hidden_fields parameter indicates which fields, if any, are used in the query but hidden in the chart. Any hidden fields will appear in the data table section of an Explore.

hidden_fields: [inventory_items.count, distribution_centers.id]

Series parameters

The parameters described in this section correspond to the options in the Series section of the visualization editor for donut multiples charts.

colors

The colors parameter specifies a list of colors for the series. The first color in the list corresponds to the first data series. If there are more series than listed colors, the colors will start over at the beginning.

colors: [blue, orange, yellow, red, purple]

For all chart attributes that specify a color, the color value can take a hex string, such as #2ca6cd, or a CSS named color string, such as mediumblue.

series_colors

Set the colors of the series based on the series name, using name: value pairs.

For a pivoted chart, the series names are the pivot names.

series_colors: 'Yes': skyblue 'No': '#000000'

For a chart with multiple measures, the series names are the measure field names.

series_colors: inventory_items.count: crimson orders.count: green

If the series name is not listed in series_colors, the chart will default to the list of colors provided in colors. If colors is not set, the chart will fall back to the default color scheme.

series_labels

Set the labels of one or more series based on the series name, using name: label pairs.

For a pivoted chart, the series names are the pivot names.

series_labels: 'Yes': iOS Users 'No': Android Users

For a chart with multiple measures, the series names are the measure field names.

series_labels: inventory_items.count: Inventory orders.count: Orders

Top