本頁面是指 檢視區塊的
extends參數。
extends也可做為「探索」的一部分,詳情請參閱「extends(適用於探索)」參數說明文件頁面。
extends也可做為 LookML 資訊主頁的一部分,詳情請參閱「資訊主頁參數」說明文件頁面。
用量
view: view_name {
extends: [view_name, view_name, ...]
}
|
階層
extends |
預設值
無
接受
方括號,內含以半形逗號分隔的檢視區塊名稱清單
|
定義
extends 參數可讓您以其他檢視畫面檔案為起點,根據該檔案的內容和設定進行建構。如有任何衝突,擴充檢視畫面會使用自己的設定,覆寫擴充檢視畫面的設定。如要瞭解 Looker 如何執行這項操作,請參閱「使用 extends 重複使用程式碼」。
查看 LookML 修訂內容。
如果想建立多個檢視區塊或探索版本,就很適合擴充檢視區塊或探索。但如果您的目標只是修改檢視區塊或「探索」,而不編輯包含該檢視區塊或「探索」的 LookML 檔案,則可能需要改用分類標籤。您也可以在精選項目中使用extends參數。如要瞭解詳情和使用案例,請參閱「LookML 修訂」說明文件頁面。
擴充檢視區塊時,請務必在要擴充的檢視區塊上使用 sql_table_name 參數 (如果尚未存在)。sql_table_name 參數會定義資料庫中將由檢視區塊查詢的資料表。任何檢視區塊的預設值都是檢視區塊名稱。因此,如果您還未使用 sql_table_name,只要為其提供與資料檢視名稱相同的值即可。
此外,在新檢視區塊檔案中,請務必使用 include 參數,指向要擴充的檢視區塊檔案名稱。
請避免擴充以永久衍生資料表 (PDT) 為基礎的檢視區塊。PDT 的每個擴充功能都會在資料庫中建立資料表的新副本。在這種情況下,建議您改用 LookML 修飾。如要瞭解詳情和使用案例,請參閱「LookML 修訂」說明文件頁面。
範例
以下是可擴充的檢視區塊檔案範例。檢視區塊名稱為 looker_events,檢視區塊的檔案名稱為 events.view。
檔案:events.view
view: looker_events {
sql_table_name: looker_db.events ;;
# The normal contents of the view follow
}
現在我們要建立新的檢視區塊檔案,並定義擴充 looker_events 檢視區塊的檢視區塊。在新檔案中,我們必須使用 include 參數,指向要擴充的檢視區塊檔案名稱:
檔案:new_events.view
include: "events.view"
view: name_of_the_new_view {
extends: [looker_events]
measure: additional_measure {
type: count
}
# Additional things you want to add or change
}
然後,我們新增了新的測量指標,除了在擴充的 looker_events 檢視區塊中定義的所有維度和測量指標外,也會顯示在新檢視區塊中。
使用中繼資料查看物件的擴充功能
您可以在 Looker IDE 中點選 explore 或 view 參數,並使用中繼資料面板查看物件上的任何擴充功能,或查看物件擴充的內容。詳情請參閱「LookML 物件的中繼資料」說明文件頁面。
注意事項
部分參數為加法
在許多情況下,如果擴充物件包含與擴充物件相同的參數,擴充物件的值會覆寫擴充物件的參數值。
不過,部分參數的擴充功能可以加成,也就是說,擴充物件的值會與擴充物件的值一併使用。
下列參數為加法:
維度和測量指標:
觀看次數:
extends(您可以將多個extends串連在一起)
在以下範例中,carriers 檢視區塊具有 name 維度,以及 link 參數:
view: carriers {
sql_table_name: flightstats.carriers ;;
dimension: name {
sql: ${TABLE}.name ;;
type: string
link: {
label: "Google {{ value }}"
url: "http://www.google.com/search?q={{ value }}"
icon_url: "http://google.com/favicon.ico"
}
}
}
這是 carriers_extended 檢視畫面,可擴展 carriers 檢視畫面。carriers_extended 檢視區塊也有 name 維度,link 參數中包含不同設定:
include: "/views/carriers.view.lkml"
view: carriers_extended {
extends: [carriers]
dimension: name {
sql: ${TABLE}.name ;;
type: string
link: {
label: "Dashboard for {{ value }}"
url: "https://docsexamples.dev.looker.com/dashboards/307?Carrier={{ value }}"
icon_url: "https://www.looker.com/favicon.ico"
}
}
}
在 carriers_extended 檢視畫面中,這兩個 link 參數是加總的,因此 name 維度會同時包含這兩個連結。

已完成本地化的專案
擴充物件時,請注意本地化規則也適用於擴充功能。如果您要擴充物件,然後定義新的標籤或說明,請在專案的語言代碼字串檔案中提供本地化定義。詳情請參閱「將 LookML 模型本地化」說明文件頁面。