Extend a view to add columns from another view

Check my progress

/ 50

Extend an Explore to add joins from another Explore

Check my progress

/ 50

This lab may incorporate AI tools to support your learning.

GSP936

Google Cloud 自學實驗室

總覽

Looker 是 Google Cloud 的現代化資料平台,提供互動式分析功能,並可用圖表呈現資料。LookML 開發人員可建立新欄位、資料表、檢視表和探索,以此自訂及整理資料,供企業使用者更有效地運用。

在本實驗室中,您將瞭解如何透過擴充檢視表和探索,將 LookML 程式碼模組化。

事前準備

請確認您熟悉 LookML 語言。建議在開始本實驗室前,先完成「瞭解 Looker 中的 LookML」實驗室。

課程內容

  • 說明如何使用擴充功能將 LookML 程式碼模組化,並輕鬆重複使用。
  • 整合其他檢視表定義的資料欄來擴充檢視表。
  • 整合其他探索定義的彙整來擴充探索內容。

設定和需求

瞭解以下事項後,再點選「Start Lab」按鈕

請詳閱以下操作說明。實驗室活動會計時,且中途無法暫停。點選「Start Lab」後就會開始計時,顯示可使用 Google Cloud 資源的時間。

您將在真正的雲端環境中完成實作實驗室活動,而不是在模擬或示範環境。為達此目的,我們會提供新的暫時憑證,讓您用來在研究室活動期間登入及存取 Google Cloud。

如要完成這個研究室活動,請先確認:

  • 您可以使用標準的網際網路瀏覽器 (Chrome 瀏覽器為佳)。
注意:請使用無痕模式或私密瀏覽視窗執行本實驗室,這可以防止個人帳戶和學生帳戶之間的衝突,避免個人帳戶產生額外費用。
  • 是時候完成實驗室活動了!別忘了,活動一開始將無法暫停。
注意:如果您擁有個人 Google Cloud 帳戶或專案,請勿用於本實驗室,以免產生額外費用。

如何開始實驗室及登入 Looker

  1. 準備就緒後,請點選「Start Lab」

    「Lab Details」窗格會顯示本實驗室中必須使用的暫時憑證。

    如果實驗室會產生費用,畫面中會出現選擇付款方式的彈出式視窗。

    請在「Lab Details」窗格查看實驗室憑證,您之後會使用此憑證登入實驗室的 Looker 執行個體。

    注意:如果使用其他憑證,系統會顯示錯誤訊息或產生費用
  2. 點選「Open Looker」

  3. 分別在「Email」和「Password」欄位,輸入提供的使用者名稱和密碼。

    使用者名稱:

    {{{looker.developer_username | Username}}}

    密碼:

    {{{looker.developer_password | Password}}} 重要事項:請務必使用本頁面「Lab Details」窗格中提供的憑證,而非 Google Cloud Skills Boost 的憑證。請勿在本實驗室中使用個人的 Looker 帳戶。
  4. 點選「Log In」

    成功登入後,您就會在本實驗室看到 Looker 執行個體。

什麼是 LookML 擴充功能?

使用擴充功能,即可建立 LookML 物件副本並整合至其他物件。這類副本可單獨修改,而不會影響原始物件,程式碼也因此能模組化。在 Looker,您可以擴充檢視表、探索和 LookML 定義的資訊主頁,還能透過擴充功能將程式碼模組化,把程式碼片段視為獨立的模組或單元,並據此擴充資料模型。

使用擴充功能的優點

優點包括:撰寫 DRY 程式碼、更輕鬆/快速地進行變更、維持一致性、較容易管理不同欄位集

擴充功能可協助您編寫 D.R.Y. (Don’t Repeat Yourself) 程式碼。只要複製現有的物件和程式碼區段,就能更輕鬆地新增或修改邏輯。隨著機構規模和用途範圍擴大,這項功能將成為調整模型規模的重要工具。另外,由於不必經常手動重寫程式碼,模型的一致性也能達到最高。這項功能還能簡化不同使用者群組的欄位存取權管理作業,對擴充能力而言也至關重要。

LookML 檢視表擴充功能

如先前所述,LookML 檢視表是其中一種可擴充的物件。擴充通常是為了新增更多欄位,以及/或調整現有欄位的邏輯。另一個用途則是變更 sql_table_name 參數指定的資料庫資料表。

流程圖:概述「在檢視表新增欄位」與「修改檢視表的資料表」的做法

