Looker | Ramping Up Users on Complex Features with Looker’s Quick Starts

Eric Heidbreder
5 min readApr 8, 2021

Here’s the situation: you’ve spent days crafting a dynamic period over period (PoP) selector that updates automatically with whatever period length and number of prior periods the user wants to see. It’s beautiful! It passes all the tests! Oh…and also…

It requires 3 specific dimensions and filters to be selected or it won’t work properly.

Pictured: Business User who left the enablement session early trying to remember which “Created Date” field to pivot on if they want the “Dynamic PoP Selection Tool” to display the correct values for the “Total Gross Revenue” field. (Photo by Tim Gouw on Unsplash)

Quick Start, to the rescue!

Explores in Looker have an excellent feature called Quick Start. This feature allows a LookML developer to create shortcuts to specific queries at the explore level. Why is that great for the complex, dynamically-generated queries you’ve painstakingly built? You can now pack all of the filters and fields necessary for your feature to function properly into a Quick Start. Now, a user can click on the Quick Start and get to work with your dynamic query in seconds — or however long it takes to run ;)

Let’s look at an example and solve it using Quick Start.

Image of Looker’s User Interface with multiple fields and dimensions selected

Exposing these fields and filters to the end user presents some major disadvantages:

  • Fields may be used improperly.
  • Every user needs to be enabled on how and when these fields should be used.
  • The extra fields clutter the explore for people who are not doing period over period analysis

Let’s build a Quick Start to eliminate all of these issues!

Quick Starts are built from the query: parameter inside of an explore. The full documentation of this parameter is on Looker’s docs page, but here’s the overview:

explore: explore_name {
query: query_name {
dimensions: [dimension1, dimension2, … ]
measures: [measure1, measure2, … ]
label: "Display Name in Field Picker"
description: "Information about this query"
pivots: [dimension1, dimension2, … ]
sorts: [field1: asc, field2: desc, … ]
filters: [field1: "value1", field2: "value2", … ]
timezone: timezone
limit: 100

Step 1: Build the query

An easy way to build out this query is to:

  1. Create the query within an Explore, as a business user would.
  2. Go to the gear icon in the top right and select “Get LookML”.
  3. Under “Aggregate Table”, you will see a lot of the information automatically generated for you under the query: parameter. You can copy and paste that, as a starting point.
Note that this query doesn’t handle pivots, and is missing a name, but it does keep you from needing to manually type out filter names and values.

Step 2: Add to / Edit the automatically generated query

You’ve copied this query, but now we need to add a few things:

  1. A name! Add a name for your query right after the query parameter. query: this_is_my_query_name {...}
  2. description: This will display in the Quick Start selection menu and give users information about the Quick Start
  3. If you had a pivoted dimension, move it from the dimensions: parameter to the pivots:

Step 3: Put the new query into an Explore

This query needs to be added to an explore. It can go anywhere at the first indent level of the Explore (you can’t put this in at the join level).

# Refining order items explore
explore: +order_items {
query: period_over_period_starter_kit {
description: "
Flexible and user-friendly PoP analysis.
You choose the period size and specify the
prior periods to include.
# Commented out autogenerated dimension param for demo
# dimensions: [created_date_periods_ago_pivot]
measures: [total_gross_revenue]
filters: [
pop_support.period_size: "Month",
pop_support.periods_ago_to_include: "0, 1"
pivots: [created_date_periods_ago_pivot]

Note that I used a refinement to add this query so I can keep all my queries in one file. For more on using refinement layers to organize your LookML, check out this Looker community post

Step 4: Hide the fields that are destined to cause chaos

No one likes errors or incorrect results, so hide the fields you created that are likely to send your users off course. Since you’ve defined the query in the explore, users can access them through the quick start, but they aren’t accessible through the field picker.

And that’s it — let’s look at what has changed!

Initially, our explore was cluttered and complicated for the business user — though honestly, it’s often complicated even for the person who developed the feature (me). But now that we have a query parameter in the Order Items explore, we get access to a lightning bolt icon at the top left of our explore window, next to our Explore’s name. Say hello to Quick Start!

If you click the lightning bolt, a menu with all of your available Quick Start queries will pop up.

Note: If you don’t have any fields selected, this will also pop up automatically.

Once we click that, it will pull in all the fields and filters we included in the query: parameter, while giving users the flexibility to add new fields into the mix for analysis.

Since we hid all the chaos-inducing fields from view, this explore is looking much cleaner.

Conclusion: Why use Quick Starts?

To me, the value of the Quick Start feature is its ability to allow your users to work with complicated tools for analysis without knowing they’re complicated. In other words, it empowers users to do complex analyses without hesitation.

Ultimately, this lets enablement sessions focus on the exciting new things users can do with the new feature. And you can get users exploring without needing to cover the ritual that must be performed to properly summon the feature from the depths of your data model and the repercussions if the ritual is performed in the wrong order.

You can put the sage away, folks — we’re using Quick Start today! (Photo by Brittany Colette on Unsplash)



Eric Heidbreder

I’m a Chicago-based analytics consultant at Analytics8 who is certified in Looker and Qlik. I’m also a bassoonist and songwriter. Someday, I’ll own a Pug.