始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
Use SQL Runner to explore available data and troubleshoot SQL queries
/ 30
Create a new dimension
/ 20
Run the Explore query and save as a Look
/ 30
Modify the name of existing dimensions
/ 20
Looker は Google Cloud で利用できる最新のデータ プラットフォームで、インタラクティブにデータを分析して可視化できます。LookML のデベロッパーは、新しいフィールド、テーブル、ビュー、Explore を作成し、データをカスタマイズして編成することによって、ビジネス ユーザーが使用するデータをキュレートします。
このラボでは、Looker の SQL Runner、LookML Validator、Content Validator を使用して LookML コードのトラブルシューティングと診断を行う方法を学びます。
LookML に関する知識が必要です。このラボを開始する前に、「Understanding LookML in Looker」を修了することをおすすめします。
こちらの説明をお読みください。ラボの時間は制限されており、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。
このハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
準備ができたら、[ラボを開始] をクリックします。
[ラボの詳細] ペインに、このラボで使用する一時的な認証情報が表示されます。
ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。
[ラボの詳細] ペインに表示されているラボの認証情報を確認してください(このラボの Looker インスタンスにログインする際に使用します)。
[Open Looker] をクリックします。
提供されたユーザー名とパスワードを、[Email] フィールドと [Password] フィールドに入力します。
ユーザー名:
パスワード:
[Log In] をクリックします。
正常にログインすると、このラボで使用する Looker インスタンスが表示されます。
このセクションでは、LookML コードのトラブルシューティングに使用できるさまざまなツールや方法と、それぞれの一般的なユースケースについて説明します。
LookML Validator を使用して、完全なモデル検証を行います。結合の欠落による無効なフィールド参照などの一部のエラーは、モデル全体の確認を必要とするため、LookML Validator を実行して初めて明らかになります。LookML Validator は、オブジェクト定義(例: ディメンション、メジャー)の構文や定義された関係(例: 結合)など、モデル内のすべての LookML コードをチェックします。ただし、LookML オブジェクトの SQL パラメータ(SQL 派生テーブルなど)はチェックしません。
新しい LookML オブジェクトを定義したら、Explore でクエリを実行できます。これにより、基盤となるデータベースからの SQL エラー(権限の不足、SQL オブジェクト参照の誤り、無効な集計など)が表示されるため、LookML コードのトラブルシューティングに役立ちます。
データベースに直接アクセスできる SQL Runner は、クエリ内の SQL エラーを確認する際にも役立ちます。LookML オブジェクトの SQL パラメータに含めるカスタム SQL をテストできます。また、データベース テーブルのリストの表示、アドホック クエリの実行、SQL 派生テーブルのクエリの作成などもできます。
Content Validator は、LookML モデル、Explore、ビュー、フィールドに対する Look とダッシュボードによる参照をすべて検証し、不明な LookML オブジェクトをコンテンツが参照していればエラーを表示します。また、インスタンスで作成された Look とダッシュボードもチェックし、LookML オブジェクトへの参照が有効であることを確認します(たとえば、Explore の特定のディメンションやメジャーの名前が時間の経過とともに変更された場合など)。
特定のエラーについて不明な点がある場合は、Looker エラーカタログを確認すると、一般的なエラー メッセージ、その根本原因、Looker のどこにメッセージが表示されるかがわかります。
SQL Runner を使用すると、データベース接続の基盤となるテーブルに直接アクセスできます。SQL Runner 内では、利用可能なデータテーブルと列が一覧表示され、データに対してカスタム SQL クエリを実行できます。このタスクでは、利用可能なデータを調査し、SQL クエリのトラブルシューティングを行った後、SQL Runner で新しい SQL 派生テーブルを作成します。
切り替えボタンをクリックして開発モードに切り替えます。
[開発] タブで [SQL Runner] を選択します。
設定()をクリックし、[公開プロジェクトを検索] をクリックします。
[プロジェクト] のボックスが空になります。
「cloud-training-demos」と入力して、Enter キーを押します。
[データセット] は [looker_ecomm] を選択します。
この BigQuery データセットで利用可能なテーブルのリストが表示されます。
以下のクエリを [SQL クエリ] ウィンドウに追加します。
[実行] の横にある設定アイコン()をクリックし、[プロジェクトに追加] をクリックします。
[プロジェクト] で [qwiklabs-ecommerce] を選択します。
[ビュー名] に「user_order_lifetime」と入力します。
[追加] をクリックします。
ファイル ブラウザで、user_order_lifetime.view を views フォルダにドラッグします。
user_order_lifetime.view ファイルの sql パラメータから LIMIT 10 のコード行を削除します。
primary_key は定義していません。
training_ecommerce.model ファイルに移動します。
explore: events 定義の、join: event_session_facts の前の新しい行で、次のコードを使用して新しい結合を定義します。
[LookML を検証] をクリックしてから、[Commit Changes & Push] をクリックします。
commit メッセージを追加して、[Commit] をクリックします。
最後に、[本番環境にデプロイ] をクリックします。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
LookML Validator は、定義されたオブジェクト(ディメンションやメジャーなど)の構文をテストし、モデル内の関係(結合など)を検証するのに役立ちます。このタスクでは、Explore のベースビューに結合されていない別のビューを参照する、LookML 構文が正しくない新しいディメンションを作成します。次に、LookML Validator を使用して、2 つの問題を特定して修正します。
qwiklabs-ecommerce プロジェクトで、users.view を開きます。
最後のディメンションを見つけ、次のコードを追加して(88 行目付近)新しいディメンションを作成します。
新しいディメンションは、user_order_lifetime という名前で新しく作成されたビューのディメンションを参照しています。
ビューに無効な構文が含まれるようになったため、有効なビューとは見なされなくなりました。そのため、ビューが見つからないという理由により、モデルファイル内でさらに以下のエラーが特定されます。
ビューファイル内の新しいディメンションの構文が修正されると、ビューが再び有効になるため、モデルファイルのエラーも解決されます。
次に、LookML コードのエラーをトラブルシューティングします。
users.view ファイルの他のディメンションを確認します。
ディメンション、フィルタ、パラメータのタイプに関するドキュメントを確認します。
[変更内容を保存] をクリックし、[LookML を検証] をクリックします。
構文が更新されたため、ビューは再び有効になり、モデルエラーも解決されました。しかし、ここで新しいエラーが発生します。
Looker エラーカタログで Inaccessible view のエラー メッセージを確認します。
調べるべきポイントはいくつかあります。
ファイル ブラウザでビューの一覧を確認します。user_order_lifetime というビューがファイル ブラウザに実際に存在することを確認します。
training_ecommerce.model を開いて確認します。
user_order_lifetime という新しいビューは、モデルファイル内の Explore のベースビューに結合されていません。また、users.view が order_items と event の両方の Explore に結合されています。そのため、users.view 内で新しいディメンションを正しく定義するには、user_order_lifetime の新しいビューも両方の Explore に結合する必要があります。
explore: order_items 定義の、join: users の前の新しい行で、次のコードを使用して新しい結合を定義します。
次のタスクを開始するにあたり、IDE のブラウザタブは開いたままにしておきます。
[LookML を検証] をクリックしてから、[Commit Changes & Push] をクリックします。
commit メッセージを追加して、[Commit] をクリックします。
最後に、[本番環境にデプロイ] をクリックします。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
LookML コードの変更をテストする簡単な方法は、Explore でクエリを実行して、ビジネス ユーザーが変更されたコードをどのように表示し、操作するかを確認することです。Explore クエリを実行することで、欠落している LookML オブジェクトや無効な LookML オブジェクト(primary_key の欠落など)を特定し、権限の不足や SQL オブジェクト参照の誤り(結合の定義の誤りなど)といった基盤となるデータベースからの SQL エラーを確認できます。
このタスクでは、Explore でクエリを実行し、誤って定義された結合と欠落しているメジャーを特定します。また、新たに定義した結合の LookML を修正し、新しいビューに primary_key を追加して、集計(つまりメジャー)が正しく処理されるようにします。
新しいタブで新しい Looker ウィンドウを開きます。
[Explore] > [Order Items] の順に移動します。
[User Order Lifetime] のビューを開きます。
3 つのディメンション(lifetime_orders、lifetime_sales、user_id)が表示されますが、メジャーは表示されません。
次のステップに進むにあたり、このブラウザタブは開いたままにしておきます。
Looker IDE のブラウザタブに戻り、user_order_lifetime.view に戻ります。Explore に count というメジャーが 1 つ表示されます。
対称集計の要件に関するドキュメントを確認します。最初の要件は、結合に関与するすべてのビューで primary_key が定義されていることです。
user_order_lifetime.view をもう一度確認します。
primary_key が定義されていません。
user_id ディメンションを更新して、ビューの primary_key として定義します。[変更内容を保存] をクリックし、[LookML を検証] をクリックします。
Order Items Explore のブラウザタブに戻り、ページを再読み込みします。
[User Order Lifetime] のビューを開きます。
ビューの primary_key を定義すると、Count メジャーが表示されます。
次の手順では、Order Items Explore で、user_order_lifetime.view のディメンションに依存する users.view で定義された新しいディメンション(Average Sales)をテストします。
Explore から基盤となるデータベースに送信された SQL クエリとともに、エラー メッセージが表示されます。「Query execution failed: - Syntax error: Expected end of input but got identifier "order_items" at [13:1]」というエラー メッセージで、13 行目の問題を特定しています。
エラーに関する情報が十分ではありませんが、この新しいビューは Events Explore にも結合していました。次のステップでは、Events Explore で同じクエリを実行し、その Explore でビューをテストします。
このブラウザタブで Order Items Explore を開いたままにして、新しいタブで新しい Looker ウィンドウを開きます。
[Explore] > [Events] に移動します。
[Users] > [Dimensions] で、[Average Sales] をクリックし、[Run] をクリックします。
[Data] ペインで [SQL] タブを開き、クエリが成功したことを確認します。
このクエリの 13 行目を確認します。
Order Items Explore のクエリとは異なり、この 13 行目のクエリ構文では、events と user_order_lifetime の間の join を指定しています。
Looker IDE のブラウザタブに戻り、training_ecommerce.model を開きます。
order_items Explore と events Explore の両方で、user_order_lifetime の結合を確認します。
LookML パラメータ リファレンス(機能別)を参照してパラメータを確認します。
explore: order_items 定義の user_order_lifetime の結合を次のように更新します。[変更内容を保存] をクリックし、[LookML を検証] をクリックします。
LookML エラーは発生しません。
Order Items Explore のブラウザタブに戻り、ページを再読み込みします。
order_items Explore 内で user_order_lifetime の結合を正しく定義したため、クエリは正常に実行されます。
[Average Sales] 列を 1 回クリックして、降順に並べ替えます。
ID、State、Country、Age のディメンションをクリックしてクエリを開きます。
[行数上限] に「10」と入力します。
[実行] をクリックします。
[ビジュアリゼーション] ペインを開き、[テーブル] ビジュアリゼーションを選択します。
設定アイコン()をクリックします。
[保存] > [Look として保存] をクリックします。
Look に「Top 10 Users With Highest Average Sales」という名前を付けます。
[Look を保存して表示] をクリックします。
ビジュアリゼーションは次のようになります。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
Content Validator を使用すると、インスタンスで作成された Look とダッシュボードをチェックして、LookML オブジェクトへの参照が有効であることを確認できます。これは、ディメンション、メジャー、ビュー、Explore、モデルの名前が変更された場合に特に役立ちます。このツールがインスタンスのコンテンツやオブジェクトに与える可能性のある影響について詳しくは、「Content Validator を使用する前に」のドキュメントをご覧ください。
このタスクでは、LookML オブジェクト(ディメンションなど)の名前をユーザー フレンドリーなものに変更します。次に Content Validator を使用し、既存のコンテンツ(Look など)内の LookML オブジェクトへの参照を検証して更新します。
average_sales というディメンションを見つけて、ビジネス ユーザーにとって具体的な名前に変更します。[変更内容を保存] をクリックし、[LookML を検証] をクリックします。
LookML エラーは発生しません。
IDE のブラウザタブを開いたままにして、Look のブラウザタブに戻り、ページを再読み込みします。
以下の警告が表示されます: 「users.average_sales」は、Order Items に存在しないか、アクセス権がないため、無視されます。
新しいタブで新しい Looker ウィンドウを開きます。
[開発] > [Content Validator] に移動します。
[検証] をクリックします。
[エラー] タブがアクティブになり、前のタスクで作成した「Top 10 Users With Highest Average Sales」という Look に関して「Unknown field "users.average_sales"」のエラーが表示されます。
[すべてのコンテンツの検索と置換] をクリックします。
[タイプ] で [フィールド] を選択します。
[フィールド名] に「users.average_sales」と入力します。
[置換フィールド名] に「users.average_order_price」と入力します。
[フィールド名を置換] をクリックします。
[OK] をクリックします。
[検証] をクリックします。
[エラー] タブが空になります。これは、ディメンションの名前が、そのディメンションを参照していたすべてのコンテンツ(この場合は「Top 10 Users With Highest Average Sales」という Look)で更新されたためです。
Look のブラウザタブに戻り、ページを再読み込みします。
Look が更新され、ビジュアリゼーションが正常にレンダリングされたので、LookML の変更を本番環境に push できます。
IDE のブラウザタブに戻ります。
[LookML を検証] をクリックします。LookML エラーは発生しません。
[LookML を検証] をクリックしてから、[Commit Changes & Push] をクリックします。
commit メッセージを追加して、[Commit] をクリックします。
最後に、[本番環境にデプロイ] をクリックします。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
このラボでは、まず SQL Runner を使用して問題のある SQL クエリのトラブルシューティングを行い、LookML Validator を使用して定義されたオブジェクトと関係の構文を検証しました。次に、Explore クエリ ウィンドウを使用して欠落しているオブジェクトとエラー メッセージを診断し、LookML オブジェクトを変更した後、Content Validator を使用してコンテンツのテストと更新を行いました。
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2024 年 4 月 23 日
ラボの最終テスト日: 2023 年 2 月 9 日
Copyright 2026 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください