使用 LookML 建立測量指標和維度

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

GSP890

Google Cloud 自學實驗室標誌

總覽

Looker 是 Google Cloud 的新型資料平台,您可以透過互動進行分析,並用圖表呈現資料。您能使用 Looker 深入分析資料、整合各種資料來源的洞察資訊、設定可做為行動依據的資料導向工作流程,以及建立自訂資料應用程式。

在 Looker 中,維度是用於描述資料的獨特屬性。舉例來說,在機場資料集中,機場的所屬城市和海拔可能是不同的維度。測量指標是一或多個維度 (或資料唯一屬性) 的匯總結果,例如計數或平均值,能幫助您計算主要成效指標 (KPI),以及供企業使用者根據不同匯總屬性分析資料。

在本實驗室,您將以 Looker 開發人員的身分,瞭解如何在 LookML 建立不同類型的維度和測量指標。您也會學習如何修改「探索」模型,這類模型是資料檢視,可做為 Looker 企業使用者自助探索的基礎。

在本實驗室,我們已在 LookML 建立名為 qwiklabs-ecommerce 的專案。這個專案以虛擬電子商務資料集為基礎,因此您能使用 LookML 建立的維度和測量指標,製作業務 KPI。如要進一步瞭解 LookML 模型建立,請參閱 Looker 說明文件。

學習內容

本實驗室的內容包括:

  • 修改 Looker 管理員發布的現有 LookML 專案 (qwiklabs-ecommerce)。
  • 在 LookML 建立不同類型的維度和測量指標,處理企業使用者的問題。
  • 在開發模式中測試 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 執行個體。

工作 1:建立維度

在 Looker 中,維度是可分組的欄位,可用於篩選查詢結果,可能的值如下:

  • 屬性:直接與基礎資料表中的資料欄相關聯
  • 度量或數值
  • 衍生值:根據單一資料列中其他欄位的值計算得出

舉例來說,「產品」檢視畫面的維度可能包括產品名稱、型號、顏色、價格、建立日期和停產日期。

您可以利用維度,根據不同屬性將資料點分組,來分析 KPI。您可以建立不同類型的維度,例如 timenumericyesno string,來分析資料。

建立新的年齡層維度

在本節,您將根據「age」維度,建立名為「age_tier」的新維度,該維度會列出年齡範圍。建立方法是新增維度,並將個別年齡分組至下列年齡層:18、25、35、45、55、65、75、90

  1. 首先,在 Looker 使用者介面左下方,按一下切換鈕進入「開發模式」

開發模式切換鈕

  1. 按一下「開發」分頁標籤,然後選取 qwiklabs-ecommerce LookML 專案。

  2. 進入 qwiklabs-ecommerce 專案後,點選「檢視表」旁的箭頭,即可查看檢視表名稱清單。

  3. 點選 users.view

  4. users.view 中找出「age」維度。檔案應如下所示:

users-view 檔案

「age」等維度欄位,會對應至基礎資料庫資料表,或是根據其他維度計算出的值。

編輯器會在您輸入內容時提供建議,但如果您遇到困難,或需要查看不同參數及其屬性的清單,隨時可以參考 IDE 右側的「快速說明」選單。

  1. 首先,在「age」維度下方的換行處,使用下列程式碼定義「age_tier」新維度:
dimension: age_tier { }
  1. 接著新增維度類型。請在此新增 tier 做為維度類型:
dimension: age_tier { type: tier }
  1. 接著,您將為該維度新增特定層級。在這個範例中,您要先將層級分成 18 歲以下,然後再以 10 年為單位分組:
dimension: age_tier { type: tier tiers: [18, 25, 35, 45, 55, 65, 75, 90] }
  1. 接著定義樣式參數,這是針對「層級類型」維度而設計,會影響層級在 UI 中的顯示方式。在此範例中,您希望樣式為 integer
dimension: age_tier { type: tier tiers: [18, 25, 35, 45, 55, 65, 75, 90] style: integer }
  1. 最後,您要加入 SQL 參數,告知 Looker 如何編寫使用者執行查詢的 SQL。針對這個維度,您要告知 SQL 參數從既有的「age」欄位擷取資料:
dimension: age_tier { type: tier tiers: [18, 25, 35, 45, 55, 65, 75, 90] style: integer sql: ${age} ;; }

檔案應如下所示:

users.view 檔案,包含 id、age 和 age_tier 維度

新增維度後,您可以進行測試,確認運作正常。

  1. 依序點選「儲存變更」和 IDE 右上方的「Validate LookML」按鈕,執行 LookML 程式碼驗證。

  2. 如要快速前往「探索」頁面,請在 IDE 頂端按一下檔案標題旁的下拉式選單,然後選取「Explore Order Items」

users.view 下拉式選單,醒目顯示「Explore Order Items」選項。

這個檔案選單只會顯示在 LookML 中定義「探索」的檢視表。

  1. 接著,依序前往「使用者」>「維度」>「Age Tier」,查看新維度。

  2. 加入「Age」和「Age Tier」維度,然後點選「執行」。您會看到每個年齡都分組至正確的層級:

「Users Age」和「Users Age Tier」欄中填入年齡。

  1. 現在移除「Age」維度,並加入「Count」測量指標,然後再次點選「執行」。結果會符合您的需求,Looker 已計算不同年齡的人數,並將各年齡分組至正確的層級。大功告成!

「Users Age Tier」和「Users Count」欄中列出不同年齡

為電子郵件來源建立新維度

在本節,您將根據「traffic_source」維度,建立名為「is_email_source」的新維度,用來判斷帶來特定使用者的流量來源,是否為電子郵件。

  1. 返回 qwiklabs-ecommerce 專案,開啟 users.view 檔案。

  2. 找出「traffic_source」維度。檔案應如下所示:

users.view 檔案,顯示「traffic_source」維度

  1. 在「traffic source」維度下方的換行處,使用下列程式碼定義「is_email_source」新維度:
dimension: is_email_source { }
  1. 接著新增類型參數。由於要做的是布林分類,因此請使用 yesno 類型:
dimension: is_email_source { type: yesno }
  1. 最後,加入 SQL 參數。針對這個維度,您要告知 SQL 參數從既有的「traffic_source」欄位中,擷取值等於「Email」的資料

  2. 定義「Email」時,請務必使用雙引號 (""),確保語法正確:

dimension: is_email_source { type: yesno sql: ${traffic_source} = "Email" ;; }

檔案應如下所示:

users.view 檔案,其中「is_email_source」維度包含以下程式碼:sql: ${traffic_source} = "Email"

新增維度後,您可以進行測試,確認運作正常。

  1. 依序點選「儲存變更」和 IDE 右上方的「Validate LookML」按鈕,執行 LookML 程式碼驗證。

  2. 在 IDE 頂端按一下檔案標題旁的下拉式選單,然後選取「Explore Order Items」

在 users.view 下拉式選單,醒目顯示的「Explore Order Items」選項。

  1. 接著,依序前往「使用者」>「維度」>「Is Email Source (Yes/No)」,查看新維度。

  2. 新增「Is Email Source」維度和「Count」測量指標,然後點選「執行」。結果會顯示透過電子郵件吸引的使用者人數,以及非電子郵件來源的人數。大功告成!

結果顯示在「Users is Email Source (Yes/No)」欄和「Users Count」欄

建立新的運送天數維度

在本節,您將建立名為「shipping days」的新維度,計算 order_items 檢視表中,訂單出貨日期與建立日期之間的天數。

  1. 返回 qwiklabs-ecommerce 專案,開啟 order_items.view 檔案。

  2. 找出「shipped」的維度群組。檔案應如下所示:

order_items.view 檔案

  1. 在「shipped」維度群組下另起一行,使用下列程式碼定義「shipping_days」新維度:
dimension: shipping_days { }
  1. 接著新增類型參數。這個維度將使用 number 類型:
dimension: shipping_days { type: number }
  1. 最後,加入 SQL 參數。針對這個維度,您要告知 SQL 參數,對「shipped_date」和「created_date」維度,執行 DATE_DIFF 函式DAY 是您要計算的間隔時間:
dimension: shipping_days { type: number sql: DATE_DIFF(${shipped_date}, ${created_date}, DAY);; }

檔案應如下所示:

order_items.view 檔案

  1. 新增維度後,您可以進行測試,確認運作正常。依序點選「儲存變更」和 IDE 右上方的「Validate LookML」按鈕,執行 LookML 程式碼驗證。

  2. 按一下 IDE 頂端檔案標題旁的下拉式選單,然後選取「Explore Order Items」

  3. 接著,依序前往「Order Items」>「維度」>「Shipping Days」,查看新維度。

  4. 加入「Shipping Days」維度和「Order Count」測量指標,然後點選「執行」。結果會顯示各運送天數所對應的訂單數量。大功告成!

  5. 返回 order_items.view 檔案。

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

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

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

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

點選「Check my progress」,確認目標已達成。 建立新維度

工作 2:建立測量指標

