Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Create a dynamic dimension using a Liquid parameter
/ 40
Create a dynamic dimension using templated filters
/ 30
Create a dynamic measure using templated filters
/ 30
Looker 是 Google Cloud 的新型資料平台,具備互動式分析和資料視覺化功能。您能使用 Looker 深入分析資料、整合各種資料來源的洞察資訊、建立可做為行動依據的資料導向工作流程,以及打造專用資料應用程式。
在本實驗室中,您將瞭解如何使用液體參數和範本化篩選器,提升 Looker 使用者的互動體驗,並使用液體參數和範本化篩選器建立動態維度和測量指標。
本實驗室的學習內容包括:
請確認您熟悉 LookML 和 Liquid 這兩種語言。建議先完成「開始使用 Liquid 自訂 Looker 使用者體驗」實驗室,再嘗試本實驗室。
請詳閱以下操作說明。實驗室活動會計時,且中途無法暫停。點選「Start Lab」後就會開始計時,顯示可使用 Google Cloud 資源的時間。
您將在真正的雲端環境中完成實作實驗室活動,而不是在模擬或示範環境。為達此目的,我們會提供新的暫時憑證,讓您用來在研究室活動期間登入及存取 Google Cloud。
如要完成這個研究室活動,請先確認:
準備就緒後,請點選「Start Lab」。
「Lab Details」窗格會顯示本實驗室中必須使用的暫時憑證。
如果實驗室會產生費用,畫面中會出現選擇付款方式的彈出式視窗。
請在「Lab Details」窗格查看實驗室憑證,您之後會使用此憑證登入實驗室的 Looker 執行個體。
點選「Open Looker」。
分別在「Email」和「Password」欄位,輸入提供的使用者名稱和密碼。
使用者名稱:
密碼:
點選「Log In」。
成功登入後,您就會在本實驗室看到 Looker 執行個體。
在 LookML 中,我們會將多種項目稱為參數,例如維度或測量指標類型、sql 以及 drill_fields。還有一個本身名為參數的物件,為求明確,我們將其稱為液體參數。
參數和範本化篩選器會使用 Liquid,提高探索、Look 圖表和資訊主頁的互動性。如果想更靈活影響生成的 SQL,您可以使用這種語言。使用維度篩選器時,系統只會更新外部查詢的 WHERE 子句。使用測量指標篩選器時,系統會更新外部查詢的 HAVING 子句。這兩個機制都可能「過度」篩選結果集。
「參數和範本化篩選器」通常會相提並論,因為使用 Liquid 時,兩者基本上可達到相同目的。主要差異在於,參數只允許一個特定的固定值,而範本化篩選器則會針對特定資料類型,運用各式各樣的篩選器運算子。如果是字串,則為「等於」、「不等於」、「包含」、「開頭為」等。兩者的差異如下:
使用參數和範本化篩選器,可更靈活運用使用者輸入內容,影響編寫的 SQL 查詢。您可以使用參數和範本化篩選器建立下列項目:
這些概念很不錯,但如何在 Looker 實作?
參數的概念較容易理解,因此以下先從參數開始說明。
液體參數意在接收使用者選取的特定硬式編碼值,然後將這些值傳遞至生成的 SQL 查詢。
在本節中,您將在 order_items 檢視表裡建立參數和動態維度,讓使用者在 Order Items 探索中選擇不同的訂單建立日期欄位。使用者應可選擇 Date、Week 和 Month,並發現查詢結果會根據所選項目而變化。
order_items.view 檢視表檔案。首先,您需要在 UI 中提供可供使用者互動的項目,在本例中就是 parameter 物件。為其命名,就像維度或測量指標一樣:select_timeframe。類型不得包含引號,以免 Looker 在值的周圍產生單引號。
接著,請硬式編碼一或多個 allowed_values。value 子參數會實際插入 SQL 查詢,而 label 子參數則會決定值在使用者介面中的顯示方式。您也可以選擇將其中一個 allowed_value 值設為 default_value,這裡選取月份即可。
現在要建立可接收使用者輸入內容的液體參數;只有三個值是硬式編碼,因此使用者可選取:created_date、created_week 和 created_month。
drill_fields 底下約第 6 行處):複習一下子參數的定義:
現在檔案應如下所示:
接下來,您可能會希望資訊主頁或 Look 圖表中的欄位會動態變化,能根據使用者選取的指標或資料精細程度而有所不同。現在您可以使用剛建立的 LookML 參數,將這個參數套用至維度,將參數的篩選條件值繫結至不同的時間範圍欄位。
現在,系統會根據使用者在資訊主頁上選取的參數值,傳回指定的時間範圍欄位。注意到您是使用 label_from_parameter 將所選值的標籤傳遞至圖塊。
由於 ${created_week} 和 ${created_month} 時間範圍 (以及可能會有的 ${created_date},視資料庫方言而定) 會由 Looker 轉換為字串,因此整個 dynamic_timeframe 維度必須是字串才能處理。
也就是說,商業用戶在探索中使用這個維度時,必須記得再次檢查排列順序。Looker 的預設排序行為是:檢查是否有日期或時間維度;如果沒有,則依第一個測量指標排序。由於這在技術上屬於字串類型,Looker 會先依測量指標排序,因此可能導致時間順序錯亂。
您可能會好奇,那這樣有什麼意義?這是否造成不必要的複雜性?請留意以下兩點: 大多數 Looker 商業用戶都是資料檢視者,而非探索者。也就是說,他們只查看製作好的資訊主頁和 Look 圖表,無法在「探索」中挑選不同欄位,例如「建立日期」與「建立週次」。他們只能透過篩選器調整畫面呈現的內容。
由於資料檢視者查看的是他人建立的圖表,因此即便 dynamic_timeframe 是字串且需要手動排序,對他們來說也完全沒有影響。
現在檔案應如下所示:
label_from_parameter 的形式參照。在圖表分頁中,時間範圍選項會顯示為 Month、Week、Date,而非維度名稱 (動態時間範圍)。現在,您可以在「Order Items」探索中測試動態維度。
按一下「儲存變更」。接著前往「Order Items」探索。
在「Order Items」檢視表中,選取新的「Dynamic Timeframe」維度和「Order Count」測量指標。
在「Select Timeframe」這個新的僅限篩選器欄位旁,按一下篩選器圖示。
在使用者介面頂端的篩選器選項中,保留目前選取的「is」。
從下拉式選單中選取 Month。
接著,選取「Week」和「Date」篩選器。按一下「執行」,查看每個欄位更新後的結果。
每次執行時,可以按一下 SQL 分頁來查看參數的變化情形,以及參數插入 SQL 查詢的方式。
返回「Order Items」檢視表。
依序點按「驗證 LookML」>「修訂變更並推送」。
新增修訂版本訊息,然後點按「修訂」。
最後,點按「部署至正式環境」。
按一下「Check my progress」,確認上述工作已完成。
範本化篩選器的邏輯模式與參數相同。主要差異同樣在於,範本篩選器可讓使用者從多個篩選器運算子選擇。如果是數字資料類型,則可能是「等於」、「大於」、「介於」等等。
篩選器中的值並非硬式編碼,而是由使用者輸入,然後傳遞至產生的 SQL 查詢。不過,您可以在篩選器定義中指定探索和維度,讓選項提供下拉式選單。
在本節中,您將建立動態維度,用來取得產品類別的輸入值,並在結果中建立兩個群組:所選原始類別和所有其他類別。
與液體參數相同,您必須先在使用者介面中建立可供使用者互動的項目。針對範本化篩選器,我們需要建立 filter 物件。
explore: products {}),只查詢建議值所需的基本檢視表區塊。
如您所見,您無法像參數一樣,為範本化篩選器硬式編碼 allowed_values。
suggest_explore 和 suggest_dimension,用下拉式選單為使用者提供建議的篩選器:複習一下子參數的定義:
現在檔案應如下所示:
接著,我們要在另一處實作使用者的篩選條件輸入內容。您將在同一個檢視表檔案中定義動態維度。
使用 {% condition filter_name %} 語法,在 Liquid 模塊內參照範本化篩選器,讓 Liquid 準備好套用範本化篩選器。接著,為要套用篩選器的欄位命名,並以 {% endcondition %} 標記結束 Liquid 模塊。請注意,這與您參照參數的方式略有不同;您必須在此指定要套用範本化篩選器的欄位,以及結束條件。
sql 參數:在這段語法中,您從 select_category 取得使用者的篩選條件,並套用至 ${category} 維度。如果類別值確實符合條件,應顯示在 category_comparison 維度中。如果類別值不符合條件,則應與所有其他不相符的值歸入「所有其他類別」。
現在檔案應如下所示:
現在,您可以在「Order Items」探索中測試動態維度。
按一下「儲存變更」。接著前往「Order Items」探索。
在「Products」檢視表下方,選取名為「Category Comparison」的維度。
在「Select Category」這個新的「僅限篩選器欄位」旁,按一下篩選器圖示 (附註:這是範本化篩選器,位於「Products」檢視表中的「Dimensions」清單上方)。
在「Order Items」檢視表下方,選取「Order Count」測量指標。
在使用者介面頂端的篩選器選項中,保留目前選取的「is equal to」。
按一下空白文字方塊,即可查看下拉式選單,或輸入 Jeans (下拉式選單中也會顯示其他可能的值)。
範本化篩選器邏輯會隨著使用者更新篩選條件而自動調整,不妨試試看:
每次執行後,也可以按一下 SQL 分頁來查看 SQL 語法。
依序點按「驗證 LookML」>「修訂變更並推送」。
新增修訂版本訊息,然後點按「修訂」。
最後,點按「部署至正式環境」。
按一下「Check my progress」,確認上述工作已完成。
您可以將範本篩選器與「隱藏」維度結合,調整已篩選指標的篩選條件,產生動態測量指標值。
舉例來說,行銷團隊經常透過此方式分析各個流量來源的使用者比例。在本節中,您將建立測量指標,讓使用者選擇任何可用的流量來源,並查看所選流量來源的使用者動態數量 (依國家/地區等維度區分),以熟悉這類用途的實作方式。
首先,您同樣需要在使用者介面中建立供使用者互動的項目。針對範本化篩選器,您需要建立 filter 物件。
drill_fields 底下約第 6 行處):您不會硬式編碼任何值,但會提供探索和維度的建議值,用於填入使用者可看見的下拉式選單。使用者仍可輸入其他值。
order_items,維度則設為 users.traffic_source。
現在檔案應如下所示:
sql 參數:現在檔案應如下所示:
現在檔案應如下所示:
現在,您可以在「Order Items」這個探索中測試動態測量指標。
按一下「儲存變更」。接著前往「Order Items」探索。
在「Users」檢視表中,選取「Country」維度 (或其他維度,依屬性取得計數)。
在「Users」檢視表下方,選取新的「Dynamic Count」測量指標。
在「Select Traffic Source」這個新的「僅限篩選器欄位」旁,按一下篩選器圖示 (附註:這是範本化篩選器,位於「探索」左選單的「Dimension」上方)。
在使用者介面頂端的篩選值中,保留目前選取的「is equal to」。
按一下空白文字方塊,即可查看下拉式選單,或輸入 email (下拉式選單中也會顯示其他可能的值)。
按一下「Check my progress」,確認上述工作已完成。
試試看選擇其他篩選條件值,然後按一下 SQL 分頁,瞭解參數的變化情形,以及每次執行時參數如何插入 SQL 查詢。
返回「Users」檢視畫面。
依序點按「驗證 LookML」>「修訂變更並推送」。
新增修訂版本訊息,然後點按「修訂」。
最後,點按「部署至正式環境」。
在本實驗室中,您於 Looker 使用 Liquid 建立參數、範本化篩選器,以及動態維度和測量指標。您首先建立參數和動態維度,讓使用者能選擇不同的訂單建立日期欄位。接著,您建立的動態維度會取得產品類別的輸入值,並在結果中建立兩個群組:所選原始類別和所有其他類別。最後,您建立動態測量指標,供使用者選擇任何可用的流量來源,以及動態查看該來源的使用者人數。
協助您瞭解如何充分運用 Google Cloud 的技術。我們的課程會介紹專業技能和最佳做法,讓您可以快速掌握要領並持續進修。我們提供從基本到進階等級的訓練課程,並有隨選、線上和虛擬課程等選項,方便您抽空參加。認證可協助您驗證及證明自己在 Google Cloud 技術方面的技能和專業知識。
使用手冊上次更新日期:2026 年 2 月 3 日
實驗室上次測試日期:2026 年 2 月 3 日
Copyright 2026 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。
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