假設您有許多使用者共用一個「探索」頁面,但他們的使用情境因所屬團隊或地區而異。每位使用者都只想查看與其用途相關的欄位。為了滿足使用者的多樣化需求,您可以使用 LookML 精修功能自訂現有的檢視畫面和探索,而不必修改原始 LookML。接著,您可以將這些精緻的檢視畫面和探索內容,加入專屬的模型檔案,以便根據使用者的不同需求進行自訂。
本頁提供範例,說明如何使用 LookML 精修功能自訂單一基礎檢視畫面,並為貴公司內的兩個團隊建立不同的探索。並提供精修內容中隱藏和新增欄位的範例。
食材
- LookML 檢視畫面
- LookML 「探索」
- LookML 模型檔案
- LookML 精修
- 一般 LookML 檔案:用於住宿精進功能
- LookML
include
參數 - LookML
hidden
參數 (適用於欄位) - 視需要為觀眾提供特定模型的模型存取權,由 Looker 管理員設定
事前準備
- 已設定的 LookML 模型
- 開發 LookML 的權限
- 體驗在 LookML 中開發模型,包括熟悉更進階的 LookML 概念,例如精緻化和擴展
範例:從相同的基本檢視畫面建立多個自訂的探索
假設您有一個包含客戶、購買、運送和位置資料的「銷售」探索報表。貴公司的行銷和物流團隊都需要探索這項資料,但他們各自專注於 Sales Explore 中的不同欄位。
您希望在「探索」欄位挑選器中,只顯示對各團隊有用的欄位,以利探索。為此,您可以為「銷售」探索和其依據的 sales
檢視畫面定義兩種不同的精確化項目。行銷團隊的 Explore 可顯示與客戶和購買趨勢相關的欄位,而物流團隊的 Explore 則可顯示與運送和位置相關的欄位。您也可以為每個精細檢視畫面新增欄位,以滿足各團隊的需求。
目前,「銷售」探索功能的欄位挑選器會顯示「銷售」檢視畫面中的所有欄位:
欄位挑選工具也會顯示已彙整的「使用者」檢視畫面中的所有欄位:
您可以精簡 sales
檢視畫面,建立兩個個別的探索,只包含行銷和物流團隊感興趣的欄位,步驟如下:
建立新的 LookML 檔案,在本例中為名為
base_analysis.lkml
的檔案,其中包含「Sales」探索的 LookML,該探索是根據sales
檢視表和已彙整的users
檢視表建立。由於您想使用基礎sales
探索和相應檢視畫面,為每個團隊建立自訂探索,因此可以在單一位置 (例如單一檔案) 定義所有共用欄位和資源。# 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 } }
請建立兩個獨立檔案,用來收納您為各團隊定義的 Sales Explore 精進項目。您可以將檔案命名為
marketing_analysis.lkml
和logistics_analysis.lkml
。下方的 LookML 程式碼會精進先前所示base_analysis.lkml
檔案中定義的基本sales
探索,在名為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
。您可以將不同的精進項目放入各團隊專屬的模型,藉此多次精進相同的檢視畫面和探索,而不會覆寫為某個團隊用途而進行的自訂設定。詳情請參閱 LookML 精修項目說明文件頁面。使用
include
參數,在ecommerce_marketing.model
模型中加入marketing_analysis.lkml
,並在ecommerce_logistics.model
模型中加入logistics_analysis.lkml
。視需要在
marketing_analysis.lkml
和logistics_analysis.lkml
檔案中加入其他精細設定。舉例來說,您可以為每個團隊的經過精簡的探索功能隱藏不必要的欄位 ,並新增欄位。
您可以選擇讓 Looker 管理員為每個專屬模型設定模型存取權,為特定團隊提供 Explore 層級存取權。
在精修的探索中隱藏不必要的欄位
您可以在 marketing_analysis.lkml
檔案中,將 sales
檢視畫面精細化,如下所示,隱藏「Returned」、「Shipped」、「Delivered」和「Created」維度群組,以及「Status」維度,因為行銷團隊不會使用這些欄位:
# 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,隱藏物流團隊不需要的欄位 (例如「Profit」、「Sale Price」和「Average Sale Price」):
# 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
檢視畫面新增精確化項目,在「探索」中隱藏這些欄位:
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
}
}
在精緻化探索中新增欄位
您也可以在精簡的 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*]
}
}
您建立的行銷探索會包含「Sales」檢視畫面下的全新欄位,以及已彙整的「Users」檢視畫面中的欄位。行銷團隊不需要「Returned」、「Shipped」、「Delivered」和「Created」維度群組,因此這些維度群組和「Status」維度會隱藏。
同樣地,您也可以為物流團隊建立有用的新欄位,例如「運送時間區間」和「平均運送時間」:
您可以使用下列 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} ;;
}
}
您建立的物流探索會包含「Sales」檢視畫面下的全新欄位,以及已彙整的「Users」檢視畫面中的欄位。利潤、銷售價格和平均銷售價格欄位來自「銷售」檢視畫面,而「年齡」、「電子郵件」、「名字」、「姓氏」和「建立時間」欄位來自「使用者」探索,由於物流團隊不需要這些欄位,因此已隱藏。
每個團隊現在都能根據自身需求,取得更符合需求的 Explore。雖然這種做法需要事先進行更多設定,但將核心資料集中管理,可以讓您更輕鬆地查看及使用資料。