測量指標是使用 SQL 匯總函式的欄位,例如 COUNTSUMAVGMINMAX。根據其他測量指標值計算出的欄位也是測量指標,可用於篩選分組值。舉例來說,「銷售」檢視畫面的測量指標,可能包括銷售商品總數 (計數)、銷售總價 (總和) 和平均銷售價格 (平均值)。

欄位的行為和預期值取決於其宣告的類型,例如 stringnumbertime。測量指標的類型包括匯總函式,例如 sumpercent_of_previous。詳情請參閱維度類型測量指標類型

建立不重複的訂單數測量指標

測量指標欄位是用於匯總多個資料列的值。在本節,您將建立名為「count_distinct_orders」的新測量指標,計算 order_items 檢視表中不重複的訂單數量。

  1. 返回 qwiklabs-ecommerce 專案,開啟 order_items.view 檔案。

  2. order_items.view 中找出「order_item_count」的測量指標。

  3. 在「order_item_count」測量指標下方另起一行,使用下列程式碼,為「count_distinct_orders」定義新測量指標:

measure: count_distinct_orders { } 注意:請務必將預設的測量指標名稱 (order_count) 替換為 count_distinct_orders
  1. 接著新增類型參數。這個測量指標將使用 count_distinct 類型。count_distinct 類型會計算指定欄位中不重複值的數量,並使用 SQL 的 COUNT DISTINCT 函式:
measure: count_distinct_orders { type: count_distinct }
  1. 最後,加入 SQL 參數。針對這項測量指標,您要告知 SQL 參數從既有的 order_id 欄位擷取資料:
measure: count_distinct_orders { type: count_distinct sql: ${order_id} ;; }

檔案應如下所示:

order_iems.view 檔案

新增測量指標後,您可以進行測試,確認運作正常。

  1. 依序點選「儲存變更」和 IDE 右上方的「Validate LookML」按鈕,執行 LookML 程式碼驗證。

  2. 按一下 IDE 頂端檔案標題旁的下拉式選單,然後選取「Explore Order Items」

  3. 在「Order Items」>「度量」下方,點選「Count Distinct Orders」。

  4. 點選「執行」,即可查看新測量指標中的值,並確認新測量指標是否正常運作。

建立總銷售量測量指標

在本節,您將建立名為「total_sales」的新測量指標,使用「sale_price」維度計算總銷售額。

  1. 返回 qwiklabs-ecommerce 專案,開啟 order_items.view 檔案。

  2. order_items.view 中找出「order_item_count」的測量指標。

  3. 在「order_item_count」的測量指標下方另起一行,使用下列程式碼定義「total_sales」新測量指標:

measure: total_sales { }
  1. 加入類型參數,這裡使用的是 sum
measure: total_sales { type: sum }
  1. 新增 SQL 參數。針對這項測量指標,您要告知 SQL 參數從既有的「sale_price」欄位擷取資料:
measure: total_sales { type: sum sql: ${sale_price} ;; }
  1. 最後,您將新增 value_format_namevalue_format_name 參數可讓您使用 Looker 內建或自訂的可重複使用格式,來設定資料值的格式。在本範例,由於您要計算銷售價格,因此請使用美元 (usd_0):
measure: total_sales { type: sum sql: ${sale_price} ;; value_format_name: usd_0 }

檔案應如下所示:

order_items.view 檔案

新增測量指標後,您可以進行測試,確認運作正常。

  1. 依序點選「儲存變更」和 IDE 右上方的「Validate LookML」按鈕,執行 LookML 程式碼驗證。

  2. 按一下 IDE 頂端檔案標題旁的下拉式選單,然後選取「Explore Order Items」

  3. 在「Order Items」>「度量」下方,點按「Total Sales」。

  4. 點選「執行」即可查看新測量指標中的值。

結果頁

  1. 返回 order_items.view 檔案。

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

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

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

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

點選「Check my progress」,確認目標已達成。 建立測量指標

工作 3:制定進階測量指標

進階測量指標可讓您根據目前檢視表檔案外部定義的維度,建立額外的自訂指標。您也可以提供特定篩選條件,建立篩選後的特殊類型測量指標。

建立篩選後的總銷售額測量指標,只計算透過電子郵件流量來源造訪網站的使用者

在本節,您將建立名為「total_sales_email_users」的新進階測量指標,僅計算透過電子郵件流量來源造訪網站的使用者總銷售額。

  1. 返回 qwiklabs-ecommerce 專案,開啟 order_items.view 檔案。

  2. order_items.view 中找出「order_item_count」的測量指標。

  3. 在「order_item_count」的測量指標下方另起一行,使用下列程式碼定義「total_sales_email_users」的新測量指標:

measure: total_sales_email_users { }
  1. 接著新增類型。由於這裡要計算的是總銷售額,因此請使用 sum
measure: total_sales_email_users { type: sum }
  1. 新增 SQL 參數。針對這項測量指標,您要告知 SQL 參數從既有的「sale_price」欄位擷取資料:
measure: total_sales_email_users { type: sum sql: ${sale_price} ;; }

最後,您將新增 filters 參數。如要直接對測量指標套用篩選器,而不是篩選整個查詢,可以在測量指標的 LookML 定義中加入 filters 參數。這會將篩選器 (以 CASE WHEN 陳述式表示) 套用至產生 SQL 中的測量指標,而不是將全域 WHERE 子句套用至整個查詢。

因此,篩選後的測量指標只會匯總符合指定條件的資料列,而不是在匯總後從查詢中移除資料列。藉由這種做法,我們能比較母體中的不同子群體,或將子群體與整個母體進行比較。

  1. 新增下列篩選器參數。這裡用的是您先前在 users.view 檔案中,建立的「is_email_source」維度:
measure: total_sales_email_users { type: sum sql: ${sale_price} ;; filters: [users.is_email_source: "Yes"] } 注意: 您也可以改為使用下列程式碼,參照「traffic_source」維度。 measure: total_sales_email_users { type: sum sql: ${sale_price} ;; filters: [users.traffic_source: "Email"] }

檔案應如下所示:

order_items.view 檔案

新增測量指標後,您可以進行測試,確認運作正常。

  1. 依序點選「儲存變更」和 IDE 右上方的「Validate LookML」按鈕,執行 LookML 程式碼驗證。

  2. 按一下 IDE 頂端檔案標題旁的下拉式選單,然後選取「Explore Order Items」

  3. 在「Order Items」>「度量」下方,點按「Total Sales Email Users」

  4. 點選「執行」即可查看新測量指標中的值。

結果頁

建立測量指標,計算電子郵件流量來源的銷售百分比

在本節,您將建立名為「percentage_sales_email_source」的新進階測量指標,計算來自電子郵件流量的銷售百分比。

  1. 返回 qwiklabs-ecommerce 專案,開啟 order_items.view 檔案。

  2. order_items.view 中找出「order_item_count」的測量指標。

  3. 在「order_item_count」的測量指標下方另起一行,使用下列程式碼定義「percentage_sales_email_source」的新測量指標:

measure: percentage_sales_email_source { }
  1. 接著新增類型。由於這裡要計算的是總銷售額,因此請使用 number
measure: percentage_sales_email_source { type: number }
  1. 接著新增 value_format_name 參數。由於您要計算百分比,因此可以使用 percent_2
measure: percentage_sales_email_source { type: number value_format_name: percent_2 }
  1. 新增 SQL 參數。在這個測量指標中,您會指示 SQL 參數從既有的「total_sales_email_users」欄位提取資料,並除以「total_sales」欄位:
注意: 建立百分比測量指標時,請確認百分比計算中沒有除以零的情況。您可以使用 NULLIF SQL 函式完成這項作業。 measure: percentage_sales_email_source { type: number value_format_name: percent_2 sql: 1.0*${total_sales_email_users} / NULLIF(${total_sales}, 0) ;; }

檔案應如下所示:

order_items.view 檔案

新增測量指標後,您可以進行測試,確認運作正常。

  1. 依序點選「儲存變更」和 IDE 右上方的「Validate LookML」按鈕,執行 LookML 程式碼驗證。

  2. 按一下 IDE 頂端檔案標題旁的下拉式選單,然後選取「Explore Order Items」

  3. 在「Order Items」>「度量」下方,點選「Percentage Sales Email Source」

  4. 點選「執行」,即可查看新測量指標中的值。大功告成!

結果頁

  1. 返回 order_items.view 檔案。

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

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

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

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

點選「Check my progress」,確認目標已達成。 建立進階測量指標

恭喜!

在本實驗室,您以 Looker 開發人員的身分,瞭解如何在 LookML 建立不同類型的維度和測量指標,以及如何修改「探索」模型,這是 Looker 中企業使用者自助探索的資料檢視基礎。您也學到了如何使用篩選器建立進階測量指標。

後續步驟/瞭解詳情

Google Cloud 教育訓練與認證

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

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

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

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

准备工作

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

使用无痕浏览模式

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

登录控制台

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

此内容目前不可用

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

太好了!

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

一次一个实验

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

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

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