mcpField
L
lookml-view

lookml-view

github.com/lkrdevデータ・データベース1661 回インストール22 週間前に更新
リポジトリ

lookml-view について

lookml-viewは、LookML開発者向けにビューのファイル構成と記述規約を示すスキルです。標準ビュー、拡張、リファインメント、派生テーブルの構成を扱い、主キーやテーブル名の規則も説明します。

主な機能

  1. 01ビューのファイル配置と命名規則
  2. 02標準ビューでのテーブル名の明示
  3. 03主キー次元の順序と指定方法
  4. 04拡張とリファインメントの記述方法
  5. 05標準・ネイティブ派生テーブルのパターン

活用シーン

  1. 01規約に沿った標準ビューの作成
  2. 02元ファイルを変更せずにビューを精化
  3. 03拡張による既存ビューのロジック再利用
  4. 04派生テーブル用LookMLファイルの整理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/lkrdev/lookml_skills --skill lookml-view

インストール後、Claude Code で/lookml-viewを入力して読み込まれたか確認します。

同梱ファイルreferences/derived_table.md

詳細

手順

1. ファイル構成

  • 標準ビュー: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. 基本標準

  1. sql_table_name:標準ビューでは必須です。デフォルト値は不安定なため、明示的に指定してください。
  2. 主キー:
    • ファイル内で最初に定義するディメンションである必要があります。
    • primary_key: yes を指定する必要があります。
  3. リファインメント:元のファイルを変更せずに既存のビューをリファインするには、ビュー名の前に + を付けます(例:view: +users)。
  4. 拡張:他のビューのロジックを再利用するには、extends を使用します。

3. ベストプラクティス

  • 命名:ビュー名とファイル名には snake_case を使用します。
  • 説明:目的の説明に役立つ場合は、ビュー自体に説明を追加します(例:「地域別に集計された日次アクティブユーザー数」)。
  • 出力形式:ファイルの末尾に改行があることを確認します。

4. 関連スキル

  • lookml-refinements:include、リファインメント(+)、およびハブ&スポークパターンのロジック。

例

基本ビュー

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."
  }
}

拡張ビュー

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."
  }
}

リファインメント(レイヤリング)

include: "/views/users.view"

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

関連スキル

  • 派生テーブル:標準(SDT)およびネイティブ(NDT)の派生テーブルのパターン/マテリアライズ。

コメント