始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
Create SQL derived table
/ 10
Create native derived table
/ 10
Add a derived column in the view file for the native derived table
/ 10
Looker は Google Cloud で利用できる最新のビジネス ユーザー向けデータ プラットフォームで、データをインタラクティブに分析して可視化できます。LookML のデベロッパーは、新しいフィールド、テーブル、ビューを作成してデータをカスタマイズして編成することによって、ビジネス ユーザーが使用するデータをキュレートします。
また、Looker の派生テーブルを使用して、基盤となるデータベースではまだ定義されていない新しいテーブルを作成できます。たとえば、既存のテーブルから、e コマース データセットの各ユーザーの注文詳細などの詳細を要約するための派生テーブルを作成できます。
このラボでは、LookML で、SQL の派生テーブルとネイティブ派生テーブルの両方のタイプの派生テーブルを作成する方法を学びます。また、基盤となるデータにまだ存在しない新しい列を定義し、それをネイティブ派生テーブルに追加する方法も学びます。最後に、LookML で派生テーブルを永続化して、基盤となるデータベースに書き戻せるようにする方法を学びます。
このラボでは、LookML ですでに作成済みの qwiklabs-ecommerce というプロジェクトを使用します。このプロジェクトは、注文、プロダクト、ユーザーに関する情報が含まれる e コマースの疑似データセットを基に作成されています。
LookML のモデリングの詳細については、Looker のドキュメントの LookML の記述の説明をご覧ください。
このラボでは、LookML で派生テーブルを作成し、永続化します。
ラボごとに、新しいプロジェクトとリソースのセットを一定期間無料で利用できます。
Qwiklabs には、必ずシークレット ウィンドウでログインしてください。
ラボのアクセス時間(例: 2:00:00)に注意し、時間内に完了できるようにしてください。
新しいパネルが開き、このラボで使用する一時的な認証情報が表示されます。
ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。
ヒント: 新しいタブまたは別のウィンドウで Looker を開くことをおすすめします。こうすることで、作業中、ラボの手順と Looker インスタンスの両方を確認できます。
重要: このページの [接続の詳細] パネルに表示されている認証情報を使用する必要があります(ご自身の Qwiklabs 認証情報は使用しないでください)。ご自身の Looker アカウントをお持ちの場合でも、このラボでは使用しないでください。
正常にログインすると、このラボで使用する Looker インスタンスが表示されます。
LookML で派生テーブルを定義するには、SQL クエリを使用して SQL の派生テーブルを定義するか、Explore クエリを使用してネイティブ派生テーブルを定義します。
このタスクでは、各ユーザーの注文総数や総収益など、各ユーザーの注文の詳細を要約した新しい SQL の派生テーブルを定義するために SQL クエリを記述します。その後、その SQL の派生テーブルに対して、qwiklabs-ecommerce プロジェクトに新しいビューファイルを作成します。
まだ有効になっていない場合は、開発モードを有効にします。Looker のユーザー インターフェースの左下にある切り替えボタンをクリックして Development Mode に切り替えます。
Looker のユーザー インターフェースの左側にあるナビゲーション メニューで、[開発] をクリックします。[SQL Runner] をクリックします。
[SQL クエリ] ウィンドウで、次のクエリを追加します。
結果から、クエリによって、各ユーザーのすべての注文が正常に要約されることがわかります。具体的には、このクエリによって、各ユーザーの注文に基づくユーザー ID、注文のカウント、売上合計が返されます。
このテスト中に返されるデータの量を減らすために、LIMIT 句を使用していることに注目してください。この後のステップで SQL の派生テーブルに対する新しいビューファイルを作成するときには、LIMIT 句を削除します。
[実行](ページの右上)の横にある設定の歯車アイコン()をクリックし、[プロジェクトに追加…] を選択します。
[プロジェクト] で、[qwiklabs-ecommerce] を選択します。
[ビュー名] に「user_order_details」と入力し、[追加] をクリックします。
SQL の派生テーブルに対して新しく作成されたビューファイルをレビューするために、Looker 統合開発環境(IDE)にリダイレクトされます。
[user_order_details] ビューの新しいビューファイルは、[views] フォルダの外に作成されています。
[user_order_details.view] をクリックして、[views] フォルダの下にドラッグします。
[views] の横にある矢印をクリックして、ビューの一覧を表示します。
[user_order_details.view] をクリックして、SQL の派生テーブルに対するビューファイルを参照します。
Looker によって、SQL クエリの SELECT 句の各列に、新しい 1 つのディメンションと 1 つのカウントのメジャーが自動で作成されます。
この後のステップでは、ビューファイルを変更して不要になった LIMIT 句を削除し、新しいカウント メジャーを非表示にして、ビューに主キーを追加します。
sql パラメータから LIMIT 10 のコード行を削除します。
measure: count 定義で、type: count の前に新しい行を追加し、「hidden: yes」と入力します。
dimension: user_id 定義で、type: number の前に新しい行を追加し、「primary_key: yes」と入力します。
この SQL 派生テーブルは、Explore に結合したり、ディメンションやメジャーなどで変更したりできるようになりました。次のステップでは LookML の変更を本番環境に送信し、他の LookML デベロッパーが SQL の派生テーブルに対して新しく作成されたビューファイルを使用して、必要に応じて完成させることができるようにします。
[LookML を検証] をクリックしてから、[Commit Changes & Push] をクリックします。
[Commit] ウィンドウでメッセージを追加して、行った変更を指定してから [Commit] をクリックします。
[本番環境にデプロイ] をクリックします。
次のタスクでは、既存の LookML ディメンションとメジャーを使用して、テーブルをネイティブ派生テーブルとして再作成します。次に、ネイティブ派生テーブルを Explore に結合して、Explore で新しいテーブルをテストし、ビジネス ユーザーが使用できるようにします。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
このタスクでは、Explore クエリを使用して、タスク 1 の派生テーブルをネイティブ派生テーブルとして再作成します。その後、そのネイティブ派生テーブルに対して、qwiklabs-ecommerce プロジェクトに新しいビューファイルを作成します。
Looker のユーザー インターフェースの左側にあるナビゲーション メニューで、[Explore] をクリックします。
[E-Commerce Training] で、[Order Items] をクリックします。
[Order Items] の横にある矢印をクリックします。
Order Items のデータパネルに、利用可能なディメンションとメジャーのリストが表示されます。
[Order Items] > [Dimensions] で、[User ID] をクリックします。
[Order Items] > [Measures] で、[Order Count] をクリックします。
[Order Items] > [Measures] で、[Total Revenue] をクリックします。
[実行] をクリックして、結果を確認します。
Explore クエリによって、各ユーザーの注文に基づくユーザー ID、注文のカウント、売上合計が返されます。
[実行](ページの右上)の横にある設定の歯車アイコン()をクリックして、[LookML を取得] を選択します。
派生テーブルのタブを選択します。
派生テーブル用の LookML コードをコピーします。
この後、この派生テーブル用の LookML コードを新しいビューファイルに貼り付けます。
新しいタブで新しい Looker ウィンドウを開きます。
Looker のユーザー インターフェースの左側にあるナビゲーション メニューで、[開発] をクリックします。
[プロジェクト] で、[qwiklabs-ecommerce] をクリックします。
[ファイル ブラウザ] の横で、[ファイルまたはフォルダを追加] アイコン()をクリックします。
[ビューを作成] を選択します。
[file name] として、「user_order_summary」と入力します。
[作成] をクリックします。
user_order_summary ビューの新しいビューファイルが、先ほどと同様に views フォルダの外に作成されています。
user_order_summary.view をクリックして、views フォルダの下にドラッグします。
[views] の横にある矢印をクリックして、ビューの一覧を表示します。
user_order_summary.view をクリックして、ネイティブ派生テーブルに対するビューファイルを表示します。
ビューファイル内の自動作成されたすべての LookML を削除します。
コピーした、ネイティブ派生テーブル用の LookML コードを貼り付けます。
自動生成されたビュー名(add_a_unique_name_1620763463 など)を user_order_summary に置き換えます。
次のタスクでは、この新しいビューを Explore に結合させ、ビジネス ユーザーがそのビューにアクセスできるようにします。
派生テーブルのデータを参照するビジネス ユーザーのために、派生テーブル定義を含むビューを Explore のベースビューとして追加するか、既存の Explore に結合する必要があります。派生テーブルのビューを Explore に結合するステップは、そのビューが SQL に対して作成されたものであっても、ネイティブ派生テーブルに対して作成されたものであっても同じです。
このタスクでは、ネイティブ派生テーブルに対するビューを、qwiklabs-ecommerce プロジェクトのモデルファイル内の order_items Explore 定義に結合します。その後 Order Items Explore で、データと、ネイティブ派生テーブルから生成された SQL をレビューします。
Looker のユーザー インターフェースの左側にあるナビゲーション メニューで、[開発] をクリックします。
[プロジェクト] で、[qwiklabs-ecommerce] をクリックします。
[models] の横にある矢印をクリックしてモデルファイルを表示します。
training_ecommerce.model をクリックして、qwiklabs-ecommerce プロジェクトのモデルファイルを表示します。
explore: order_items 定義の、join: users の前の新しい行で、次のコードを使用して新しい結合を定義します。
sql_on パラメータによって、user_id が結合フィールドとして特定されています。relationship パラメータによって、order_items には user_id の複数のインスタンスが存在する場合がありますが、user_order_summary は各ユーザーに対して要約行が 1 つになるように編成されているため、各 user_id のインスタンスが 1 つのみになることが示されています。
新しいタブで新しい Looker ウィンドウを開きます。
Looker のユーザー インターフェースの左側にあるナビゲーション メニューで、[Explore] をクリックします。
[E-Commerce Training] で、[Order Items] をクリックします。
[User Order Summary] の横にある矢印をクリックします。
[User Order Summary] のデータパネルに、利用可能なディメンションが一覧表示されます。[User Order Summary] にはメジャーがなく、[Order Items] から選択された [Order Count] と [Total Revenue] のメジャーが [User Order Summary] のディメンションであることに注目してください。
[User Order Summary] > [Dimensions] で、[User ID] をクリックします。
[User Order Summary] > [Dimensions] で、[Order Count] をクリックします。
[User Order Summary] > [Dimensions] で、[Total Revenue] をクリックします。
[実行] をクリックして、結果を確認します。
[SQL] タブをクリックして、Looker によって生成された SQL クエリを表示します。
SQL に、WITH 句によって識別される共通テーブル式(CTE)が含まれていることに注目してください。このネイティブ派生テーブルは、実行時に CTE として生成されるためエフェメラルとみなされます。
派生テーブルは永続化することもでき、その場合は、基盤となるデータベースに格納されます。後のタスクで、この派生テーブルを永続化して、データベースに書き戻せるようにします。
user_order_summary.view ファイルに戻ります。
[LookML を検証] をクリックしてから、[Commit Changes & Push] をクリックします。
[Commit] ウィンドウでメッセージを追加して、行った変更を指定してから [Commit] をクリックします。
[本番環境にデプロイ] をクリックします。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
ネイティブ派生テーブルの主要なメリットは、追加のパラメータを活用して、基盤となるデータにまだ存在しないものを含む新しい列を容易に追加できることです。たとえば、derived_column パラメータを使用して、ネイティブ派生テーブルを定義するために使用された Explore にまだ存在しない新しい列を作成できます。
このタスクでは、前のタスクで作成したネイティブ派生テーブルに、派生列を追加します。新しい派生列には、注文による売上額の平均が顧客単位で格納されます。この値は、ネイティブ派生テーブルの既存の列から計算できます(顧客ごとの売上合計を顧客ごとの注文数で除算)。
派生列を作成した後、user_order_summary ビューで派生列の新しいディメンションを定義して、ビジネス ユーザーが Explore でデータをクエリできるようにします。
Looker のユーザー インターフェースの左側にあるナビゲーション メニューで、[開発] をクリックします。
[プロジェクト] で、[qwiklabs-ecommerce] をクリックします。
[views] の横にある矢印をクリックして、ビューの一覧を表示します。
user_order_summary.view をクリックして、ネイティブ派生テーブルに対するビューファイルを表示します。
user_order_summary 派生テーブルの定義の、column: total_revenue {} の後の新しい行で、次のコードを使用して新しい派生列を定義します。
total_revenue のディメンションを見つけます。
total_revenue のディメンションの後の新しい行で、次のコードを使用して、average_order_revenue の新しいディメンションを定義します。
新しいタブで新しい Looker ウィンドウを開きます。
Looker のユーザー インターフェースの左側にあるナビゲーション メニューで、[Explore] をクリックします。
[E-Commerce Training] で、[Order Items] をクリックします。
[User Order Summary] の横にある矢印をクリックします。
[User Order Summary] のデータパネルに、利用可能なディメンションが一覧表示されます。
[User Order Summary] > [Dimensions] で、[User ID] をクリックします。
[User Order Summary] > [Dimensions] で、[Order Count] をクリックします。
[User Order Summary] > [Dimensions] で、[Total Revenue] をクリックします。
[User Order Summary] > [Dimensions] で、[Average Order Revenue] をクリックします。
[実行] をクリックして、結果を確認します。
[SQL] タブをクリックして、Looker によって生成された SQL クエリを表示します。
average_order_revenue という新しい列は、ネイティブ派生テーブルを作成するために使用された基盤となる Explore(Order Items Explore)にはもともと含まれていなかったにもかかわらず、この列の計算が CTE に含まれるようになったことに注目してください。
派生列の詳細については、計算された値に対する派生列の作成に関する Looker のドキュメントをご覧ください。
user_order_summary.view ファイルに戻ります。[LookML を検証] をクリックしてから、[Commit Changes & Push] をクリックします。
[Commit] ウィンドウでメッセージを追加して、行った変更を指定してから [Commit] をクリックします。
[本番環境にデプロイ] をクリックします。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
前のタスクでは、一時的な派生テーブルを作成しました。つまり、テーブルは基盤となるデータベースに保存されるのではなく、実行時に生成されます。このタスクでは、派生テーブルを永続化して、基盤となるデータベースに書き戻せるようにします。派生テーブルを永続化するステップは、SQL 派生のテーブルでもネイティブ派生のテーブルでも同様です。
派生テーブルを永続化するには、次のパラメータのいずれかを派生テーブルの定義に追加します。
これらのパラメータについて詳しくは、「Looker の派生テーブル」ドキュメントの永続的な派生テーブルの作成に関するセクションをご確認ください。
このタスクでは、datagroup_trigger パラメータを使用してネイティブ派生テーブルを永続化します。これにより、モデルファイルで定義された事前定義のデータグループ(または Looker キャッシュ ポリシー)に基づいて永続的な派生テーブルが再ビルドされます。
user_order_summary という名前のネイティブ派生テーブルに対して、training_ecommerce_default_datagroup を datagroup_trigger として追加することにより、このデータグループを使用して永続的な派生テーブルを再ビルドします。
training_ecommerce_default_datagroup は training_ecommerce.model 内で定義され、1 時間ごとにモデルで定義されるすべてのオブジェクトを再ビルドするパラメータを含みます。
Looker のユーザー インターフェースの左側にあるナビゲーション メニューで、[開発] をクリックします。
[プロジェクト] で、[qwiklabs-ecommerce] をクリックします。
[views] の横にある矢印をクリックして、ビューの一覧を表示します。
user_order_summary.view をクリックして、ネイティブ派生テーブルに対するビューファイルを表示します。
derived_table 定義で、explore_source: order_items の閉じかっこ(})の後に新しい行を追加して、以下を貼り付けます。
新しいタブで新しい Looker ウィンドウを開きます。
Looker のユーザー インターフェースの左側にあるナビゲーション メニューで、[Explore] をクリックします。
[E-Commerce Training] で、[Order Items] をクリックします。
[User Order Summary] の横にある矢印をクリックします。
[User Order Summary] のデータパネルに、利用可能なディメンションが一覧表示されます。
[User Order Summary] > [Dimensions] で、[User ID] をクリックします。
[User Order Summary] > [Dimensions] で、[Order Count] をクリックします。
[User Order Summary] > [Dimensions] で、[Total Revenue] をクリックします。
[User Order Summary] > [Dimensions] で、[Average Order Revenue] をクリックします。
[実行] をクリックして、結果を確認します。
[SQL] タブをクリックして、Looker によって生成された SQL クエリを表示します。
数秒後、WITH 句が標準の SQL SELECT ステートメントに置き換えられます。また、Looker が既存の user_order_summary テーブルを使用することを知らせるメッセージも表示されます。
この派生テーブルは実行時に CTE として生成されなくなります。代わりに、派生テーブルはデータグループを使用して永続化され、基盤となるデータベースに書き戻されました。
user_order_summary.view ファイルに戻ります。[LookML を検証] をクリックしてから、[Commit Changes & Push] をクリックします。
[Commit] ウィンドウでメッセージを追加して、行った変更を指定してから [Commit] をクリックします。
[本番環境にデプロイ] をクリックします。
ラボが完了したら、[ラボを終了] をクリックします。ラボで使用したリソースが Google Cloud Skills Boost から削除され、アカウントの情報も消去されます。
ラボの評価を求めるダイアログが表示されたら、星の数を選択してコメントを入力し、[送信] をクリックします。
星の数は、それぞれ次の評価を表します。
フィードバックを送信しない場合は、ダイアログ ボックスを閉じてください。
フィードバックやご提案の送信、修正が必要な箇所をご報告いただく際は、[サポート] タブをご利用ください。
Copyright 2020 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください