始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
Add the conditionally_filter filter to the Order Items Explore
/ 100
Looker は Google Cloud で利用できる最新のデータ プラットフォームで、インタラクティブにデータを分析して可視化できます。Looker を使用すると、詳細なデータ分析、さまざまなデータソース間での分析情報の統合、実用的なデータドリブン ワークフローの構築、独自のデータ アプリケーションの作成を行うことができます。
Explore は、Looker のビジネス ユーザーが自らデータ探索を行う際の基盤として利用できるデータビューです。このラボでは、フィルタを適用して、Explore をさらに活用する方法を学びます。
このラボでは、次の方法について学びます。
sql_always_where フィルタと sql_always_having フィルタを使用するalways_filter を使用するconditionally_filter を使用するこちらの説明をお読みください。ラボの時間は制限されており、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。
このハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
準備ができたら、[ラボを開始] をクリックします。
[ラボの詳細] ペインに、このラボで使用する一時的な認証情報が表示されます。
ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。
[ラボの詳細] ペインに表示されているラボの認証情報を確認してください(このラボの Looker インスタンスにログインする際に使用します)。
[Open Looker] をクリックします。
提供されたユーザー名とパスワードを、[Email] フィールドと [Password] フィールドに入力します。
ユーザー名:
パスワード:
[Log In] をクリックします。
正常にログインすると、このラボで使用する Looker インスタンスが表示されます。
Explore をフィルタするには、その Explore で生成されるすべての SQL クエリにデフォルトの WHERE 句または HAVING 句を適用する必要があります。Explore をフィルタリングする方法には主に 3 つあります。
sql_always_where と sql_always_having(この 2 つは動作とユースケースが似ています)always_filterconditionally_filter以下のセクションでは、それぞれの一般的なユースケースについて説明します。
sql_always_where と sql_always_having では両方とも「変更できない」フィルタを Explore に追加することができます。この方法は、特定のデータ行を常に Explore の結果から除外する場合に役立ちます。
sql_always_where フィルタは、SQL クエリのディメンションに適用される WHERE 句を追加するために使用され、一方 sql_always_having は、SQL クエリのメジャーに適用される HAVING 句を追加するために使用されます。ビジネス ユーザーが明示的に実行するクエリに加えて、制限事項はダッシュボード、スケジュールに入れられた Look、その Explore に依存する、埋め込みの情報に適用されます。
フィルタはユーザー インターフェースには表示されませんので、ビジネス ユーザーは生成された SQL を見る権限がない限り、データがフィルタされていることがわかりません。これは、テストデータや社内データなど、Explore の特定の値を除外する場合に便利です。
always_filter を使用すると、ユーザーが定義した特定のフィルタセットを含めるように要求できます。また、フィルタのデフォルト値も定義します。ユーザーはクエリのデフォルト値を変更できますが、フィルタを完全に削除することはできません。これは、ユーザーが常に特定のディメンション(注文のステータスやユーザーの国など)でフィルタすることになるため、取得可能なデータがすべて一度にリクエストされることがないようにする場合に便利です。
always_filter には、ディメンションとメジャーのフィルタリングに使用される Looker フィルタ式と同じものを使用して、特定のフィルタを定義するサブパラメータがあります。filters サブパラメータで指定されたディメンションは、ユーザーが値を指定する必要があるディメンション(注文のステータスやユーザーの国など)を特定します。
フィルタのサブパラメータで指定された特定の値はデフォルト値であり、これはビジネス ユーザーが変更できます。たとえば、デフォルトの注文のステータスが「Complete」である場合に、ビジネス ユーザーはこの値を「Returned」のような別のステータスに変更できます。詳しくは、Looker のフィルタ式に関するドキュメントをご覧ください。
always_filter と同様に、conditionally_filter も、ビジネス ユーザーがアクセスできるフィルタを Explore のフロントエンドに追加できます。conditionally_filter パラメータを使用すると、ユーザーが定義した 2 番目のリストから少なくとも 1 つのフィルタを適用した場合にオーバーライドできるデフォルトのフィルタセットを定義できます。
ユーザーはフィルタの演算子と値を変更できますが、特定の代替フィールドにフィルタを適用しない限り、フィルタそのものを削除することはできません。このフィルタは、ビジネス ユーザーがリクエストするデータ量を制限しつつ、データのフィルタに使える複数の代替ディメンションをユーザーに提供したい場合に便利です。
conditionally_filter にはフィルタを定義するサブパラメータ以外に、データのフィルタに使用できる代替ディメンションを定義するサブパラメータもあります。たとえば、conditionally_filter を使用することで、「フィルタがユーザー ID または状態のディメンションに適用されていなければ、過去 1 か月間のデータのみを返す」というフィルタを作成できます。これは、負荷が大きすぎてデータベースで実行できないほど大規模なクエリを、ユーザーが意図せず作成するのを防止するために使用されるのが一般的です。
このセクションでは、always_filter をOrder Items Explore に追加して、注文ステータスとユーザーの国でフィルタされるようにします。これらは、e コマース データセットにおいて重要な 2 つのディメンションです。
[Develop] タブをクリックし、qwiklabs-ecommerce という LookML プロジェクトを選択します。
qwiklab_ecommerce プロジェクト内の training_ecommerce.model ファイルに移動します。Order Items Explore には現在、フィルタは 1 つも定義されていません。
always_filter」と入力してコロン(:)と中括弧({})を付けます。この中括弧内にフィルタを定義するコードを追加します。
order_items テーブルから status を使用し、デフォルト値の「Complete」と users テーブルの country にデフォルト値の「USA」を使用して、フィルタを定義します。次を使用します。[Save Changes] をクリックします。
IDE の上部でファイル タイトルの横のカーソルをクリックし、[Explore Order Items] を選択します。
Complete
USA
[Order Items] > [Measures] で、[Order Count] をクリックします。
[Run] をクリックします。これで、米国で注文を完了した商品アイテムの数が表示されます。 フィルタは削除できませんが、変更は可能であることに注意してください。
Processing] に変更します。[Country] フィルタを UKに変更します。[Run] をクリックします。 これで、注文された商品アイテム数が、フィルタと同時に更新されるはずです。
training_ecommerce.model ファイルに戻ります。
[LookML を検証] をクリックしてから、[Commit Changes & Push] をクリックします。
commit メッセージを追加して、[Commit] をクリックします。
最後に、[本番環境にデプロイ] をクリックします。
このセクションでは、2021 年以降のデータのみを含めるように、sql_always_where フィルタを Order Items Explore に追加します。これは、長年にわたる大規模なデータベースがあり、今年と来年以降のデータに対してのみクエリを実行したい場合に便利です。
qwiklab_ecommerce プロジェクトの training_ecommerce.model ファイルに戻ります。
前のセクションで作成したフィルタを削除します。
最初の行の下で Order Items Explore を定義し、新しい行を追加して sql_always_where とタイプし、続いてコロン(:)をタイプします。
次に、created_date テーブルを使用して、「2021 年以降のデータのみを含める」フィルタを定義します。
[Save Changes] をクリックします。
IDE の上部でファイル タイトルの横のカーソルをクリックし、[Explore Order Items] を選択します。
sql_always_where 条件は、ユーザーが作成するクエリの基盤となる SQL を確認しない限り、ユーザーには表示されません。
[Order Items] > [Created Date] で、[Date] をクリックします。
[Order Items] > [Measures] で、[Order Count] をクリックします。
[Run] をクリックします。注文アイテムは 2021-01-01 以降の日付のもののみであることに注意してください。
WHERE 句でフィルタが定義されていることに注目してください。training_ecommerce.model ファイルに戻ります。[LookML を検証] をクリックしてから、[Commit Changes & Push] をクリックします。
commit メッセージを追加して、[Commit] をクリックします。
最後に、[本番環境にデプロイ] をクリックします。
このセクションでは、sql_always_having フィルタを Order Items Explore に追加して、ユーザーが複数のアイテムを含む注文を見ることができないようにします。これは、複数のアイテムを含む注文を Explore から除外するために使用します。
qwiklab_ecommerce プロジェクトの training_ecommerce.model ファイルに戻ります。
前のセクションで作成したフィルタを削除します。
Order Items Explore を定義する最初の行の下に新しい行を追加して、sql_always_having とタイプし、次いでコロン(:)をタイプします。
order_item_count メジャーを使用して、注文アイテムが 1 つのデータのみを含めるようにフィルタを定義します。[Save Changes] をクリックします。
IDE の上部でファイル タイトルの横のカーソルをクリックし、[Explore Order Items] を選択します。
sql_always_having 条件は、ユーザーが作成するクエリの基盤となる SQL を確認しない限り、ユーザーには表示されません。[Order Items] で、[Order ID] をクリックします。
[Order Items] > [Measures] で、[Average Sale Price] と [Order Item Count] をクリックします。
[Run] をクリックします。さまざまな注文とそれぞれの平均販売価格が表示されます。ご覧のとおり、アイテム数は常に 1 になっています。
training_ecommerce.model ファイルに戻ります。[LookML を検証] をクリックしてから、[Commit Changes & Push] をクリックします。
commit メッセージを追加して、[Commit] をクリックします。
最後に、[本番環境にデプロイ] をクリックします。
このセクションでは、conditionality_filter フィルタを Order Items Explore に追加して、ユーザー ID または状態のディメンションにフィルタが適用されていない限り、過去 3 年間のデータのみを返すようにします。
qwiklab_ecommerce プロジェクトの training_ecommerce.model ファイルに戻ります。
前のセクションで作成したフィルタを削除します。
Order Items Explore を定義する最初の行の下に新しい行を追加し、「conditionally_filter」とタイプし、次いでコロン(:)と中括弧({})とタイプします。
この中括弧内にフィルタを定義するコードを追加します。
filters サブパラメータを追加します。ここでは、注文作成日が過去 3 年以内である必要があります。また、フィルタとして使用できる代替ディメンションとして unless サブパラメータを定義します。これには、ユーザー ID ディメンションと状態ディメンションを使用します。
[Save Changes] をクリックします。
IDE の上部でファイル タイトルの横のカーソルをクリックし、[Explore Order Items] を選択します。
[Filters] の横にある矢印をクリックしてウィンドウを展開し、作成した条件フィルタを確認します。成功しました。
次に、[Order Items] で [Order ID] をクリックします。
[Order Items] > [Created Date] で、[Year] をクリックします。
[Order Items] > [Measures] で、[Average Sale Price] をクリックします。
[Run] をクリックします。
Explore で、作成日が過去 1 年間にフィルタされていることを確認できます。
フィルタ ウィンドウで [State] フィルタを「California」のように設定します。
もう一方のフィルタの横にある [X] をクリックして削除します。
これで、条件付きフィルタの仕組みがわかりました。設定したデフォルト値は変更できますが、unless サブパラメータで指定したフィルタを 1 つ以上適用しない限り、フィルタを完全に削除することはできません。
training_ecommerce.model ファイルに戻ります。[LookML を検証] をクリックしてから、[Commit Changes & Push] をクリックします。
commit メッセージを追加して、[Commit] をクリックします。
最後に、[本番環境にデプロイ] をクリックします。
[Check my progress] をクリックして、目標に沿って進んでいることを確認します。
このラボでは、LookML を使用して Explore をフィルタリングする方法を学びました。最初の例では、always_filter を使用して、注文ステータスとユーザーの国でフィルタされるようにしました。次に、sql_always_where フィルタと sql_always_having フィルタを使用して、注文作成日と注文アイテム数をフィルタリングしました。最後に、conditionally_filter を使用して、ユーザー ID または状態のディメンションにフィルタが適用されていない限り、過去 3 年間のデータのみを返すように Order Items Explore をフィルタしました。
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2024 年 4 月 22 日
ラボの最終テスト日: 2023 年 7 月 14 日
Copyright 2025 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください