Looker and LookML
Looker is a business intelligence platform that queries data where it already lives. LookML is its modeling language: developers define reusable dimensions, measures, joins, and access rules, then analysts explore that governed model without writing each SQL query from scratch.
itData engineering and analytics | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Don't Panic
Don't Panic: Looker and LookML
Looker is a business intelligence platform built around a semantic model. LookML is the text language that defines that model. The promise is civilized: define the messy database relationships and business calculations once, then let analysts query governed fields instead of reinventing revenue in every dashboard. Civilization, as usual, depends on the plumbing.
The query path is direct. An analyst starts in an Explore, selects dimensions, measures, filters, and pivots, and Looker resolves those choices through the LookML project. It generates SQL for the connected database. The database runs the query. Looker formats the result as a table, chart, dashboard tile, scheduled delivery, or embedded application.
The most important word is grain, meaning what one row represents. A view can map orders, customers, subscriptions, or a derived table, but every measure depends on the row meaning being true. A join relationship is a cardinality claim. Get it wrong and rows multiply politely, totals inflate, and the dashboard smiles as if nothing indecent happened.
LookML is reusable business meaning, not magic dust. A central revenue measure prevents report drift, but it also makes one bad definition widely reusable. A renamed field can break saved Looks and dashboards. A changed join can alter many totals. Treat the project as production code: branch, validate, inspect generated SQL, compare representative results, run content validation, review, and deploy deliberately.
Performance also follows the path. Start with generated SQL and the database plan. Then check joins, selected fields, cache policy, persistent derived tables, aggregate tables, and dashboard tile count. Looker can organize access to data; it cannot make a slow warehouse query fast by drawing it attractively.
Use the Practice Reference when reviewing a model change. Do the Exercise to inspect grain, fanout, validation, access, and runtime diagnosis. Keep the Cheatsheet close for join relationships and deployment checks. The central question is always the same: can this governed field be trusted at every query shape the Explore permits?
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://docs.cloud.google.com/looker/docs/what-is-lookml
Supports
- LookML as the language for semantic data models
- LookML projects, model files, view files, Git version control, and the generated-SQL query path
- Separation of query structure from selected query content
- https://docs.cloud.google.com/looker/docs/lookml-terms-and-concepts
Supports
- Definitions and relationships of models, views, Explores, dimensions, and measures
- A model connection targeting one database and an Explore as a query starting point
- https://docs.cloud.google.com/looker/docs/looker-core-qs-model-data
Supports
- Official workflow for creating model and view files, an Explore, a dimension, and a measure
- https://docs.cloud.google.com/looker/docs/working-with-joins
Supports
- Join relationships and their direction from an Explore base to a joined view
- Primary-key uniqueness and non-null requirements for joined measures
- Symmetric aggregates and fanout handling
- https://docs.cloud.google.com/looker/docs/best-practices/understanding-symmetric-aggregates
Supports
- Symmetric aggregation as Looker's mechanism for correct aggregations across fanouts
- https://docs.cloud.google.com/looker/docs/dev-mode-prod-mode
Supports
- Development Mode branch isolation and Production Mode behavior
- Looker IDE integration with Git workflows
- https://docs.cloud.google.com/looker/docs/derived-tables
Supports
- Temporary and persistent derived table behavior
- Development and production PDT build behavior and operational states
- https://docs.cloud.google.com/looker/docs/aggregate_awareness
Supports
- Selection of the smallest eligible aggregate table that can answer a query accurately
- Fallback to detailed data when aggregate grain does not fit
- https://docs.cloud.google.com/looker/docs/access-control-and-permission-management
Supports
- Roles, permission sets, model sets, content access, user attributes, access filters, and access grants
- Distinct developer and SQL Runner database-access considerations
- https://docs.cloud.google.com/looker/docs/content-validation
Supports
- Detection of saved-content references to missing models, Explores, views, and fields
- Scope and risks of content changes during development and deployment
- https://docs.cloud.google.com/looker/docs/ci-sql-validator
Supports
- SQL validation of models and Explores
- Scope, fail-fast, hidden-field, and concurrency options
- https://cloud.google.com/looker
Supports
- Official Looker product homepage and landscape placement
- https://github.com/sindresorhus/awesome
Supports
- Required discovery starting point for curated ecosystem lists
- https://github.com/thenaturalist/awesome-business-intelligence
Supports
- Discovery of Spectacles, dbt, DataHub, Lightdash, and the wider BI product ecosystem
- https://docs.spectacles.dev/
Supports
- Spectacles as continuous integration tooling for Looker and LookML validation
- https://docs.getdbt.com/docs/introduction
Supports
- dbt as a system for warehouse transformations, modular data models, testing, documentation, and version-controlled deployment
- https://docs.datahub.com/docs/generated/ingestion/sources/looker
Supports
- Ingestion of Looker dashboards, charts, Explores, views, ownership, usage, and lineage
- Parsing LookML and connecting modeled assets to warehouse tables
- https://docs.lightdash.com/guides/lightdash-semantic-layer
Supports
- Shared metrics, dimensions, metadata, and relationships in the Lightdash semantic layer
- https://www.microsoft.com/en-us/power-platform/products/power-bi
Supports
- Microsoft Power BI landscape placement
- https://www.tableau.com/
Supports
- Tableau landscape placement
- https://www.qlik.com/us/products/qlik-cloud-analytics
Supports
- Qlik Cloud Analytics landscape placement
- https://www.thoughtspot.com/
Supports
- ThoughtSpot landscape placement
- https://www.sigmacomputing.com/
Supports
- Sigma landscape placement
- https://www.lightdash.com/
Supports
- Lightdash landscape placement and product homepage
- https://superset.apache.org/
Supports
- Apache Superset landscape placement and product homepage
