始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
Create a dynamic dimension using a Liquid parameter
/ 40
Create a dynamic dimension using templated filters
/ 30
Create a dynamic measure using templated filters
/ 30
Looker は、Google Cloud 上で提供される最新のデータ プラットフォームです。データをインタラクティブに分析および可視化できるほか、詳細なデータ分析、複数のデータソースにまたがるインサイトの統合、実行可能なデータドリブン ワークフローの構築、さらにはカスタム データ アプリケーションの開発まで行うことができます。
このラボでは、Liquid パラメータとテンプレート フィルタを活用して Looker のユーザー インタラクティビティを向上させる方法を学びます。また、それらを用いて動的なディメンションやメジャーを作成する方法を実践します。
このラボでは、次の方法について学びます。
LookML および Liquid に関する基礎知識が必要です。本ラボを開始する前に、「Liquid を使用して Looker のユーザー エクスペリエンスをカスタマイズする」ラボを修了しておくことをおすすめします。
こちらの説明をお読みください。ラボの時間は制限されており、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。
このハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
準備ができたら、[ラボを開始] をクリックします。
[ラボの詳細] ペインに、このラボで使用する一時的な認証情報が表示されます。
ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。
[ラボの詳細] ペインに表示されているラボの認証情報を確認してください(このラボの Looker インスタンスにログインする際に使用します)。
[Open Looker] をクリックします。
提供されたユーザー名とパスワードを、[Email] フィールドと [Password] フィールドに入力します。
ユーザー名:
パスワード:
[Log In] をクリックします。
正常にログインすると、このラボで使用する Looker インスタンスが表示されます。
LookML では、ディメンションやメジャーのタイプ、sql、drill_fields など、多くの要素を「パラメータ」と呼びます。また、「parameter」という名前のオブジェクト自体も存在します。本ラボでは区別を明確にするため、このオブジェクトを「Liquid パラメータ」と呼びます。
パラメータとテンプレート フィルタは、Liquid を活用することで Explore、Look、ダッシュボードの操作性を向上させることができます。これは、生成される SQL をより柔軟に制御したい場合に特に有効です。ディメンション フィルタを使用すると、外部クエリの WHERE 句のみが更新されます。メジャー フィルタを使用すると、外部クエリの HAVING 句が更新されます。どちらの場合も、結果セットを「絞り込みすぎて」しまうことがあります。
パラメータとテンプレート フィルタは、Liquid を使用する場面では両者がほぼ同じ目的を果たすため、「パラメータとテンプレート フィルタ」とひとまとめにして言われることがよくあります。主な違いは、パラメータでは 1 つの特定の固定値しか指定できないのに対し、テンプレート フィルタではデータ型に応じたフィルタ演算子の全範囲を使用できる点です。文字列型の場合は、「に等しい」、「に等しくない」、「を含む」、「で始まる」などの演算子が該当します。両者の違いは次のとおりです。
パラメータとテンプレート フィルタを使用すると、記述される SQL クエリにユーザー入力をどのように反映するかをより柔軟に制御できます。パラメータとテンプレート フィルタで、次のものを作成できます。
これらはすべて素晴らしい機能のように見えますが、Looker 上で具体的にどのような流れで動くのでしょうか。
パラメータの方が概念的に理解しやすいので、パラメータの使い方から見ていきましょう。
Liquid パラメータは、ユーザーが選択した特定のハードコードされた値を受け取るように定義されており、これらの値が、生成された SQL クエリに渡されます。
このセクションでは、order_items ビュー内にパラメータと動的ディメンションを作成し、ユーザーが [Order Items] Explore で異なる注文作成日フィールドを選択できるようにします。ユーザーは Date、Week、Month のいずれかを選択でき、どれを選択したかに応じてクエリの結果が変わります。
order_items ビューファイルに移動します。まず、ユーザーが UI で操作するものを作成する必要があります。これは parameter オブジェクトになります。ディメンションやメジャーと同じように、オブジェクトに名前を付けます(例: select_timeframe)。type は unquoted にする必要があります。これは、値が一重引用符で囲まれないようにするためです。
次に、allowed_values を 1 つ以上ハードコードします。value サブパラメータには実際に SQL クエリに挿入されるものを記述し、label サブパラメータにはその値の UI ラベルを指定します。これらの allowed_value 値のいずれかを default_value として設定することもできます。この例では、月を選択します。
ここで、ユーザー入力を受け取る Liquid パラメータを作成します。このパラメータには created_date、created_week、created_month の 3 つの値のみがハードコードされており、ユーザーはこれらの値を選択できます。
drill_fields の下の 6 行目あたり)に次の新しいパラメータの構文を追加します。まとめると、サブパラメータは次のように定義されます。
ファイルは次のようになります。
次に、ユーザーが選択した指標やデータ粒度に基づいて、ダッシュボードや Look に表示されるフィールドを動的に変更したい場合があります。先ほど作成した LookML パラメータをディメンションに適用し、このパラメータのフィルタ値を異なる期間フィールドに関連付けることができます。
これで、ユーザーがダッシュボードで選択したパラメータ値に基づいて、指定した期間フィールドが返されます。label_from_parameter を使用して、選択された値のラベルをタイルに渡していることに注意してください。
${created_week} と ${created_month} の期間は(使用しているデータベース言語によっては ${created_date} も)Looker によって文字列にキャストされるため、dynamic_timeframe ディメンション全体を文字列にする必要があります。
これは、ビジネス ユーザーが Explore でこのディメンションを使用する際に並べ替え順を再確認しなければならないことを意味します。Looker のデフォルトの並べ替え動作では、日付または時刻のディメンションがあるかどうかが確認され、ない場合は最初のメジャーで並べ替えられます。つまり、これは技術的には文字列型なので、初期状態では最初のメジャーで並べ替えられます。そのため、時系列が乱れる可能性があります。
それなら何の意味があるのか?不必要な複雑さを招くだけではないか?と思われるかもしれません。次の 2 つの点に留意してください。Looker のビジネス ユーザーのほとんどは閲覧者であり、エクスプローラではありません。つまり、ユーザーは用意されたダッシュボードや Look を見るだけであり、Explore で作成日や作成週などの異なるフィールドを選択することはできません。ユーザーが表示内容を変更できる手段はフィルタのみです。
閲覧者ユーザーは、他者が作成したコンテンツを見ます。そのため、dynamic_timeframe が技術的には文字列であり、手動で並べ替える必要があるという事実は、閲覧者ユーザーにはまったく影響しません。
ファイルは次のようになります。
label_from_parameter と sql パラメータで参照されていることに注意してください。可視化タブでは、期間オプションは、ディメンション名(Dynamic Timeframe)ではなく Month、Week、Date として表示されます。
これで、Order Items Explore で動的ディメンションをテストできます。
[Save Changes] をクリックします。次に、[Order Items] Explore に移動します。
[Order Items] ビューで、新しい [Dynamic Timeframe] ディメンションと [Order Count] メジャーを選択します。
[Select Timeframe] という新しいフィルタ専用フィールドの横にあるフィルタ アイコンをクリックします。
UI の上部にあるフィルタ オプションで、[is] を選択したままにします。プルダウン メニューから [Month] を選択します。
次に、[Week] フィルタと [Date] フィルタを選択します。[Run] をクリックして、それぞれの更新された結果を確認します。
実行ごとに [SQL] タブをクリックして、パラメータがどのように変わり、SQL クエリにどのように挿入されているかを確認します。
[Order Items] ビューに戻ります。
[LookML を検証] をクリックしてから、[Commit Changes & Push] をクリックします。
commit メッセージを追加して、[Commit] をクリックします。
最後に、[本番環境にデプロイ] をクリックします。
[進行状況を確認] をクリックして、上記のタスクを実行したことを確認します。
テンプレート フィルタは、パラメータと同じ論理パターンに従います。もう一度言いますが、両者の大きな違いは、テンプレート フィルタではエンドユーザーが必要なフィルタ演算子を選択できる点です。数値データ型の場合は、「等しい」、「より大きい」、「範囲内」などがこれに該当します。
フィルタでは、値はハードコードしません。ユーザーが入力した値が、生成された SQL クエリに渡されます。ただし、フィルタ定義で Explore とディメンションを指定することで、選択肢のプルダウン メニューを表示できます。
このセクションでは、商品カテゴリの入力値を受け取り、選択されたカテゴリとその他すべてのカテゴリの 2 つのグループを結果に作成する動的ディメンションを作成します。
Liquid パラメータと同様に、まず UI にエンドユーザーが操作するものを作成する必要があります。テンプレート フィルタの場合は、filter オブジェクトが必要です。
explore: products {} など)を作成できます。
ご覧のとおり、パラメータの場合とは異なり、テンプレート フィルタの allowed_values をハードコードすることはできません。
suggest_explore と suggest_dimension を使用してフィルタ候補のプルダウン メニューをエンドユーザーに提供することです。まとめると、サブパラメータは次のように定義されます。
ファイルは次のようになります。
次に、ユーザーのフィルタ入力をどこかに実装します。この例では、同じビューファイルで動的ディメンションを定義します。
テンプレート フィルタは、Liquid ブロック内で {% condition filter_name %} という構文を使用して参照されます。これにより、Liquid がテンプレート フィルタを適用する準備ができます。次に、そのフィルタを適用するフィールドの名前を指定し、{% endcondition %} タグで Liquid ブロックを終了します。これは、パラメータの参照方法とは少し異なります。ここでは、テンプレート フィルタを適用するフィールドと endconditon を指定する必要があります。
sql パラメータで参照されていることに注意してください。ここでは、ユーザーが選択したフィルタ条件を select_category から取得し、${category} ディメンションに適用しています。カテゴリ値が実際に条件を満たしている場合は、category_comparison ディメンションにそれが表示されます。カテゴリ値が条件を満たしていない場合は、一致しない他のすべてのカテゴリ値とともに「All Other Categories」としてまとめられます。
ファイルは次のようになります。
これで、Order Items Explore で動的ディメンションをテストできます。
[Save Changes] をクリックします。次に、[Order Items] Explore に移動します。
[Products] ビューで、[Category Comparison] というディメンションを選択します。
[Select Category] という新しいフィルタ専用フィールドの横にあるフィルタ アイコンをクリックします(注: これはテンプレート フィルタであり、[Products] ビューの下の [Dimensions] リストの上に表示されます)。
Order Items ビューで、Order Count メジャーを選択します。
UI の上部にあるフィルタ オプションで、[is equal to] を選択したままにします。
空のテキスト ボックスをクリックしてプルダウン メニューを表示するか、「Jeans」と入力します(プルダウン メニューには他の候補値も表示されます)。
テンプレート フィルタのロジックは、ユーザーがフィルタを更新すると自動的に調整されます。次のことを実際に試してください。
実行ごとに [SQL] タブをクリックして、SQL を確認します。
[LookML を検証] をクリックしてから、[Commit Changes & Push] をクリックします。
commit メッセージを追加して、[Commit] をクリックします。
最後に、[本番環境にデプロイ] をクリックします。
[進行状況を確認] をクリックして、上記のタスクを実行したことを確認します。
テンプレート フィルタと非表示のディメンションを組み合わせることで、フィルタされるメジャーのフィルタ条件を調整してメジャー値を動的に変更できます。
たとえば、マーケティング チームの一般的なユースケースとして、各トラフィック ソースからアクセスしたユーザーの構成比を分析することが挙げられます。このセクションでは、このユースケースに対応するため、ユーザーが使用可能なトラフィック ソースを選択して、そのトラフィック ソースのユーザー数を(国などのディメンション別に)動的に表示できるメジャーを作成します。
今回も、まず UI にエンドユーザーが操作するものを作成する必要があります。テンプレート フィルタの場合は、filter オブジェクトが必要です。
drill_fields の下の 6 行目あたり)に次の新しいフィルタの構文を追加します。値はハードコードされていませんが、Explore とディメンションの提案値があります。これらは、ユーザーが操作できるプルダウン メニューの選択肢を取得するために使用されます。ユーザーは他の値を入力することもできます。
order_items に、ディメンションを users.traffic_source に設定しています。
ファイルは次のようになります。
sql パラメータで参照されていることに注意してください。ファイルは次のようになります。
ファイルは次のようになります。
これで、Order Items Explore で動的メジャーをテストできます。
[Save Changes] をクリックします。次に、[Order Items] Explore に移動します。
[Users] ビューで、[Country] ディメンション(または属性別にカウントを取得する他のディメンション)を選択します。
[Users] ビューで、新しい [Dynamic Count] メジャーを選択します。
[Select Traffic Source] という新しいフィルタ専用フィールドの横にあるフィルタ アイコンをクリックします(注: これはテンプレート フィルタであり、Explore の左側のメニューの [Dimensions] の上に表示されます)。
UI の上部にあるフィルタ値で、[is equal to] を選択したままにします。
空のテキスト ボックスをクリックしてプルダウン メニューを表示するか、「Email」と入力します(プルダウン メニューには他の候補値も表示されます)。
[進行状況を確認] をクリックして、上記のタスクを実行したことを確認します。
他のフィルタ値をいくつか試してみます。実行ごとに [SQL] タブをクリックして、パラメータがどのように変わり、SQL クエリにどのように挿入されているかを確認します。
[Users] ビューに戻ります。
[LookML を検証] をクリックしてから、[Commit Changes & Push] をクリックします。
commit メッセージを追加して、[Commit] をクリックします。
最後に、[本番環境にデプロイ] をクリックします。
このラボでは、Looker で Liquid を使用して、パラメータ、テンプレート フィルタ、動的なディメンションとメジャーを作成しました。まず、ユーザーが異なる注文作成日フィールドを選択できるようにするため、パラメータと動的ディメンションを作成しました。次に、商品カテゴリの入力値を受け取り、選択されたカテゴリとその他すべてのカテゴリの 2 つのグループを結果に作成する動的ディメンションを作成しました。最後に、ユーザーが使用可能なトラフィック ソースを選択して、そのトラフィック ソースのユーザー数を動的に表示できる動的メジャーを作成しました。
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2026 年 2 月 3 日
ラボの最終テスト日: 2026 年 2 月 3 日
Copyright 2026 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください