1 つの Explore を共有するユーザーが多数いて、チームや地域によってユースケースが異なる場合を考えてみましょう。各ユーザーは、固有のユースケースに適用されるフィールドのみを確認します。ユーザーの多様なニーズに対応するには、LookML の絞り込みを使用して、元の LookML を変更することなく既存のビューと Explore をカスタマイズします。その後、これらのカスタマイズしたビューと Explore を、ユーザーのさまざまなニーズに合わせてカスタマイズされた別個の専用モデル ファイルに追加できます。
このページでは、例LookML の絞り込みを使用して 1 つのベースビューをカスタマイズし、社内の 2 つの異なるチームごとに個別の Explore を作成する例を提供します。また、精製されたコンテンツでフィールドを非表示にする方法と追加する方法の例も示します。
材料
- LookML ビュー
- LookML のExplore
- LookML モデルファイル
- LookML の絞り込み
- 絞り込みを格納するための汎用 LookML ファイル
- LookML の
includeパラメータ - LookML の
hiddenパラメータ(フィールド用) - 必要に応じて、Looker 管理者が構成した、閲覧者の特定モデルへのアクセスを形成する
前提条件
- 構成済みの LookML モデル
- LookML を開発する権限
- 絞り込みや拡張などの高度な LookML のコンセプトに精通しているなど、LookML でのモデル開発の経験
例: 同じベースビューから複数のカスタマイズされた Explore の作成
たとえば、販売 Explore に顧客、購入、配送、場所に関するデータが含まれているとします。会社のマーケティング チームとロジスティクス チームはどちらもこのデータを探索する必要がありますが、チームはそれぞれセールス Explore 内の異なるフィールドに焦点を当てています。
探索を容易にするために、Explore フィールド ピッカーで、各チームに役立つフィールドのみを表示する必要があります。これを行うには、販売 Explore と、そのベースとなる sales ビューの 2 つの異なる絞り込みを定義します。マーケティング チームの Explore には、顧客と購入傾向に関連するフィールドが表示され、ロジスティクス チームの Explore には、配送と場所に関連するフィールドが表示されます。各チームのニーズに固有の新しいフィールドを、各絞り込み済みビューに追加することもできます。
現在、[販売] Explore のフィールド ピッカーには、[販売] ビューのすべてのフィールドが表示されます。
![[販売] ビューには、作成日、納品日、返品日、発送日のほか、ID、利益、ステータス、平均販売価格、合計販売価格、数量のフィールドがあります。](https://cloud-dot-devsite-v2-prod.appspot.com/static/looker/docs/images/dry-cookbook-refinement-field-picker-example-sales-2304.png?hl=ja)
フィールド ピッカーでも、結合済み [ユーザー] ビューのすべてのフィールドが表示されます。
![[ユーザー] ビューには、年齢、都市、国、作成日、メール、姓、名、ID、州、郵便番号、数量のフィールドがあります。](https://cloud-dot-devsite-v2-prod.appspot.com/static/looker/docs/images/dry-cookbook-refinement-field-picker-example-users-2304.png?hl=ja)
sales ビューを絞り込み、マーケティング チームとロジスティクス チームが関心を持つフィールドのみを含む 2 つの個別のデータ探索を作成するには、次の手順を行います。
新しい LookML ファイル(この例では
base_analysis.lkmlというファイル)を作成します。このファイルには、salesビューと結合済みusersビューに基づく 販売 Explore の LookML が含まれています。ベースsalesExplore とそれに対応するビューを使用して、チームごとにカスタマイズ済み Explore を作成するため、すべての共有フィールドとプロパティを単一の場所(単一のファイル内など)で定義できます。# base_analysis.lkml include: "views/sales.view.lkml" include: "views/inventory_items.view.lkml" include: "views/users.view.lkml" explore: sales { join: inventory_items { type: left_outer sql_on: ${sales.inventory_item_id} = ${inventory_items.id} ;; relationship: many_to_one } join: users { type: left_outer sql_on: ${sales.user_id} = ${users.id} ;; relationship: many_to_one } }2 つの個別のファイルを作成して、チームごとに定義する 販売 Explore の絞り込みを格納します。そのファイルに
marketing_analysis.lkmlとlogistics_analysis.lkmlという名前を付けることができます。以下に示す LookML コードは、前に示したbase_analysis.lkmlファイルで定義されているようにベースsalesExplore を絞り込み、マーケティング チームの販売分析というラベルをmarketing_analysis.lkmlという新しいファイル内に追加します。ステートメントinclude: "/base/base_analysis.lkml"により、base_analysis.lkmlファイルの内容をmarketing_analysis.lkmlファイル内で参照できるようになります。# marketing_analysis.lkml include: "/base/base_analysis.lkml" explore: +sales { label: "Sales Analysis for Marketing Team" }チームごとに個別のモデル ファイル(
ecommerce_marketing.modelやecommerce_logistics.modelなど)を作成します。チームごとに別々の専用モデルに異なる絞り込みを格納することで、1 つのチームのユースケースに対して行ったカスタマイズを上書きすることなく、同じ一連のビューと Explore を複数回絞り込むことができます。詳細については、LookML の絞り込みのドキュメントのページをご覧ください。includeパラメータを使用して、ecommerce_marketing.modelモデル内にmarketing_analysis.lkmlを含め、ecommerce_logistics.modelモデル内にlogistics_analysis.lkmlを含めます。必要に応じて、追加の絞り込みを
marketing_analysis.lkmlファイルとlogistics_analysis.lkmlファイルに加えます。たとえば、不要なフィールドを非表示にして、各チームの絞り込み済み Explore に新しいフィールドを追加できます。
必要に応じて Looker 管理者が専用モデルごとのモデルのアクセス権を構成して、特定のチームに Explore レベルのアクセス権を付与することもできます。
絞り込み済み Explore から不要なフィールドを非表示にする
次のように sales ビューを marketing_analysis.lkmlファイルで絞り込み、返却済み、配送済み、配信済みおよび作成済みディメンション グループ、およびステータスディメンションを非表示にできます。これらのフィールドをマーケティング チームが使用しないためです。
# marketing_analysis.lkml
include: "/base/base_analysis.lkml"
explore: +sales {
label: "Sales Analysis for Marketing Team"
}
view: +sales
dimension_group: returned {
hidden: yes
}
dimension_group: shipped {
hidden: yes
}
dimension_group: delivered {
hidden: yes
}
dimension_group: created {
hidden: yes
}
dimension: status {
hidden: yes
}
}
同様に、logistics_analysis.lkml ファイルで以下の LookML を使用すると、ロジスティクス チームに必要のないフィールド(利益、販売価格、平均販売価格など)を非表示にします。
# logistics_analysis.lkml
include: "/base/base_analysis.lkml"
explore: +sales {
label: "Sales Analysis for Logistics Team"
}
view: +sales {
dimension: profit {
hidden: yes
}
dimension: sale_price {
hidden: yes
}
measure: average_sale_price {
hidden: yes
}
}
ロジスティクス チームは、お客様の個人情報(名前、年齢、メールアドレスなど)を表示する必要がないため、logistics_analysis.lkml ファイル内の結合済み users ビューの絞り込みを追加して、これらのフィールドを Explore から非表示にすることもできます。
view: +users {
dimension: age {
hidden: yes
}
dimension: email {
hidden: yes
}
dimension: first_name {
hidden: yes
}
dimension: last_name {
hidden: yes
}
dimension_group: created {
hidden: yes
}
}
絞り込み済み Explore への新しいフィールドの追加
マーケティング チームが関心を持つ新しいフィールドを、絞り込み済み sales ビュー内に作成することもできます。たとえば、絞り込み済み sales ビュー内に [平均販売価格]、[合計販売価格]、[ユーザーあたりの平均費用] のフィールドを追加できます。
![[販売] ビューには、ID、利益、販売価格、数量に加えて、新しい平均販売価格、ユーザーあたりの平均費用、合計販売価格の各フィールドが表示されます。](https://cloud-dot-devsite-v2-prod.appspot.com/static/looker/docs/images/dry-cookbook-refinement-field-picker-refined-marketing-2304.png?hl=ja)
次の LookML を使用して、marketing_analysis.lkml ファイル内の絞り込み済み sales ビューにこれらのフィールドを追加できます。
# marketing_analysis.lkml
view: +sales {
measure: average_sale_price {
type: average
value_format_name: usd
sql: ${sale_price} ;;
drill_fields: [detail*]
}
measure: total_sale_price {
type: sum
value_format_name: usd
sql: ${sale_price} ;;
drill_fields: [detail*]
}
measure: average_spend_per_user {
type: number
value_format_name: usd
sql: 1.0 * ${total_sale_price} / NULLIF(${users.count},0) ;;
drill_fields: [detail*]
}
}
作成したマーケティング Explore には、結合済み [ユーザー] ビューのフィールドに加えて、[販売] ビューで新しいフィールドが含まれます。[返却済み]、[配送済み]、[納品済み]、[作成済み] ディメンション グループと [ステータス] ディメンションは、マーケティング チームが必要としないため、非表示になっています。
同様に、ロジスティックス チーム向けに、配送時間バケットや平均配送時間など、ロジスティクス チームの役に立つ新しいフィールドを作成できます。

次の LookML を使用して、logistics_analysis.lkml ファイル内の絞り込み済み sales ビューにこれらのフィールドを追加できます。
# logistics_analysis.lkml
view: +sales {
dimension: shipping_time_buckets {
case: {
when: {
sql: ${shipping_time} <= 7 ;;
label: "One Week"
}
when: {
sql: ${shipping_time} > 7 AND ${shipping_time} <= 14 ;;
label: "Two Weeks"
}
when: {
sql: ${shipping_time} > 14 ;;
label: "Over Two Weeks"
}
else: "Note Shipped"
}
}
measure: average_shipping_time {
type: average
value_format_name: decimal_4
sql: ${shipping_time} ;;
}
}
作成したロジスティックス Explore には、結合済み [ユーザー] ビューのフィールドに加えて、[販売] ビューで新しいフィールドが含まれます。[販売] ビューの [利益]、[販売価格]、[平均販売価格] の各フィールド、および [ユーザー] Exploreの [年齢]、[メール]、[名]、[姓]、[作成済み] の各フィールドが、ロジスティクス チームには必要ないため、非表示になっています。
各チームは、それぞれのニーズに合わせてカスタマイズされた Explore を利用できるようになりました。この方法は、事前の設定がある程度必要ですが、コアデータを 1 か所に保管することで、検索と使用が簡単になります。