用量
include: "/views/airports.view"
|
階層
include- 或 - include- 或 - include |
預設值
無
接受
包含檔案名稱或模式的字串
|
定義
include 參數會指定模型、檢視區塊或「探索」可用的 LookML 檔案。如要在其他檔案中使用或參照 LookML 檔案,必須使用 include 參數新增該檔案。
您可以在模型檔案中使用 include 參數、查看檔案和探索檔案。視情況而定,include 參數可參照不同類型的 LookML 檔案。
在模型檔案中,您可以使用 include 參照下列檔案類型:
在檢視畫面檔案中,您可以使用 include 參照下列檔案類型:
在探索檔案中,您可以使用 include 參照下列檔案類型:
您也可以使用 include 從其他專案匯入檔案。如要瞭解如何納入其他專案的檔案,請參閱「從其他專案匯入檔案」說明文件頁面。
使用 include 時,請注意下列事項:
- 對於非 LookML 檔案類型 (例如說明文件或資料檔案),您不需要使用
include。 - 檔案的併入作業是全有或全無,因此所有併入檔案的資訊都會新增至併入檔案。
- 您可以在檔案中使用多個
include參數。 - 您可以使用
*萬用字元,指出具有策略性命名慣例或相同副檔名的檔案。舉例來說,您可以使用"*base.dashboard"同時比對及納入"database.dashboard"和"crunchbase.dashboard"。您可以使用"*.dashboard"來表示所有副檔名為.dashboard的檔案。 - 您可以使用
*萬用字元,納入目錄中的所有檔案。舉例來說,您可以指定include: "/views/users/*.view",將views/users/目錄中的所有檢視檔案納入其中。如要進一步瞭解如何搭配使用萬用字元與 IDE 資料夾,請參閱 IDE 資料夾說明文件頁面。


