extends (適用於檢視畫面)

本頁面是指 檢視區塊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 中點選 exploreview 參數,並使用中繼資料面板查看物件上的任何擴充功能,或查看物件擴充的內容。詳情請參閱「LookML 物件的中繼資料」說明文件頁面。

注意事項

部分參數為加法

在許多情況下,如果擴充物件包含與擴充物件相同的參數,擴充物件的值會覆寫擴充物件的參數值

不過,部分參數的擴充功能可以加成,也就是說,擴充物件的值會與擴充物件的值一併使用。

下列參數為加法

在以下範例中,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 模型本地化」說明文件頁面。