home User Guide Getting Started Help Center Documentation Community Training Certification
language keyboard_arrow_down
Looker documentation will be moving to cloud.google.com on August 22, 2022!
All the information you rely on will be migrated and all docs.looker.com URLs will be redirected to the appropriate page.
1.x Release Notes

Looker 1.28 2014-03-30



Derived Tables

Model Development

Looker 1.26 2014-03-05


Model Development

Derived Tables

Admin & Setup

Looker 1.24 2014-02-09


Model Development

Admin & Setup

Looker 1.22 2014-01-12

Persistent Derived Tables

Looker 1.20 2013-11-29

Explore (Query Builder)



Model Development



Looker 1.18 2013-10-06


LookML Changes

Administration Changes

Model Development Changes

Database Changes

Looker 1.16.5 2013-08-05

Introducing Looks

Updated Support Docs

Navigation and User Interface Changes

LookML Changes

Administration Changes

Database Changes

Looker 1.12.10 2013-03-30

Navigation and User Interface Changes

Query Builder

LookML Changes


Looker 1.11.30 2013-03-05

Looker 1.11.23 2013-02-19

Product Updates

LookML Language Updates

Looker 1.11.13 2012-12-21

Improved History Log

History is displayed in a more readable format. Queries display the parameters for view, fields and sort instead of an unreadable English sentence.

Date Filters Allow NULL Values

NULL, NOT NULL and -NULL are all allowed in date filters.

Error Handling

Improved error handling in Looker Development Mode to catch incorrectly named parameters and statements.

Field Scoping

Added ‘- scoping: true’ for language simplifications. With ‘scoping: true’, all field names and set names are scoped to the view. Set names and field names without a ‘.’ in them are assumed scoped to the view. The full name for a set or a field always contains a ‘.’. For example the fields full name below would be named ‘foo.bar’ but can be referenced as ‘bar’ inside the view:

After (scoping: true)

- view: foo
    - dimension: bar

Before (without scoping)

- view: foo
    - name: foo_bar

Derived Table Support

Views can be built on sub queries (derived tables). This is great for building up facts about entities. Derived tables are constructed before the main query runs. In mySQL, to use this feature, you will need write access to a database named “TMP”, even though Looker never writes to this database. Looker only uses ‘CREATE TEMPORARY TABLE TMP’.

Derived Table Example

- base_view: orders
  view: orders

- view: orders
  - dimension: amount
    type: number
  - dimension: total_amount
    type: sum
    sql: ${amount}
  - join: users
    sql_on: orders.user_id=users.id
    base_only: true
  - join: user_orders_facts
    sql_on: orders.user_id=user_orders_facts.user_id
    base_only: true

- view: users
  - dimension: name

- view: user_orders_facts
     sql: |
            users.id as user_id
            , COUNT(*) as lifetime_orders
            , MAX(orders.date) as most_recent_purchase_date
        FROM orders
        GROUP BY user.id
     indexes: [user_id]
   - dimension: lifetime_orders
     type: number
   - dimension: most_recent_order
     type: time
     timeframes: [date, week, month, year]
     sql: $$.most_recent_purchase_date

Database Support Improvements

Looker 1.10.13 2012-11-06

In-app support chat

Admins will now see ‘Chat with Looker Eng’ box in the bottom-right corner. Now it’s even easier to access the Looker engineering team to help you solve questions big and small. If you get stuck, grab us on Looker chat. We’re here to help.

Non-admin users can view the LookML model

All Looker users now have the opportunity to inspect the underlying LookML model through the “view” link beside each field, or from the Models link in the header.

Terminology Updates

We’ve standardized on some new terminology for Looker:

Mail Subscription Updates

Mail subscriptions can now be created with custom start & repeat times. You can also add additional subscribers that will be CC’ed on the mail, either inside or outside of your organization. People that are mailed outside of the organization can be managed via the Manage Outsiders section of the Admin panel.

As always, we welcome feedback and suggestions!