creating-lookml-model について
このスキルは、合意済みのBigQueryテーブルを基にLookMLのビューとモデルを作成し、接続のマッピング、プロジェクト検証、クエリテストまで行う手順を案内します。ダッシュボード向けデータモデルの構築を対象としています。
主な機能
- 01BigQueryテーブルのビュー作成
- 02モデル、explore、joinの記述
- 03モデルとデータベース接続のマッピング
- 04LookMLプロジェクトの検証
- 05クエリによるモデル結果の確認
活用シーン
- 01対象ダッシュボード用LookMLモデルの構築
- 02Lookerモデルと指定接続のマッピング
- 03LookMLの検証とクエリ結果のテスト
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ looker-open-source/ looker-skills --skill creating-lookml-modelインストール後、Claude Code で/creating-lookml-modelを入力して読み込まれたか確認します。
詳細
LookML モデルとビューの作成、LookML の記述
このスキルでは、ユーザーがオンボーディング時のインタビューで依頼したダッシュボードに備えて、必要なすべての LookML(ビュー ファイルとモデル ファイル)を記述するプロセス、Looker での接続マッピングの設定、LookML コードの検証、および正しく機能することを確認するためのインラインクエリの実行について説明します。
前提条件と参考資料
- Looker CLI がインストールされ、認証済みである必要があります(ステップ 2、3)。
- Looker プロジェクトと BigQuery 接続が作成済みである必要があります(ステップ 4、5)。
- 重要な参考資料:すべての LookML 要素の記述と検証にあたっては、
lookml-modeling-guidelinesスキルを必ず読み、ベストプラクティス、命名要件、制約に厳密に従ってください。
手順
1. オンボーディングの目標とスキーマ仕様を確認する
会話履歴を参照し、ステップ 1(ディスカバリー)のインタビューでユーザーと確認したオンボーディングの目標と BigQuery の調査結果を確認してください。以下を思い出す必要があります。1. 対象のダッシュボードの目標(例:売上概要、サポート指標など)。2. 合意した具体的なGCP プロジェクト、データセット、テーブル(ファクトテーブルとディメンションテーブル)。3. 使用する対象の指標(メジャー)とディメンション。
注:これらの詳細をでっち上げたり、推測したりしないでください。ビュー、フィールド、Explore、モデルの名前は、ステップ 1 で調査したスキーマとテーブルに直接対応させる必要があります。
2. ビュー ファイルを作成して編集する(CLI)
対象のダッシュボードの作成に必要な BigQuery テーブルごとに、LookML のビュー定義を記述し、プロジェクトにアップロードする必要があります。
-
viewsディレクトリを作成する:プロジェクトにviews/ディレクトリがまだ存在しない場合は、Looker CLI を使用して作成します。looker-cli project directory create {project_id} views -
ビューの内容を生成する:テーブルの列(ディスカバリーで確認済み)を取得し、ローカルに LookML ビュー ファイルの内容を記述します(例:
/tmp/{table_name}.view.lkml)。主キーとフィールド定義のガイドラインに従ってください。 -
ビュー ファイルをアップロードする:ファイルを Looker プロジェクトの views フォルダにアップロードします。
looker-cli project file create {project_id} views/{table_name}.view.lkml /tmp/{table_name}.view.lkml -
ガイドラインを参照する:すべてのビュー定義、主キーのルール、フィールド参照の仕様について、
lookml-modeling-guidelinesスキル(セクション 4 および 6.C)のビュー作成に関するベストプラクティスを必ず確認し、厳密に従ってください。
3. モデル ファイルを作成/更新する(CLI)
LookML のモデル定義を記述し、プロジェクトのルートにアップロードします。
-
モデルの LookML 構造(Explore、結合、include を定義)をローカルファイルに記述します(例:
/tmp/{model_name}.model.lkml)。- データベース接続を指定します:
connection: "{connection_name}"。 - 必要なビュー ファイルを指定して include します(例:
include: "/views/orders.view.lkml",include: "/views/users.view.lkml")。パフォーマンスの肥大化やコンパイルエラーを防ぐため、"/views/**/*.view.lkml"のような広範なワイルドカードは使用しないでください。 - ダッシュボードに関する重要事項:LookML ダッシュボードの作成を予定している場合は、
include: "/dashboards/**/*.dashboard.lookml"を追加して、モデル ファイルに必ず含めてください。 - Explore と結合を定義します。
- データベース接続を指定します:
-
モデル ファイルを Looker プロジェクトのルートにアップロードします。
looker-cli project file create {project_id} {model_name}.model.lkml /tmp/{model_name}.model.lkml -
ガイドラインを参照する:すべての include 宣言、Explore 構造、明示的な結合のリレーションシップ定義について、
lookml-modeling-guidelinesスキル(セクション 6.A および 6.B)のモデルと Explore に関するベストプラクティスを必ず確認し、厳密に従ってください。
4. Looker でモデル接続を設定する(CLI)
Looker CLI を使用して、LookML モデルを Looker で許可されているデータベース接続にマッピングします。Looker がモデル設定のマッピングを登録してクエリを有効にするには、この手順が必須です。
-
モデル設定のペイロードを
/tmp/model_config.jsonに直接書き込みます。{ "name": "{model_name}", "project_name": "{project_id}", "allowed_db_connection_names": ["{connection_name}"] } -
モデル設定のマッピングを登録します(必須の手順)。
looker-cli model import /tmp/model_config.json -
マッピングを確認します。
looker-cli model cat {model_name}返された JSON の
allowed_db_connection_namesに、接続が正しく記載されていることを確認します。
5. プロジェクトの LookML を検証する(CLI)
LookML コードに構文エラーやロジックエラーがないことを確認するため、検証します。
-
Looker CLI を使用してプロジェクトの検証を開始します。
looker-cli api project validate_project {project_id} -
エラーが見つかった場合は、ローカルファイルを修正し、
looker-cli project file updateを使用して更新版をアップロードしてから、エラーがなくなるまで検証を再実行します。 -
ガイドラインの参照先:ゼロエラーポリシーにより、検証に失敗するコードの提出は固く禁止されています。検証ルールとフィードバックループの手順については、
lookml-modeling-guidelines(セクション 3 および 5)を参照してください。
6. クエリを実行して検証する(CLI)
検証用のクエリを実行して、接続と LookML モデルをテストします。
-
lookml-modeling-guidelines(セクション 2)の探索ツールを使用して、定義したディメンションとメジャーの完全修飾名を確認します。 -
JSON クエリのペイロードを
/tmp/verify_query.jsonに直接書き込みます(完全修飾されたディメンションとメジャーをリクエストし、行数を 5 行に制限します)。{ "model": "{model_name}", "view": "{explore_name}", "fields": ["{explore_name}.{dimension_name}", "{explore_name}.{measure_name}"], "limit": 5 } -
Looker CLI を使用してクエリを実行します。
looker-cli query runquery --file /tmp/verify_query.json --format json -
クエリが正常に実行され、データベースまたは SQL のエラーなしにデータが返されることを確認します。検証のガイドラインについては、
lookml-modeling-guidelines(セクション 3)を参照してください。