How to Use LookML in Looker Studio

LookML is a modeling language used in Looker, a separate product from Looker Studio (formerly Google Data Studio), which is part of the Google ecosystem. While Looker Studio is primarily a tool for creating dashboards and reports with a more visual and user-friendly interface, LookML is used in Looker for building complex data models, defining relationships, creating dimensions, and customizing data structures at a deeper level.

To clarify, LookML is not natively available within Looker Studio. However, if you're using Looker (the more advanced version within Google Cloud's analytics tools), you can integrate LookML with Looker to achieve more flexible and advanced data modeling. Here’s an overview of how LookML is used in Looker, which might help guide your understanding of how it differs from Looker Studio and how it might support more complex analytics.

What is LookML in Looker? #

LookML (Looker Modeling Language) is used to create data models that define how Looker interacts with your database. It's a declarative language that allows you to describe the structure of your data, including dimensions, measures, joins, and aggregates. LookML provides a flexible way to abstract complex SQL queries and define reusable data models for your reports.

Key Features of LookML in Looker: #

  1. Modeling Data: LookML lets you define how your data is structured, create new fields, and join multiple tables together without writing SQL queries for every report.

  2. Custom Dimensions and Measures: You can create new calculated fields (dimensions and measures) that don’t exist directly in the database by defining them in LookML.

  3. Reusability: LookML models are reusable across multiple reports and dashboards, allowing consistency in metrics and definitions across the organization.

  4. Data Relationships: You can define relationships between tables and ensure that the data is aggregated correctly when users interact with it.

How LookML Works in Looker: #

  1. Views: LookML uses views to define a single source of truth for each table in your database. In a view, you define fields like dimensions, measures, and calculated fields.

  2. Models: A model in LookML connects the views and defines how they are joined. Models can also be used to organize different views for specific business cases (e.g., a sales model, a marketing model).

  3. Explores: Once the models are defined, users can explore the data by building custom reports and dashboards in Looker without writing SQL. The Explore interface in Looker allows users to interact with the LookML models and visualize data dynamically.

  4. Extending and Refining: LookML lets you extend and refine existing models, providing flexibility to create customized versions of models for specific needs, without rewriting the entire data structure.

Basic LookML Syntax #

Here’s an example of what LookML code looks like:

1. Creating a View: #

A view defines a table in your database and the fields that users can query.

view: orders {
  sql_table_name: orders ; # Define the table in the database

  dimension: order_id {
    type: number
    sql: ${TABLE}.order_id ;;
  }

  measure: total_sales {
    type: sum
    sql: ${TABLE}.sale_amount ;;
  }
}
  • Dimension: order_id is a dimension, which is a field that users can group or filter by.
  • Measure: total_sales is a measure, which is a field that can be aggregated, like sum, average, or count.

2. Joining Tables: #

LookML makes it easy to join tables in your data model. For example, joining an orders table with a customers table:

view: orders {
  sql_table_name: orders ;

  dimension: order_id {
    type: number
    sql: ${TABLE}.order_id ;;
  }

  measure: total_sales {
    type: sum
    sql: ${TABLE}.sale_amount ;;
  }

  join: customers {
    type: left_outer
    sql_on: ${customers.customer_id} = ${TABLE}.customer_id ;;
    relationship: many_to_one
  }
}

3. Creating a Model: #

A model defines how users can explore data from different views. Here’s an example of a model for orders.

model: ecommerce {
  explore: orders {
    joins: [customers, products]
  }
}

Using LookML in Practice (in Looker) #

  • Step 1: Write LookML to define your data sources, dimensions, and measures in views.
  • Step 2: Create models to join different tables and organize them into subject areas.
  • Step 3: In Looker, users can explore the data defined by LookML to create custom reports, visualizations, and dashboards without having to write SQL for every query.

Integrating Looker and Looker Studio #

If you're working with both Looker and Looker Studio, you can use Looker’s API to bring the modeled data from Looker into Looker Studio. This allows you to leverage the advanced data modeling in Looker (via LookML) and combine it with Looker Studio's visualizations for a more polished, user-friendly dashboarding experience.

Limitations of LookML in Looker Studio #

While LookML is a core part of Looker, it is not available directly in Looker Studio. Looker Studio focuses more on simplifying data connections, reports, and visualizations without requiring complex data modeling. Looker Studio offers some basic data manipulation tools (like calculated fields), but it doesn’t have the advanced data modeling capabilities that Looker provides through LookML.

Conclusion #

If you're looking to build complex data models, define relationships between tables, and reuse calculated fields across multiple reports, LookML in Looker is the ideal tool. Looker Studio, on the other hand, is designed more for creating user-friendly visualizations and dashboards, without the need for deep data modeling.

For a more advanced workflow, you can integrate Looker and Looker Studio by using Looker’s data models and LookML capabilities in the back-end, while using Looker Studio for front-end reporting. This combination allows you to benefit from the best of both worlds: powerful data modeling with LookML in Looker and easy reporting and visualizations in Looker Studio.

Published