LookML 探索擴充功能

另一個可擴充的物件是探索。您可能有多個資料表必須固定彙整在一起,尤其是資料庫架構的正規化程度較高時,更可能會有這類需求。為省去重複編寫相同彙整的麻煩,您可以先建立「基本」探索來預先彙整資料;後續若需要納入更多檢視表,再透過擴充基本探索,建立其他探索即可。或者,您可能要用到同一組彙整檢視表,但新的探索要以不同的基本檢視表做為起點。

流程圖:概述「將檢視表新增至探索」與「修改探索的基本檢視表」的做法

執行擴充作業的四個步驟

步驟包括複製、合併、解決衝突和完成

探索的幕後機制:

  1. Looker 會複製要擴充的 LookML 物件。
  2. 這個副本 (即「擴充物件」) 會與新的或修改後的定義合併。
  3. 如果偵測到任何衝突 (修改定義時會發生),將以擴充物件為準。
  4. 擴充物件也能用於 LookML 模型,就像其他物件一樣。
注意:雖然擴充過程很簡單,但瞭解這些運作細節,有助您處理未預期的狀況。

工作 1:擴充檢視表,加入其他檢視表的資料欄

您可以建立一個集中式檢視表,統一定義常用的維度與測量指標,而不必在多個檢視表間複製/貼上相同的程式碼。接著再使用擴充功能,將這些維度與測量指標整合至多個檢視表。只要使用擴充功能的特定參數,就能指定 Looker 要複製的來源檢視表。

這對企業來說相當實用,因為您可以建立一個集中式程式碼集,供多個團隊重複使用,讓各團隊既能共享核心程式碼,又能根據自身需求擴充及自訂。將位置維度抽離出來的好處是,您只需要更新一次,變更就會自動套用至所有擴充自該位置檢視表的項目。

在這項工作中,您將建立新的檢視表來定義位置維度 (例如城市、國家/地區),稍後就能透過擴充 users 和 events 等其他檢視表,重複使用這些定義。

建立新的檢視表

  1. 點選切換鈕進入「開發模式」

  2. 在「開發」分頁,選取 qwiklabs-ecommerce LookML 專案。

  3. 點選「檔案瀏覽器」旁的「+」圖示 ,然後選取「建立檢視表」

  4. 在「名稱」部分輸入 location,點選「建立」,將檔案拖曳至「view」資料夾下,然後在檔案中加入下列程式碼:

view: location { extension: required dimension: city { type: string sql: ${TABLE}.city ;; } dimension: state { type: string sql: ${TABLE}.state ;; map_layer_name: us_states } dimension: zip { type: zipcode sql: ${TABLE}.zip ;; } dimension: country { type: string map_layer_name: countries sql: ${TABLE}.country ;; } dimension: latitude { type: number sql: ${TABLE}.latitude ;; } dimension: longitude { type: number sql: ${TABLE}.longitude ;; } }

這個檢視表檔案包含要重複用於其他檢視表的維度定義:citycountrylatitudelongitudestatezip

請留意第 2 行,extension: required 表示這個檢視表「無法彙整至其他檢視表」,因此使用者無法看到。 如要使用這個檢視表,必須透過 extends 參數將其整合至另一個檢視表,下一節會說明具體做法。

另外要注意的是,與其他檢視表不同,您不必在檢視表定義中加入 sql_table_name 參數來指名資料所屬的資料表,這個檢視表會直接沿用下一節中,要擴充的檢視表所指定的資料表。

  1. 依序點選「儲存變更」>「驗證 LookML」
    未發現 LookML 錯誤,檔案內容應如下所示:

開啟的最新 location.view 檔案,共有 31 行程式碼

新增擴充功能

  1. 開啟 users.view 檔案。

  2. 在檔案頂端新增一行 (第 1 行) 並加入下列程式碼,表示要使用位置檢視表來擴充 users 檢視表:

include: location.view
  1. 在第 3 行 (sql_table_name 上方),加入下列程式碼:
extends: [location] 注意:由於新增了擴充功能,檔案中的現有物件,以及透過擴充功能從地理位置加入的物件,都會由 sql_table_name 參數統一指定要做為資料來源的資料表。
  1. 移除下列現有的維度定義:citycountrylatitudelongitudestatezip (依檔案中目前的順序排列)。這些維度未在 users.view 檔案中明確定義,而是透過擴充功能從 location.view 整合而來。

  2. 依序點選「儲存變更」>「驗證 LookML」

  3. 開啟 events.view 檔案。

  4. 在檔案頂端新增一行 (第 1 行) 並加入下列程式碼:

