A Looker dashboard is a collection of queries displayed as visualizations on a page. Dashboards let you combine key queries and visualizations into a one page executive view. You can add filters to make the dashboard interactive and rearrange its tiles. You can create as many dashboards as you want, so you can tailor each dashboard to the specific needs of the people who use it.
Types of Dashboards: User-Defined and LookML
There are two types of Looker dashboards: user-defined dashboards and LookML dashboards.
|Characteristic||User-Defined Dashboard||LookML Dashboard|
|Generally created and edited by||Business users and Looker developers.||A select group of LookML developers.|
|Defined||By picking saved Looks in the user interface, arranging them using drag-and-drop operations, and choosing dashboard settings (as described on the Creating User-Defined Dashboards page).||Written and edited in a YAML-based dashboard file, as described in the Creating a LookML Dashboard File section on this page.|
|Updated||When the dashboard is edited or the corresponding saved Looks are updated.||When the LookML file for the dashboard is edited.|
|Stored||Stored in user’s personal folder or a shared folder for easy collaboration across a wider group of users.||Stored as version-controlled files associated with the project in a Git repository and accessed using the LookML Dashboard option on the Browse page. The file can be ported to another Looker instance. LookML dashboards are accessible for viewing in the LookML Dashboards folder located in the All Folders top-level folder.|
|Converting||ADDED4.12 Convertible to LookML dashboards, as described in the Creating a LookML Copy of a User-Defined Dashboard section below.||Convertible to user-defined dashboards, as explained on the Converting from LookML to User-Defined Dashboards page.|
Creating a LookML Dashboard File
To create a new LookML dashboard:
- In the Develop menu, turn on Development Mode and navigate to your project.
Click + at the top of the file browser panel in the Looker IDE or click a folder’s three-dot menu to create the file inside the folder, and click Create Dashboard.
Name the dashboard file and select Create.
Viewing the LookML for an Existing LookML Dashboard
If you have the
see_lookml permission, you can navigate to the dashboard LookML for an existing LookML dashboard by selecting Go to Dashboard LookML from the dashboard’s gear menu:
When you select Go to Dashboard LookML, Looker navigates to the dashboard file in which the LookML dashboard is defined.
If you have temporarily switched your LookML dashboard to a dashboard (beta) by adding ‑
next to the dashboard’s URL, select Go to LookML from the three-dot dashboard (beta) menu to navigate to the dashboard’s LookML.
Manually Building or Modifying a LookML Dashboard
Edit the dashboard file header with a name, a title, and your configuration preferences:
See the Dashboard Parameters page for a complete listing of parameters that impact the entire dashboard. For more information on parameters that impact specific dashboard elements, see the Dashboard Element Parameters page.
Creating a LookML Copy of a User-Defined Dashboard
You can copy the LookML of an entire user-defined dashboard, which lets you use the dashboard across Looker instances and across models. Having the dashboard in LookML also lets you to use version control for the dashboard, as with other LookML files.
The LookML copy of the dashboard defaults to newspaper layout. You can modify the layout of the LookML dashboard by modifying the
layout dashboard parameter.
To create a LookML dashboard from a user-defined dashboard:
- Click Browse and navigate to your user-defined dashboard.
Select Get Dashboard LookML from the gear menu of an original dashboard. On a dashboard (beta), select Get LookML from the three-dot menu and choose the Dashboard tab.
In the dashboard LookML window, click Copy to Clipboard.
Within your LookML project, click + at the top of the file browser panel in the Looker IDE or click a folder’s three-dot menu to create the file inside the folder, and click Create Dashboard.
Name the dashboard file and select Create.
Delete the initial contents of the new LookML dashboard file.
Paste the copied LookML from your clipboard into the file and click Save Changes.
If your new dashboard isn’t already included in your model file, be sure to include it.
Adding a Visualization to an Existing LookML Dashboard
The easiest way to add a tile to an existing LookML dashboard is to use the Explore page to build a query that you want to turn into a dashboard element:
- Once you have created the query and visualization that you want to add to a dashboard, click the Explore’s gear menu.
- Select Get LookML to expose the LookML.
- With Dashboard selected in the Get LookML modal, select all of the LookML and copy it.
From here, paste the LookML into your dashboard LookML file. Here are some tips for editing the dashboard LookML file:
- Verify that you are in Development Mode so that you can edit the dashboard file.
- Paste the LookML under the dashboard’s
- Be sure to use the correct indentation when pasting LookML into the dashboard file. If possible, match the indentation to existing elements already in the dashboard file.
- You can adjust the LookML parameters if desired, using the parameters described on the documentation pages for each individual element type.
Once you have multiple dashboard elements saved in your dashboard file, you may want to add dashboard filters, which lets users to filter some or all elements on a dashboard. They can be useful for many possible reasons, for example:
- Adjusting the time period shown
- Adjusting the specific product category, customer type, etc being shown
- Providing a “lookup” type capability for a client or customer
Be sure to build the type of filter you want. The two types are:
- Filters that you hard-code into the dashboard elements, which users cannot change
- Filters that you add to the top of a dashboard, which users can change
Filters that you hard-code into the dashboard elements, which users cannot change, usually get created automatically in the copy LookML step for a visualization or for a dashboard. In a LookML dashboard, those filters look like this:
If you decide you want filters that a user can change, the first step is to create the filters that they interact with. To do so, add a filters section to your dashboard file, which will look something like this:
The various options and parameters for these filters are described in more detail in the Dashboard LookML Reference. One of the most important things to keep in mind is what type of input you’re expecting from your users. You can assign a
type that will accept numbers, dates, or strings. Or you can associate your filter with an underlying LookML field, in which case Looker will automatically select the correct type of input and, if the underlying LookML field is of
type:string, provide filter suggestions to your users.
As described in the Dashboard LookML Reference, only filters with
type: field filteruse the
fieldparameters. If you include the
fieldparameters with any other filter type, you’ll get LookML validation errors.
At this point in the process the filters don’t do anything yet!
After you create your filters, you’ll need to apply them to the proper elements using the
listen parameter. The idea is that the element “listens” to one or more filters for user input, then adjusts accordingly. This parameter applies to all element types besides
type: text, and details about its usage appear on the documentation pages for each individual visualization type. For a representative example of how
listen works, see Area Chart Parameters for LookML Dashboards.
For example, you may have an element that looks like this:
You can see that this element already has a
filters parameter that restricts the element to approved orders. This can’t be changed by the user.
Suppose you wanted the user to be able to restrict this element to a certain date range, or a certain category, based on the dashboard filters you created. You would need to add a
listen parameter like this:
If you don’t want users to be able to adjust the date or category, simply don’t add the
listen parameter. You only have to add a
listen to elements that you want the user to be able to adjust.
You’ll see that the
listen syntax works by first writing the name of the filter you created, then writing the name of the field that you want to apply the user input to.
Keep in mind that a dashboard filter can be applied to any field (of the same data type) in any given element. For example, one element can apply a user’s input to the order created date, while another applies it to the order ship date:
Including the File in a Model
For your dashboard to be visible in the LookML Dashboards folder, it must be added using an
include statement in the model file on which the dashboard is based.
A common practice is to include all LookML dashboards in a model by using a wildcard:
You can also include a specific dashboard by specifying its filename:
Saving and Previewing the File
Save the file, preview the dashboard, and commit your changes via Git to put the dashboard into Production Mode when you are ready.
Extending a LookML Dashboard
Once you create a LookML Dashboard, you can extend the dashboard. This enables you to create a second dashboard based on the original one, possibly adding or overriding some settings. Then if you change the first dashboard, the second one inherits those changes automatically (unless overridden in the second dashboard.) See the Reusing Code with Extends documentation page for more information.
Improving Dashboard Performance Using Aggregate Awareness
LookML developers may be able to improve LookML dashboard performance by using aggregate awareness. With aggregate awareness, developers can create aggregate tables under LookML
explore parameters, which can optimize queries for one or more tiles in a dashboard.
Once you have created a LookML dashboard and are viewing it, you can use the Get Aggregate Table LookML option in the dashboard gear menu, which is visible if you have the
For more information, see the
aggregate_table documentation page.