lookml-view
Originally fromlkrdev/lookml_skills
Installation
SKILL.md
Instructions
1. File Organization
- Standard Views:
views/[datasource_name]/[view_name].view.lkml - Extended Views:
views/[datasource_name]/[view_name]_ext.view.lkml - Refinements:
views/[datasource_name]/[view_name]_rfn.view.lkml - NDTs:
views/[datasource_name]/[view_name]_ndt.view.lkml - SDTs:
views/[datasource_name]/[view_name]_sdt.view.lkml
2. Core Standards
- sql_table_name: Required for standard views. Defaults are fragile; be explicit.
- Primary Key:
- Convention: place the primary key as the first dimension for readability.
- Must have
primary_key: yes— Why: essential for symmetric aggregates, which Looker uses to handle JOIN row duplication correctly (prevents fanout in multi-join queries).
- Refinements: Use
+before the view name (e.g.,view: +users) to refine existing views without modifying the original file. - Extensions: Use
extendsto reuse logic from other views. - Derived Tables: Evaluate and nudge towards Native Derived Tables (NDTs) (
explore_source) over SQL Derived Tables (sql) where possible. When creating entity rollups or summary facts (e.g.,user_order_facts), assess whether an existing Explore can source the data. NDTs are recommended because they minimize code drift and automatically inherit underlying LookML descriptions, formatting, and Row-Level Security (RLS). If an NDT is too complex, or if specific SQL features are required, an SDT is fully acceptable.