include: location.view
  1. 在第 3 行 (sql_table_name 上方),加入下列程式碼:
extends: [location]
  1. 比照處理 users 檢視表的做法,移除下列現有的維度定義:citycountrylatitudelongitudestatezip

  2. 依序點選「儲存變更」>「驗證 LookML」

檔案內容應如下所示:

開啟的最新 events.view 檔案,共有 25 行程式碼

在「Order Items」探索中測試 Users 和 Events 的擴充檢視表

  1. 前往 Order Items 的「探索」頁面。

  2. Users 檢視表,選取「City」、「Country」、「Latitude」、「Longitude」、「State」和「Zip」維度。

  3. 點選「執行」

雖然您從 users.view 檔案移除了這些維度 (city、country、latitude、longitude、state 和 zip) 的定義,但仍可查看及使用這些維度,因為這些維度是透過擴充功能從 location.view 檔案新增至 users.view 檔案。

「Order Items」探索圖表,顯示 users.view 和 location.view 檔案的資料欄

  1. 前往 Events 的「探索」頁面。

  2. Events 檢視表,選取「City」、「Country」、「Latitude」、「Longitude」、「State」和「Zip」維度。

  3. 點選「執行」

「Order Items」探索圖表,顯示 events.view 檔案中的維度

同樣地,即使您從 events.view 檔案移除這些維度的定義,仍可查看及使用這些維度,因為這些維度是透過擴充功能新增至 events.view 檔案。

  1. 返回 Looker IDE 的 events.view 檔案。

修訂變更並部署至正式環境

  1. 依序點按「驗證 LookML」>「修訂變更並推送」

  2. 新增修訂版本訊息,然後點按「修訂」

  3. 最後,點按「部署至正式環境」

點選「Check my progress」,確認目標已達成。 擴充檢視表,加入其他檢視表的資料欄

工作 2:擴充探索,加入其他探索的彙整

與其在模型檔案的多個探索間複製/貼上相同的彙整,您只要建立一個包含常用彙整的基本探索即可。接下來,您就能透過擴充功能沿用這個基本探索,在模型檔案中定義及自訂其他探索。

常見的商業應用實例是建立一個核心探索,再以此為基礎,針對機構內的特定使用者群組/團隊建立其他探索。

本節中,您將建立一個基本探索,納入多個業務團隊所需的所有檢視表彙整,然後使用擴充功能,為多個團隊重複使用並自訂這個基本探索。

  1. 返回 training_ecommerce.model 檔案。

  2. order_items 探索定義 (約第 43 行) 後方,使用下列程式碼建立新的 base_events 基本探索:

explore: base_events { extension: required join: event_session_facts { type: left_outer sql_on: ${events.session_id} = ${event_session_facts.session_id} ;; relationship: many_to_one } join: users { type: left_outer sql_on: ${events.user_id} = ${users.id} ;; relationship: many_to_one } }

請再次留意 extension: required 這行,表示使用者無法看到這個探索。檔案內容應如下所示:

開啟的 training_ecommerce.model 檔案,標示出新增的 base_events 探索程式碼行

接著,您要修改 events 探索的現有定義,使用 base_events 的檢視表來擴充探索內容。

  1. events 探索,移除 event_session_factsusers 的現有彙整。

下一步新增的程式碼會從 base_events 探索,整合這些彙整檢視表。請注意,event_session_funnel 的彙整定義並未移除,方便您為特定的使用者群組自訂這個探索。檔案內容應如下所示:

開啟的 training.ecommerce.model 檔案,標出更新後的第 43 至 56 行

  1. events 探索定義的第一行下方,新增下列程式碼:
description: "Start here for Event analysis" fields: [ALL_FIELDS*] from: events view_name: events extends: [base_events] 注意:這幾行新程式碼提供「探索」資訊按鈕的說明,指出要納入哪個檢視表檔案的哪些欄位 (所有欄位),並指定要使用哪個探索來擴充 events 探索。

events 探索的最終定義應如下所示:

training.ecommerce.model 檔案,已更新 events 探索的程式碼行

注意:既然 fromview_name 都指向 events 檢視表,為什麼要同時使用這兩個參數?from 用來確保您使用的是名為 events 的原始檢視表,而非檢視表的別名或擴充版本,view_name 則是檢視表檔案名稱,這部分可能是別名等。
  1. 在修改後的 events 探索定義下方,使用下列程式碼新增 conversions 探索:
explore: conversions { description: "Start here for Conversion Analysis" fields: [ALL_FIELDS*, -order_items.total_revenue_from_completed_orders] from: events view_name: events extends: [base_events] join: order_items { type: left_outer sql_on: ${users.id} = ${order_items.user_id} ;; relationship: many_to_many } }

第 2 至 6 行提供「探索」資訊按鈕的說明,指出要納入哪個檢視表檔案的哪些欄位 (不包含 order_items 檢視表中的 total_revenue_from_completed_orders 指標),並指定擴充來源 (也就是先前用來擴充 events 探索的 base_events 探索)。

  1. 依序點選「儲存變更」>「驗證 LookML」
    未發現 LookML 錯誤,檔案內容應如下所示:

training.ecommerce.model 檔案,已新增 conversions 探索程式碼行

現在來測試新建立的探索吧!請分別前往 EventsConversions 的「探索」頁面,查看當中包含哪些檢視表。這些探索雖然共用一組核心檢視表,但又各自加入額外的檢視表,因此可滿足不同使用者的需求。

注意:如果在「探索」下沒看到「Conversions」,請重新整理「探索」頁面。
  1. 前往 Events 的「探索」頁面,您會看到基本探索中彙整的檢視表 (EventsEvent Session FactsUsers),以及 Event Session Funnel 檢視表。

「Events」探索頁面的「All Fields」分頁,列出「Custom Fields」、「Event Session Facts」、「Event Session Funnel」、「Events」和「Users」

  1. 如要查看說明,請點選「Events」下拉式選單,然後將游標懸停在相關項目旁的「資訊」圖示 資訊按鈕 上,即可檢視詳細資訊。

  2. 前往 Conversions 的「探索」頁面,您會看到基本探索中彙整的檢視表 (EventsEvent Session FactsUsers),以及 Order Items 檢視表。

「Conversions」頁面的「All Fields」分頁,列出「Custom Fields」、「Event Session Facts」、「Events」、「Order Items」和「Users」

  1. 如要查看說明,請將游標移至「Conversions」旁的「資訊」圖示 資訊按鈕

  2. 查看 Order Items 檢視表中的測量指標,其中並未列出 total_revenue_from_completed_orders

  3. 返回 Looker IDE 的 training_ecommerce.model 檔案。

修訂變更並部署至正式環境

  1. 依序點按「驗證 LookML」>「修訂變更並推送」

  2. 新增修訂版本訊息,然後點按「修訂」

  3. 最後,點按「部署至正式環境」

點選「Check my progress」,確認目標已達成。 擴充探索,加入其他探索的彙整

恭喜!

在本實驗室中,您新增了包含位置維度的檢視表,以此擴充 users 和 events 檢視表,接著建立包含多個檢視表彙整的基本探索,再透過擴充功能,為多個團隊和使用者重複運用並自訂這個基本探索。

後續步驟/瞭解詳情

Google Cloud 教育訓練與認證

協助您瞭解如何充分運用 Google Cloud 的技術。我們的課程會介紹專業技能和最佳做法,讓您可以快速掌握要領並持續進修。我們提供從基本到進階等級的訓練課程,並有隨選、線上和虛擬課程等選項,方便您抽空參加。認證可協助您驗證及證明自己在 Google Cloud 技術方面的技能和專業知識。

使用手冊上次更新日期:2026 年 5 月 18 日

實驗室上次測試日期:2026 年 5 月 18 日

Copyright 2026 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。

Before you begin

  1. Labs create a Google Cloud project and resources for a fixed time
  2. Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
  3. On the top left of your screen, click Start lab to begin

Use private browsing

  1. Copy the provided Username and Password for the lab
  2. Click Open console in private mode

Sign in to the Console

  1. Sign in using your lab credentials. Using other credentials might cause errors or incur charges.
  2. Accept the terms, and skip the recovery resource page
  3. Don't click End lab unless you've finished the lab or want to restart it, as it will clear your work and remove the project

This content is not currently available

We will notify you via email when it becomes available

Great!

We will contact you via email if it becomes available

One lab at a time

Confirm to end all existing labs and start this one

Use private browsing to run the lab

Using an Incognito or private browser window is the best way to run this lab. This prevents any conflicts between your personal account and the Student account, which may cause extra charges incurred to your personal account.