lookml-view

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Instructions

操作说明

1. File Organization

1. 文件组织规范

  • 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
  • 标准视图
    views/[datasource_name]/[view_name].view.lkml
  • 扩展视图
    views/[datasource_name]/[view_name]_ext.view.lkml
  • 细化视图
    views/[datasource_name]/[view_name]_rfn.view.lkml
  • NDT(原生派生表)
    views/[datasource_name]/[view_name]_ndt.view.lkml
  • SDT(标准派生表)
    views/[datasource_name]/[view_name]_sdt.view.lkml

2. Core Standards

2. 核心规范

  1. sql_table_name: Required for standard views. Defaults are fragile; be explicit.
  2. Primary Key:
    • Must be the first dimension defined in the file.
    • Must have
      primary_key: yes
      .
  3. Refinements: Use
    +
    before the view name (e.g.,
    view: +users
    ) to refine existing views without modifying the original file.
  4. Extensions: Use
    extends
    to reuse logic from other views.
  1. sql_table_name:标准视图必填。默认配置稳定性差,请显式声明。
  2. 主键
    • 必须是文件中定义的第一个维度
    • 必须设置
      primary_key: yes
  3. 细化视图:在视图名称前使用
    +
    (例如
    view: +users
    ),无需修改原文件即可细化现有视图。
  4. 扩展视图:使用
    extends
    复用其他视图的逻辑。

3. Best Practices

3. 最佳实践

  • Naming: Use
    snake_case
    for view names and filenames.
  • Descriptions: Add descriptions to the view itself if it helps explain its purpose (e.g., "Daily active users aggregated by region").
  • Output Format: Ensure the file ends with a newline.
  • 命名规范:视图名称和文件名使用
    snake_case
    格式。
  • 描述信息:如果有助于说明视图用途,请为视图本身添加描述(例如:“按地区聚合的日活跃用户”)。
  • 输出格式:确保文件以换行符结尾。

4. Related Skills

4. 相关技能

  • lookml-refinements: Logic for
    include
    , refinements (
    +
    ), and Hub & Spoke patterns.
  • lookml-refinements:关于
    include
    、细化视图(
    +
    )及Hub & Spoke模式的逻辑说明。

Examples

示例

Basic View

基础视图

lookml
view: users {
  sql_table_name: `project.dataset.users` ;;

  dimension: user_id {
    primary_key: yes
    type: number
    sql: ${TABLE}.id ;;
    group_label: "IDs"
    description: "Unique internal user ID."
  }

  dimension: email {
    type: string
    sql: ${TABLE}.email ;;
    description: "User's email address."
  }
}
lookml
view: users {
  sql_table_name: `project.dataset.users` ;;

  dimension: user_id {
    primary_key: yes
    type: number
    sql: ${TABLE}.id ;;
    group_label: "IDs"
    description: "Unique internal user ID."
  }

  dimension: email {
    type: string
    sql: ${TABLE}.email ;;
    description: "User's email address."
  }
}

Extended View

扩展视图

lookml
include: "/views/base/users.view"

view: users_extended {
  extends: [users]

  dimension: lifetime_value {
    type: number
    sql: ${TABLE}.ltv ;;
    description: "Total lifetime value of the user."
  }
}
lookml
include: "/views/base/users.view"

view: users_extended {
  extends: [users]

  dimension: lifetime_value {
    type: number
    sql: ${TABLE}.ltv ;;
    description: "Total lifetime value of the user."
  }
}

Refinement (Layering)

细化视图(分层)

lookml
include: "/views/users.view"

view: +users {
  label: "All Users (Refined)"
  
  dimension: email {
    # Adding a description to an existing field
    description: "Primary contact email."
  }
}
lookml
include: "/views/users.view"

view: +users {
  label: "All Users (Refined)"
  
  dimension: email {
    # Adding a description to an existing field
    description: "Primary contact email."
  }
}

Reference Skills

参考技能

  • Derived Tables: Standard (SDT) and Native (NDT) derived table patterns/materialization.
  • 派生表:标准派生表(SDT)和原生派生表(NDT)的模式/物化说明。