在模型檔案中使用 include
您可以在模型檔案中使用 include 參數,納入檢視區塊和資訊主頁或探索。
包括模型中的檢視區塊和資訊主頁
在模型檔案中使用 include 參數,指定可供該模型使用的資訊主頁和檢視畫面檔案。如要在模型中使用或參照 LookML 檔案,請務必使用 include 參數新增檔案。
在 include 參數中,檢視檔案使用 .view 副檔名,資訊主頁則使用 .dashboard 副檔名。你可以省略這些副檔名的 .lkml 和 .lookml 部分。
您可以使用 * 萬用字元,指出具有策略性命名慣例或相同副檔名的檔案。您也可以搭配使用 * 萬用字元和目錄路徑來指定多個檔案,詳情請參閱 include 參數頁面的「萬用字元範例」一節。
舉例來說,您可以在模型檔案中使用這些 include 參數:
include: "/**/*.dashboard"
include: "/*/*base.view.lkml"
include: "//e_commerce/views/*.view.lkml"
這些參數包括下列檔案:
- 專案中任何目錄中的所有資訊主頁檔案
- 專案任何直接子目錄中,結尾為
base.view.lkml的任何檢視區塊檔案,例如/views/database.view.lkml或/public/crunchbase.view.lkml - 匯入專案的
/views/目錄中,所有名為e_commerce的檢視畫面檔案
如果專案有大量檢視畫面檔案,或專案使用持續衍生資料表 (PDT),請避免在模型中納入所有檢視畫面檔案。請改為加入個別檢視畫面檔案,如下所示。以下範例說明如何在專案中加入個別檢視畫面檔案和所有資訊主頁:
include: "/views/order.view"
include: "/views/user.view"
include: "/**/*.dashboard"
在模型中加入模型
您無法加入其他專案的模型檔案。如要跨專案重複使用、調整或擴充探索,您可以在匯入的專案中建立獨立的探索檔案,然後將該探索檔案納入其他專案。詳情請參閱「在模型中加入探索」。
在模型中加入探索
通常會在模型檔案中定義探索。不過,有時您需要衍生資料表的獨立探索檔案,或是擴充或調整跨模型的探索。
如果您有獨立的探索檔案,則需要在模型檔案中使用 include 參數來納入該檔案。在 include 參數中,使用探索檔案的副檔名 .explore.lkml。
以下範例是包含兩個 Explore 的模型檔案:
aircraft_new「探索」是在explores資料夾中名為aircraft_new.explore.lkml的檔案中定義。由於該探索是在自己的檔案中定義,因此您必須在include參數中指定探索檔案的路徑。accidents探索,定義於模型檔案中。由於這是模型檔案本身定義的項目,因此您不需要在模型中使用include參數。不過,您需要include,才能查看accidents探索所依據的檢視畫面。
connection: "faa"
include: "/explores/aircraft_new.explore.lkml"
include: "/views/accidents.view"
explore: accidents {
view_name: accidents
from: accidents
}
在模型中加入資料測試
資料測試可以直接在模型檔案或檢視檔案中定義。不過,如要在專案中的多個位置重複使用資料測試,也可以建立個別的資料測試檔案。
如果您有獨立的資料測試檔案,則需要在模型檔案或檢視檔案中使用 include 參數,才能執行資料測試。在 include 參數中,使用 .lkml 副檔名做為資料測試檔案。
舉例來說,以下是模型檔案的摘錄內容,其中包含資料測試檔案:
connection: "faa"
include: "/explores/aircraft_new.explore.lkml"
include: "/views/accidents.view"
include: "/tests/data_tests.lkml"
. . .
將資料測試檔案納入模型檔案後,即可執行資料測試,確認資料測試是否正常運作,以及模型邏輯是否通過測試。
您也可以在檢視檔案中加入資料測試檔案,詳情請參閱本頁的「在檢視畫面中加入資料測試」一節。
在檢視區塊檔案中使用 include
在大部分情況下,您不需要在檢視區塊檔案中使用 include。不過,在某些情況下,您確實會想在檢視檔案中加入檔案:
- 如果您要擴展或調整檢視畫面
- 如果您有衍生資料表的探索檔案
包括在檢視畫面中檢視 (用於擴充或調整)
您也可以在另一個檢視區塊檔案中加入檢視區塊檔案,藉此擴充或調整所含檢視區塊。
舉例來說,以下是 marketing_order_fields 檢視區塊檔案,其中包含 basic_order_fields 檢視區塊檔案,然後擴充該檔案:
include: "/views/basic_order_fields.view"
view: marketing_order_fields {
extends: [basic_order_fields] # The file that contains the basic_order_fields
} # view should be included
在檢視畫面中加入探索
在大多數情況下,您不需要在檢視畫面中加入「探索」。不過,原生衍生資料表是特例,因為這類資料表是在自有檢視表檔案中定義,且該檔案具有 explore_source 參數。您可以使用 explore_source 參數指定探索,並定義原生衍生資料表的所需資料欄和其他所需特徵。探索通常是在模型檔案中定義,但如果是原生衍生資料表,使用 .explore.lkml 副檔名為探索建立個別檔案可能會更清楚。如果您建立個別的探索檔案,則必須將探索檔案納入原生衍生資料表檢視檔案。
以下是在原生衍生資料表檢視檔案中使用 include 指向「探索」檔案的範例:
include: "/explores/order_items.explore.lkml"
view: user_order_facts {
derived_table: {
explore_source: order_items {
column: user_id {field: order_items.user_id}
column: lifetime_number_of_orders {field: order_items.order_count}
column: lifetime_customer_value {field: order_items.total_revenue}
derived_column: average_customer_order {
sql: lifetime_customer_value / lifetime_number_of_orders ;;
}
}
}
dimension: user_id {hidden: yes}
dimension: lifetime_number_of_orders {type: number}
dimension: lifetime_customer_value {type: number}
dimension: average_customer_order {type: number}
}
如要進一步瞭解原生衍生資料表的探索檔案,請參閱使用 include 陳述式啟用參照欄位的說明文件。
在檢視區塊中加入資料測試
資料測試可以直接在模型檔案或檢視檔案中定義。不過,如要在專案中的多個位置重複使用資料測試,也可以建立個別的資料測試檔案。
如果您有獨立的資料測試檔案,則需要在模型檔案或檢視檔案中使用 include 參數,才能執行資料測試。在 include 參數中,使用 .lkml 副檔名做為資料測試檔案。
舉例來說,以下是包含資料測試檔案的檢視區塊檔案摘錄內容:
include: "/tests/data_tests.lkml"
view: orders {
sql_table_name: looker.orders ;;
dimension: id {
primary_key: yes
type: number
sql: ${TABLE}.id ;;
}
. . .
將資料測試檔案納入檢視檔案後,即可執行資料測試,確認資料測試是否正常運作,以及檢視的邏輯是否通過測試。
您也可以在模型檔案中加入資料測試檔案,如本頁「在模型中加入資料測試」一節所述。
在「探索」檔案中使用 include
通常會在模型檔案中定義探索。不過,有時您需要衍生資料表的獨立探索檔案,或是擴充或調整跨模型的探索。
如果您有獨立的探索檔案,可以使用 include 參數納入檢視區塊或其他探索。
包括「探索」中的檢視畫面
如果您有獨立的探索檔案,則必須納入探索使用的所有檢視畫面。請使用 .view 檔案副檔名查看檔案。您可以省略副檔名的 .lkml 部分。以下是範例「探索」檔案,其中包含使用的兩個檢視畫面:
include: "/views/aircraft.view"
include: "/views/aircraft_types.view"
explore: aircraft {
join: aircraft_types {
type: left_outer
sql_on: ${aircraft.aircraft_type_id} = ${aircraft_types.aircraft_type_id} ;;
relationship: many_to_one
}
}
在探索中加入探索
您可以在一個探索檔案中加入另一個探索檔案,例如擴充或調整探索時。使用 include 參數並新增副檔名 .explore.lkml。
以下是探索檔案範例,其中包含另一個探索檔案,然後擴充探索:
include: "/explores/base.explore.lkml"
explore: aircraft_information {
extends: [aircraft]
搭配 IDE 資料夾使用 include
將 LookML 專案檔案整理到資料夾中時,您需要在 include 陳述式中提供檔案路徑。
您可以在 include 陳述式中使用絕對或相對路徑 (如需範例,請參閱本頁的「路徑語法」一節),並使用萬用字元 * 和 ** 一次納入多個檔案 (如需範例,請參閱本頁的「萬用字元範例」一節)。
舉例來說,假設您專案中的目錄結構如下,且 views 資料夾的頂層內容如下:
orders資料夾,內含檢視畫面檔案order_facts和order_itemsusers資料夾,內含檢視區塊檔案user_with_age_extension、users和users_extended- 個別檢視檔案
distribution_centers、events、inventory_items和products

下列陳述式會包含 products 檢視區塊、order_facts 檢視區塊,以及 /views/users/ 目錄中的所有檢視區塊:
include: "/views/products.view"
include: "/views/orders/order_facts.view"
include: "/views/users/*.view"
變更檔案路徑時,請務必更新專案中的所有 include 陳述式,以符合檔案的新路徑。如果舊的 include 陳述式不再參照現有檔案或檔案路徑,您可能會看到 LookML 驗證警告。此外,如果參照的物件檔案路徑已變更,您可能會看到 LookML 驗證錯誤,因為系統找不到這些物件。
路徑語法
以下列舉幾個可用的檔案納入語法範例:
| 語法 | 說明 |
|---|---|
PATH |
從目前檔案位置開始的相對路徑。 |
./PATH |
從目前檔案位置開始的相對路徑。這個範例指向的檔案與上一個範例相同:PATH。 |
../PATH |
從目前檔案的上層目錄開始的相對路徑。 |
/PATH |
從目前專案的根目錄開始的絕對路徑。 |
//PROJECT_NAME/PATH |
以 PROJECT_NAME 命名的匯入專案根目錄開始的絕對路徑。 |
使用萬用字元
如果專案只需要管理幾個檔案,您可以像這樣在各自的 include 參數中列出每個檔案:
include: "/dashboards/user_info.dashboard"
include: "/views/users.view"
如果專案包含許多要納入的檔案,您可以使用萬用字元一次納入多個檔案,減少需要編寫的 include 參數數量:
- 搭配使用萬用字元和 IDE 資料夾,在專案的特定目錄中加入檔案。
- 使用含副檔名的萬用字元,納入特定檔案類型的檔案。
- 使用萬用字元搭配策略性檔案名稱,在檔案名稱中加入特定前置字串或後置字串。
在開發期間,如果需要暫時修正 LookML 驗證警告,使用萬用字元可能特別有幫助,尤其是在將現有專案整理到 IDE 資料夾時。不過,在 include 陳述式中使用萬用字元時,請注意下列事項:
- Looker 不建議使用萬用字元在專案中納入所有檢視表檔案,因為納入所有檢視表檔案可能會影響 LookML 驗證的效能,並使資料庫結構定義變得雜亂。
- 如果專案有多個模型檔案,Looker 不支援使用萬用字元納入專案中的所有檔案,因為模型檔案無法納入其他模型檔案。
搭配 IDE 資料夾使用萬用字元
您可以搭配使用萬用字元和 IDE 資料夾,在 LookML 專案中納入特定目錄的檔案。
舉例來說,這個 include 陳述式會參照 LookML 專案 /explores/ 目錄中的所有檔案:
include: "/explores/*"
使用萬用字元指定特定檔案類型
您可以使用萬用字元參照特定類型的所有檔案。舉例來說,這項 include 陳述式會參照 LookML 專案中的所有「探索」檔案:
include: "/**/*.explore.lkml"
如需 LookML 檔案類型及其副檔名的清單,請參閱「瞭解 LookML 專案檔案」說明文件頁面的「LookML 專案中的檔案類型」一節。
使用萬用字元搭配策略性命名模式
您也可以搭配策略性檔案命名使用萬用字元,進一步最佳化 include 陳述式。舉例來說,請勿使用下列檔案名稱:
/views/apple.view
/views/banana.view
/views/cherry.view
/views/orange.view
/views/celery.view
您可以在檔案名稱中加入策略性前置字串或後置字串,例如:
/views/apple.fruit.view
/views/banana.fruit.view
/views/cherry.fruit.view
/views/orange.fruit.view
/views/celery.vegetable.view
然後使用萬用字元,只參照.fruit後置字串,方法是使用這個 include:
include: "/views/*.fruit.view"
萬用字元範例
以下是使用萬用字元的範例 (請注意,您可以將 PATH 換成上表中的路徑語法):
| 語法 | 說明 |
|---|---|
PATH/*.view |
在 PATH 中比對結尾為 .view 的檔案。 |
PATH/*.view.lkml |
在 PATH 中比對結尾為 .view.lkml 的檔案。由於檢視檔案的副檔名為 .view.lkml,因此這個範例指定的檔案與上一個範例相同,都是 PATH/*.view。IDE 中不會顯示 .lkml 部分,include 陳述式也不需要 .lkml 部分。不過,您可以使用萬用字元來運用檔案副檔名的這個常見部分。如需專案檔案副檔名清單,請參閱「LookML 專案檔案」說明文件頁面。 |
PATH/*.lkml |
在 PATH 中比對結尾為 .lkml 的檔案。請注意,有幾種檔案類型共用 .lkml 做為副檔名的最後一部分,例如 .view.lkml 和 .model.lkml。IDE 中不會顯示 .lkml 部分,include 陳述式也不需要 .lkml 部分。不過,您可以使用萬用字元來運用檔案副檔名的這個常見部分。如需專案檔案副檔名清單,請參閱「LookML 專案檔案」說明文件頁面。 |
PATH/myfile.* |
在 PATH 中,萬用字元會比對名為 myfile 的檔案,以及任何副檔名類型。 |
PATH/myfile.*.lkml |
在 PATH 中,比對名為 myfile 且副檔名為 .lkml 的檔案。 |
PATH/my*file.view |
萬用字元比對:開頭為 my,結尾為 file.view 的檔案 (位於 PATH)。 |
PATH/my*fi*le.view |
萬用字元會比對以 my 開頭的檔案,後面接著一些字元、fi、一些額外字元,並以 le.view 結尾 (位於 PATH)。 |
PATH/*/myfile.lkml |
資料夾名稱萬用字元 (僅符合單一層級的巢狀結構)。比對 PATH 任何直接子目錄中的所有 myfile.lkml 檔案。 |
PATH/**/my_file.view |
遞迴萬用字元比對 (比對任意數量的巢狀結構),適用於 PATH 和所有子目錄中名為 my_file.view.lkml 的所有檔案。 |
PATH/**/*.view |
遞迴萬用字元,比對 PATH 子目錄中結尾為 .view.lkml 的所有檔案。 |
PATH/**/my_folder/myfile.view |
遞迴萬用字元,比對 PATH 底下任何深度的子路徑 /my_folder/myfile.view。 |
範例
如需在模型檔案、檢視檔案和探索檔案中使用 include 的範例,請參閱前幾節。
注意事項
納入所有檢視檔案可能會影響 LookML 驗證效能
如果專案有大量檢視檔案,且您將所有檔案納入模型檔案,可能會影響 LookML 驗證器的效能。由於 LookML 驗證器會檢查模型中包含的所有檢視檔案,因此您應只在模型檔案的 include 參數中納入必要的檢視檔案。
請考慮為檢視區塊檔案採用策略性命名慣例,以便在模型中輕鬆納入檢視區塊群組 (請參閱本頁「搭配策略性命名模式使用萬用字元」一節中的範例)。或者,您也可以使用 IDE 資料夾,將檢視畫面整理到資料夾中。接著,您可以使用 * 萬用字元,將所有檢視畫面納入單一資料夾,而不必將所有檢視畫面納入專案。詳情請參閱「使用 include 和 IDE 資料夾」一節。
包括所有檢視檔案可能會導致資料庫結構定義雜亂
如果專案使用永久衍生資料表 (PDT),您可以在模型檔案中加入 PDT 的檢視檔案。不過,每個包含 PDT 檢視檔案的模型檔案,都會在資料庫的暫存結構定義中建立 PDT 的副本。如果您有多個模型檔案,且模型檔案中包含所有檢視檔案,可能會在資料庫暫存架構中加入不必要的雜亂內容。因此,請務必只在需要 PDT 的模型檔案中加入 PDT 的檢視檔案。