使用擴充功能將 LookML 程式碼模組化

实验 1 小时 universal_currency_alt 免费 show_chart 中级
info 此实验可能会提供 AI 工具来支持您学习。
此内容尚未针对移动设备进行优化。
为获得最佳体验,请在桌面设备上访问通过电子邮件发送的链接。

GSP936

Google Cloud 自學實驗室標誌

總覽

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

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

事前準備

務必熟悉 LookML。建議您在開始本實驗室前,先完成「瞭解 Looker 中的 LookML」實驗室。

課程內容

  • 說明如何使用 Extends 將 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 物件的副本,並將這些副本整合至其他 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:擴充檢視表,加入其他檢視表的資料欄

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

從企業角度來看,這是非常實用的功能,因為您可以擁有一個集中式程式碼集,供多個團隊重複使用,這些團隊可以擴充核心程式碼並根據自己的需求進行自訂。抽象化位置維度的優點在於,您只要更新一次,從該位置檢視表擴充的任何檢視表都會同步更新。

在這項工作中,您將建立新的檢視表,其中包含位置維度 (例如城市、國家/地區),可透過擴充其他檢視表 (例如使用者和事件檢視表) 重複使用。

建立檢視表

  1. 按一下切換鈕進入「開發模式」

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

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

  4. 將檢視表命名為 location,拖曳至「檢視表」資料夾底下,然後在其中加入下列程式碼:

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 ;; } }

這個檢視表檔案包含您想在其他檢視表中重複使用的維度定義:「城市」、「國家/地區」、「緯度」、「經度」、「州/省」和「郵遞區號」

請注意第 2 行 (extension: required),這表示這個檢視表「無法與其他檢視表合併」,因此使用者無法看到。 如要使用這個檢視表,必須使用 extends 參數將其整合至另一個檢視表,這個部分會在下一節說明。

此外,請注意,與其他檢視表不同,您不需要在檢視表定義中加入 sql_table_name 參數,即可識別要用於資料的資料表。這個檢視表會使用即將在下一節中擴充的檢視表所指定的資料表。

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

開啟更新後的 location.view 檔案,其中包含 31 行程式碼

新增擴充功能

  1. 開啟 users.view 檔案。

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

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

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

  3. 開啟 event.view 檔案。

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

include: location.view
  1. 在第 3 行的 sql_table_name 上方,加入下列程式碼:
extends: [location]
  1. 如同處理使用者檢視表,請移除現有的維度定義:citycountrylatitudelongitudestatezip

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

檔案應如下所示:

開啟更新後的 events.view 檔案,其中包含 25 行程式碼

在「訂購商品」探索報表測試使用者和事件的擴充檢視表

  1. 前往「訂購商品」的「探索」頁面

  2. 在「使用者」檢視表中,選取「城市」、「國家/地區」、「緯度」、「經度」、「州/省」和「郵遞區號」維度。

  3. 按一下「執行」

雖然您從 users.view 檔案中移除了這些維度 (城市、國家/地區、緯度、經度、州/省和郵遞區號) 的定義,但仍可查看及使用這些維度,因為這些維度是透過 location.view 檔案的擴充功能新增至 users.view 檔案!

「訂購商品」探索圖表,顯示 users.view 和 location.view 檔案的資料欄

  1. 前往「事件探索」頁面。

  2. 在「事件」檢視表中,選取「城市」、「國家/地區」、「緯度」、「經度」、「州/省」和「郵遞區號」維度。

「訂購商品」探索圖表,顯示 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 探索程式碼行

接著,您要修改「事件」探索的現有定義,加入 base_events 的檢視表。

  1. 在「事件」探索中,移除 event_session_factsusers 的現有彙整。

這些彙整檢視表是透過下一步新增的程式碼,從 base_events 探索整合而來。請注意,event_session_funnel 的彙整定義仍保留,可針對特定使用者組合自訂這個探索報表。檔案應如下所示:

開啟的 training.ecommerce.model 檔案,其中第 43 至 56 行已更新並醒目顯示

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

「事件」探索的最終定義應如下所示:

training.ecommerce.model 檔案,其中事件探索的程式碼行已更新

注意:fromview_name 都指向事件檢視表,為何要同時加入?from 可確保您使用的是名為事件的原始檢視表,而非檢視表的別名或擴充版本,而 view_name 則是檢視表檔案名稱,可能是別名等。
  1. 在修改後的「事件」探索定義下方,使用下列程式碼新增名為「轉換」的探索:
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 行提供「探索」資訊按鈕的說明,並指定要納入哪些檢視表檔案的欄位 (訂購商品檢視表中的 total_revenue_from_completed_orders 指標除外),以及要使用哪個「探索」來擴充這個「探索」(也就是用來擴充「事件」探索的「base_events」探索)。

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

training.ecommerce.model 檔案,已加入轉換探索程式碼

現在來測試新建立的探索吧!前往「探索」部分的「事件」和「轉換次閟」,查看包含哪些檢視表。由於這些探索共用一組核心檢視表,但又各自加入額外的檢視表,因此可滿足不同使用者的需求。

  1. 前往「事件」探索,其中包含基本探索 (「事件」、「事件工作階段事實」、「使用者」) 中彙整的檢視表,以及「事件工作階段漏斗圖」檢視表。

在「探索事件」頁面的「所有欄位」分頁中,列出「自訂欄位」、「事件工作階段事實」、「事件工作階段漏斗圖」、「事件」和「使用者」

  1. 如要查看說明,請將指標懸停在「事件」旁的「資訊」圖示 (資訊按鈕)。

  2. 前往「轉換」探索,其中包含基本探索 (「事件」、「事件工作階段事實」、「使用者」) 中彙整的檢視表,以及「訂購商品」檢視表。

在「對話」頁面的「所有欄位」分頁中,列出「自訂欄位」、「事件工作階段事實」、「事件」、「訂購商品」和「使用者」

  1. 如要查看說明,請將指標移至「轉換」旁的「資訊」圖示 (資訊按鈕)。

  2. 查看「訂購商品」檢視表中的測量指標,發現並未列出 total_revenue_from_completed_orders

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

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

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

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

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

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

恭喜!

在本實驗室中,您擴充了使用者和事件檢視表,建立包含位置維度的新檢視表;建立包含多個檢視表彙整的基本探索;並使用擴充功能來為多個團隊和使用者重複使用及自訂基本探索。

後續步驟/瞭解詳情

Google Cloud 教育訓練與認證

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

使用手冊上次更新日期:2024 年 4 月 22 日

實驗室上次測試日期:2023 年 9 月 6 日

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

准备工作

  1. 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
  2. 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
  3. 在屏幕左上角,点击开始实验即可开始

使用无痕浏览模式

  1. 复制系统为实验提供的用户名密码
  2. 在无痕浏览模式下,点击打开控制台

登录控制台

  1. 使用您的实验凭证登录。使用其他凭证可能会导致错误或产生费用。
  2. 接受条款,并跳过恢复资源页面
  3. 除非您已完成此实验或想要重新开始,否则请勿点击结束实验,因为点击后系统会清除您的工作并移除该项目

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您

一次一个实验

确认结束所有现有实验并开始此实验

使用无痕浏览模式运行实验

请使用无痕模式或无痕式浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。