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 のフィールド ピッカーには、[販売] ビューのすべてのフィールドが表示されます。
フィールド ピッカーでも、結合済み [ユーザー] ビューのすべてのフィールドが表示されます。
sales
ビューを絞り込み、マーケティング チームとロジスティクス チームが関心を持つフィールドのみを含む 2 つの個別のデータ探索を作成するには、次の手順を行います。
新しい LookML ファイル(この例では
base_analysis.lkml
というファイル)を作成します。このファイルには、sales
ビューと結合済みusers
ビューに基づく 販売 Explore の LookML が含まれています。ベースsales
Explore とそれに対応するビューを使用して、チームごとにカスタマイズ済み 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
ファイルで定義されているようにベースsales
Explore を絞り込み、マーケティング チームの販売分析というラベルを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
ビュー内に [平均販売価格]、[合計販売価格]、[ユーザーあたりの平均費用] のフィールドを追加できます。
次の 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 か所に保管することで、検索と使用が簡単になります。