mcpField
L
lookml-sets

lookml-sets

github.com/looker-open-sourceデータ・データベース43146 回インストール2 週間前に更新
リポジトリ

lookml-sets について

LookML 開発者向けに、ディメンション、メジャー、フィルターを再利用可能なフィールドリストとしてまとめる Set を解説します。ドリル項目や Explore の表示制御、フィールドの除外に利用できます。

主な機能

  1. 01再利用可能なフィールドリストの定義
  2. 02他の Set のフィールドの合成や除外
  3. 03メジャーのドリル項目の設定
  4. 04Explore のフィールド表示制御

活用シーン

  1. 01メジャーからドリルした際の詳細フィールドの指定
  2. 02Explore のフィールド選択画面で表示項目を制限
  3. 03フィールドを全体では非表示にせず Explore から除外

インストール

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

$npx skills add https://github.com/looker-open-source/looker-skills --skill lookml-sets

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

詳細

LookML セット

セットとは、ビューまたはモデル内で定義する、フィールド(ディメンション、メジャー、フィルター)の再利用可能なリストです。主に、ドリルダウンパスや Explore のフィールド表示など、さまざまな用途に合わせてフィールドをまとめるために使用します。

構文

set: set_name {
  fields: [field_name1, field_name2, view_name.field_name3, ...]
}
主な機能
  • 再利用性:フィールドのリストを一度定義すれば、複数の場所で使用できます。
  • 組み合わせ:
    • すべてを含める:[set_name*] は、別のセットに含まれるすべてのフィールドを含めます。
    • 除外:[-field_name] は、特定のフィールドを除外します。
    • 外部参照:view_name.set_name* は、別のビューにあるセットを参照します(ビューが結合されていることを確認してください)。

ユースケース

1. ドリルフィールド(主なユースケース)

セットは、ユーザーがメジャーの値をクリックしたときの動作を定義する標準的な方法です。フィールドを繰り返し列挙する代わりに、セットを定義して参照します。

view: orders {
  # ... dimensions ...

  set: order_details {
    fields: [id, created_date, status, user.email]
  }

  measure: count {
    type: count
    drill_fields: [order_details*]
  }
}
2. Explore の表示設定(フィールドピッカー)

Explore レベルでセットを使用すると、ユーザーに表示するフィールドを明示的に定義できます。Explore を整理する際のベストプラクティスです。

explore: orders {
  fields: [ALL_FIELDS*]         # Start with everything (default)
  # OR
  fields: [orders.order_details*, users.user_info*] # Allowlist specific sets
}
3. フィールドの除外

セットを使用すると、ビューのレベルでフィールドを非表示にすることなく(ビューで非表示にすると、全体で非表示になります)、Explore から特定のフィールドを除外できます。

explore: orders {
  fields: [ALL_FIELDS*, -users.password_hash]
}

ベストプラクティス

1. detail セット

各ビューには、そのビューのレコードをドリルして詳細を確認する際に最も関連性の高いフィールドを含むデフォルトのセット(一般的には detail または drill_set という名前)を用意することをおすすめします。

view: users {
  dimension: id { primary_key: yes ... }
  dimension: name { ... }
  dimension: email { ... }

  # Standard set for drilling
  set: detail {
    fields: [id, name, email]
  }
}
2. 命名規則
  • セット名には snake_case を使用します。
  • user_info、financial_metrics、drill_detail など、内容が分かりやすい名前を使用します。
3. ビューセットでのビュー間依存関係を避ける

ビューのセット内で other_view.field を参照することもできますが、依存関係が発生します。セットを使用する際に、other_view が必ず結合されていることを確認してください。

  • 推奨:ビュー内で、そのビュー自身のフィールドだけを含むセットを定義します。
  • Explore レベル:Explore レベルで複数のビューのセットを組み合わせます(例:fields: [orders.detail*, users.detail*])。
4. 累積セット

ほかのセットを基にしてセットを作成できます。

set: basic_info {
  fields: [id, name]
}

set: extended_info {
  fields: [basic_info*, email, created_date]
}

コメント