Legacy Feature Notice: Old Style YAML LookML (Looker 4.4+)

In Looker 4.0, we introduced the option of “new LookML”, an improved LookML syntax that addressed some of the challenges with the original, YAML-style LookML. It has many benefits that you can read about in New LookML — Why?

Instances initiated on Looker 4.4+ will only have one syntax option for new projects: the new, refreshed one. Looker instances that have run on prior Looker releases have the option to enable a legacy feature that will allow new projects to be created with the YAML-style LookML (although we don’t recommend it for most cases; it will eventually be fully deprecated).

The legacy feature will be enabled by default for instances that have run releases prior to Looker 4.4. You can read more about legacy features here. Existing projects will still function when this legacy feature is removed but you will not be able to create new YAML LookML projects.

Syntax Differences

In general new LookML parameters and their usage remain the same. There are some differences, such as:

  • A few parameters have been renamed to be clearer or more consistent with other naming
  • Some structural/container parameters have been removed because they didn’t provide any real benefit in the context of new LookML
  • True/false has been changed to yes/no to be more user friendly

You can get a more complete list of changes in The New LookML IDE Shows New and Pre-Existing Parameters.

Enabling Old LookML with a Legacy Feature

This change is associated with the YAML-based LookML legacy feature (for more details see the Legacy Features docs page). By default, from 4.4 to 4.8 this feature is checked, which means that no change in behavior will occur. Starting in 4.10, the default is that the feature is unchecked so new projects will be in new LookML. After you transition to new LookML, un-check this legacy feature and click the Update Legacy Features button.

Example of Old (YAML) LookML

Old LookML was based on a data structure called “YAML”. It looked like this:

- view: orders
  fields:
  - dimension: id
    primary_key: true
    type: number
    sql: ${TABLE}.id

In this style of LookML indentations are used to indicate structure and must be exactly correct.

Example of New LookML

New LookML uses curly braces (the { and } symbols) to indicate structure, which means that indentations are no longer critical. It looks like this:

view: orders {
  dimension: id {
    primary_key: yes
    type: number
    sql: ${TABLE}.id ;;
  }
}

New LookML also comes with a new IDE (the place where you write LookML code), which gives help as you type to prevent errors and make it easier to know what valid options are available. The IDE is discussed more in New LookML — Deep dive into the new syntax and the new IDE.

Switching to New LookML

Due to its many benefits, Looker will eventually require all customers to use new LookML. Therefore, we encourage all customers to transition to new LookML when they have a chance. There are some steps required to make the change, which you can read about in New LookML — How to convert a “YAML” LookML project.

1 11 970