使用 Liquid 提升 Looker 的使用者互動體驗

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

GSP934

Google Cloud 自學實驗室標誌

總覽

Looker 是 Google Cloud 的新型資料平台,具備互動式分析和資料視覺化功能。您能使用 Looker 深入分析資料、整合各種資料來源的洞察資訊、建立可做為行動依據的資料導向工作流程,以及打造專用資料應用程式。

在本實驗室中,您將瞭解如何使用液體參數和範本化篩選器,提升 Looker 使用者的互動體驗,並使用液體參數和範本化篩選器建立動態維度和測量指標。

目標

本實驗室的學習內容包括:

  • 使用液體參數建立動態維度
  • 使用範本化篩選器建立動態維度
  • 使用範本化篩選器建立動態測量指標

需求條件:

請確認您熟悉 LookML 和 Liquid 這兩種語言。建議先完成「開始使用 Liquid 自訂 Looker 使用者體驗」實驗室,再嘗試本實驗室。

設定

瞭解以下事項後,再點選「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:使用 Liquid 提升互動體驗

在 LookML 中,我們會將多種項目稱為參數,例如維度或測量指標類型、sql 以及 drill_fields。還有一個本身名為參數的物件,為求明確,我們將其稱為液體參數

參數和範本化篩選器會使用 Liquid,提高探索、Look 圖表和資訊主頁的互動性。如果想更靈活影響生成的 SQL,您可以使用這種語言。使用維度篩選器時,系統只會更新外部查詢的 WHERE 子句。使用測量指標篩選器時,系統會更新外部查詢的 HAVING 子句。這兩個機制都可能「過度」篩選結果集。

參數和範本化篩選器

「參數和範本化篩選器」通常會相提並論,因為使用 Liquid 時,兩者基本上可達到相同目的。主要差異在於,參數只允許一個特定的固定值,而範本化篩選器則會針對特定資料類型,運用各式各樣的篩選器運算子。如果是字串,則為「等於」、「不等於」、「包含」、「開頭為」等。兩者的差異如下:

  • 參數:使用者可輸入特定固定值,然後用 Liquid 直接傳遞至 SQL 查詢
  • 範本化篩選器:使用者可輸入值,透過智慧編寫的條件邏輯傳遞至 SQL 查詢

使用參數和範本化篩選器,可更靈活運用使用者輸入內容,影響編寫的 SQL 查詢。您可以使用參數和範本化篩選器建立下列項目:

  • 動態維度和測量指標,不僅能整合程式碼,還能提供更流暢的使用者體驗
  • 動態衍生資料表,可調整資料精細程度和篩選條件
  • 在結果集和標籤依據條件顯示的值

這些概念很不錯,但如何在 Looker 實作?

實作步驟 1 到 4

  • 步驟 1:首先,開發人員會設定後端邏輯,這包含兩個部分:
    • 參數或範本化篩選器,供使用者在 UI 中互動
    • SQL 參數中的位置,用於呼叫參數或篩選值,並對其執行某些操作
  • 步驟 2:使用者接著在參數或範本化篩選器中輸入值,這與「探索」、「Look 圖表」或資訊主頁中的「正常」維度或測量指標篩選器類似。
  • 步驟 3:該值隨後會插入 SQL 中,查詢將附帶變更後 SQL。
  • 步驟 4:系統執行查詢,並傳回反映使用者輸入值的探索。這個循環同時適用於範本篩選器和參數

參數的概念較容易理解,因此以下先從參數開始說明。

工作 2:使用液體參數建立動態維度

液體參數意在接收使用者選取的特定硬式編碼值,然後將這些值傳遞至生成的 SQL 查詢。

在本節中,您將在 order_items 檢視表裡建立參數和動態維度,讓使用者在 Order Items 探索中選擇不同的訂單建立日期欄位。使用者應可選擇 DateWeekMonth,並發現查詢結果會根據所選項目而變化。

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

開發模式切換鈕

  1. 按一下「開發」分頁標籤,然後選取 qwiklabs-ecommerce LookML 專案。前往 order_items.view 檢視表檔案。

首先,您需要在 UI 中提供可供使用者互動的項目,在本例中就是 parameter 物件。為其命名,就像維度或測量指標一樣:select_timeframe。類型不得包含引號,以免 Looker 在值的周圍產生單引號。

接著,請硬式編碼一或多個 allowed_valuesvalue 子參數會實際插入 SQL 查詢,而 label 子參數則會決定值在使用者介面中的顯示方式。您也可以選擇將其中一個 allowed_value 值設為 default_value,這裡選取月份即可。

現在要建立可接收使用者輸入內容的液體參數;只有三個值是硬式編碼,因此使用者可選取:created_datecreated_weekcreated_month

  1. order_items 檢視表檔案中,於所有維度上方新增新參數的語法 (drill_fields 底下約第 6 行處):
parameter: select_timeframe { type: unquoted default_value: "created_month" allowed_value: { value: "created_date" label: "Date" } allowed_value: { value: "created_week" label: "Week" } allowed_value: { value: "created_month" label: "Month" } }

複習一下子參數的定義:

  • label:使用者在篩選器選項中看到的內容
  • value:要插入 SQL 查詢的值
  • default_value:如果使用者尚未選取任何項目,系統會自動插入的值

現在檔案應如下所示:

order_items.view 頁面

接下來,您可能會希望資訊主頁或 Look 圖表中的欄位會動態變化,能根據使用者選取的指標或資料精細程度而有所不同。現在您可以使用剛建立的 LookML 參數,將這個參數套用至維度,將參數的篩選條件值繫結至不同的時間範圍欄位。

  1. 接著請在同一個檢視表檔案中定義動態維度。在 order_items 檢視表檔案中,於參數定義底下新增下列語法,作為新的動態維度 (約第 23 行處):
dimension: dynamic_timeframe { label_from_parameter: select_timeframe type: string sql: {% if select_timeframe._parameter_value == 'created_date' %} ${created_date} {% elsif select_timeframe._parameter_value == 'created_week' %} ${created_week} {% else %} ${created_month} {% endif %} ;; }

現在,系統會根據使用者在資訊主頁上選取的參數值,傳回指定的時間範圍欄位。注意到您是使用 label_from_parameter 將所選值的標籤傳遞至圖塊。

由於 ${created_week}${created_month} 時間範圍 (以及可能會有的 ${created_date},視資料庫方言而定) 會由 Looker 轉換為字串,因此整個 dynamic_timeframe 維度必須是字串才能處理。

也就是說,商業用戶在探索中使用這個維度時,必須記得再次檢查排列順序。Looker 的預設排序行為是:檢查是否有日期或時間維度;如果沒有,則依第一個測量指標排序。由於這在技術上屬於字串類型,Looker 會先依測量指標排序,因此可能導致時間順序錯亂。

您可能會好奇,那這樣有什麼意義?這是否造成不必要的複雜性?請留意以下兩點: 大多數 Looker 商業用戶都是資料檢視者,而非探索者。也就是說,他們只查看製作好的資訊主頁和 Look 圖表,無法在「探索」中挑選不同欄位,例如「建立日期」與「建立週次」。他們只能透過篩選器調整畫面呈現的內容。

由於資料檢視者查看的是他人建立的圖表,因此即便 dynamic_timeframe 是字串且需要手動排序,對他們來說也完全沒有影響。

現在檔案應如下所示:

order_items.view file 頁面

附註:您會發現,前步驟中建立的參數位於 sql 參數中,並以 label_from_parameter 的形式參照。在圖表分頁中,時間範圍選項會顯示為 Month、Week、Date,而非維度名稱 (動態時間範圍)。

現在,您可以在「Order Items」探索中測試動態維度。

  1. 按一下「儲存變更」。接著前往「Order Items」探索。

  2. 在「Order Items」檢視表中,選取新的「Dynamic Timeframe」維度和「Order Count」測量指標。

  3. 在「Select Timeframe」這個新的僅限篩選器欄位旁,按一下篩選器圖示。

    附註:這是液體參數,位於「Order Items」檢視表中的「Dimensions」清單上方。
  4. 在使用者介面頂端的篩選器選項中,保留目前選取的「is」。 從下拉式選單中選取 Month

「篩選器 (1)」對話方塊,其中 Order Items 選取的時間範圍設為「is month」

  1. 按一下「執行」查看結果。您也可以按一下 SQL 分頁,查看 SQL 語法。

結果頁面,「Order items: Dynamic timeframe」和「Order items: Order count」欄位下方有十列資訊

  1. 接著,選取「Week」和「Date」篩選器。按一下「執行」,查看每個欄位更新後的結果。

  2. 每次執行時,可以按一下 SQL 分頁來查看參數的變化情形,以及參數插入 SQL 查詢的方式。

  3. 返回「Order Items」檢視表。

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

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

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

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

按一下「Check my progress」,確認上述工作已完成。 使用液體參數建立動態維度

工作 3:使用範本化篩選器建立動態維度

範本化篩選器的邏輯模式與參數相同。主要差異同樣在於,範本篩選器可讓使用者從多個篩選器運算子選擇。如果是數字資料類型,則可能是「等於」、「大於」、「介於」等等。

篩選器中的值並非硬式編碼,而是由使用者輸入,然後傳遞至產生的 SQL 查詢。不過,您可以在篩選器定義中指定探索和維度,讓選項提供下拉式選單。

在本節中,您將建立動態維度,用來取得產品類別的輸入值,並在結果中建立兩個群組:所選原始類別和所有其他類別。

  1. 返回 Looker IDE,然後前往「products」檢視表檔案。

與液體參數相同,您必須先在使用者介面中建立可供使用者互動的項目。針對範本化篩選器,我們需要建立 filter 物件。

附註:為獲得最佳效能,您可以建立小型隱藏探索 (例如 explore: products {}),只查詢建議值所需的基本檢視表區塊。
  1. 現在要建立可接收使用者輸入內容的篩選器物件。在「products」檢視表檔案中,於所有維度上方新增下列語法,作為新篩選器 (drill_fields 底下約第 6 行處)。

如您所見,您無法像參數一樣,為範本化篩選器硬式編碼 allowed_values

  1. 因此,我們建議使用 suggest_exploresuggest_dimension,用下拉式選單為使用者提供建議的篩選器:
filter: select_category { type: string suggest_explore: order_items suggest_dimension: products.category }

複習一下子參數的定義:

  • suggest_explore:系統會查詢這個探索,以擷取建議的篩選條件值清單
  • suggest_dimension:應在建議探索中使用的維度,用於提供建議篩選值清單

現在檔案應如下所示:

products.view file 頁面

接著,我們要在另一處實作使用者的篩選條件輸入內容。您將在同一個檢視表檔案中定義動態維度。

使用 {% condition filter_name %} 語法,在 Liquid 模塊內參照範本化篩選器,讓 Liquid 準備好套用範本化篩選器。接著,為要套用篩選器的欄位命名,並以 {% endcondition %} 標記結束 Liquid 模塊。請注意,這與您參照參數的方式略有不同;您必須在此指定要套用範本化篩選器的欄位,以及結束條件。

  1. products 檢視表檔案中,於篩選器定義底下新增動態維度語法 (約第 12 行處)。注意到先前步驟中建立的篩選條件會參照 sql 參數:
dimension: category_comparison { type: string sql: CASE WHEN {% condition select_category %} ${category} {% endcondition %} THEN ${category} ELSE 'All Other Categories' END ;; }

在這段語法中,您從 select_category 取得使用者的篩選條件,並套用至 ${category} 維度。如果類別值確實符合條件,應顯示在 category_comparison 維度中。如果類別值不符合條件,則應與所有其他不相符的值歸入「所有其他類別」。

現在檔案應如下所示:

products.view file 頁面

現在,您可以在「Order Items」探索中測試動態維度。

  1. 按一下「儲存變更」。接著前往「Order Items」探索。

  2. 在「Products」檢視表下方,選取名為「Category Comparison」的維度。

  3. 在「Select Category」這個新的「僅限篩選器欄位」旁,按一下篩選器圖示 (附註:這是範本化篩選器,位於「Products」檢視表中的「Dimensions」清單上方)。

  4. 在「Order Items」檢視表下方,選取「Order Count」測量指標。

  5. 在使用者介面頂端的篩選器選項中,保留目前選取的「is equal to」。

  6. 按一下空白文字方塊,即可查看下拉式選單,或輸入 Jeans (下拉式選單中也會顯示其他可能的值)。

「篩選器 (1)」對話方塊,其中「Products」選取類別設為「is equal to Jeans」

  1. 按一下「執行」即可查看結果,Jeans 的數量應為 38,910,All Other Categories 的數量應為 294,449。

結果頁面

  1. 範本化篩選器邏輯會隨著使用者更新篩選條件而自動調整,不妨試試看:

    • 在篩選條件中新增多個值
    • 將篩選條件從「is equal to」變更為「contains」或「starts with」,看看結果如何?
  2. 每次執行後,也可以按一下 SQL 分頁來查看 SQL 語法。

附註:雖然查看 SQL 分頁有助於瞭解查詢的 LookML 格式,但分析 SQL 有利於您採取適當程序排解任何潛在錯誤
  1. 返回「Products」檢視表。

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

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

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

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

按一下「Check my progress」,確認上述工作已完成。 使用範本化篩選器建立動態維度

工作 4:使用範本化篩選器建立動態測量指標

您可以將範本篩選器與「隱藏」維度結合,調整已篩選指標的篩選條件,產生動態測量指標值。

舉例來說,行銷團隊經常透過此方式分析各個流量來源的使用者比例。在本節中,您將建立測量指標,讓使用者選擇任何可用的流量來源,並查看所選流量來源的使用者動態數量 (依國家/地區等維度區分),以熟悉這類用途的實作方式。

  1. 返回 Looker IDE,然後前往「users」檢視表檔案。

首先,您同樣需要在使用者介面中建立供使用者互動的項目。針對範本化篩選器,您需要建立 filter 物件。

  1. users 檢視表檔案中,於所有維度上方新增下列語法,作為新的篩選器 (drill_fields 底下約第 6 行處):
filter: select_traffic_source { type: string suggest_explore: order_items suggest_dimension: users.traffic_source }

您不會硬式編碼任何值,但會提供探索和維度的建議值,用於填入使用者可看見的下拉式選單。使用者仍可輸入其他值。

附註:這與您在前一節中建立的篩選器非常相似。不過,此處的探索會設為 order_items,維度則設為 users.traffic_source

現在檔案應如下所示:

users.view 頁面

  1. 接著,您將在同一個檢視表檔案中定義隱藏維度。請在「users」檢視表檔案中,於篩選器定義底下新增下列語法,建立新的隱藏維度 (約第 12 行處)。注意到先前步驟中建立的篩選條件會參照 sql 參數:
dimension: hidden_traffic_source_filter { hidden: yes type: yesno sql: {% condition select_traffic_source %} ${traffic_source} {% endcondition %} ;; }

現在檔案應如下所示:

users.view 頁面

  1. 最後,您會在同一個檢視表檔案中定義動態測量指標。在「users」檢視表檔案中,於所有維度定義底下,新增下列的動態測量指標語法 (約第 105 行處):
附註:您會注意到篩選條件參數中參照了上一步建立的隱藏維度。 measure: dynamic_count { type: count_distinct sql: ${id} ;; filters: [ hidden_traffic_source_filter: "Yes" ] }

現在檔案應如下所示:

users.file 頁面

現在,您可以在「Order Items」這個探索中測試動態測量指標。

  1. 按一下「儲存變更」。接著前往「Order Items」探索。

  2. 在「Users」檢視表中,選取「Country」維度 (或其他維度,依屬性取得計數)。

  3. 在「Users」檢視表下方,選取新的「Dynamic Count」測量指標。

  4. 在「Select Traffic Source」這個新的「僅限篩選器欄位」旁,按一下篩選器圖示 (附註:這是範本化篩選器,位於「探索」左選單的「Dimension」上方)。

  5. 在使用者介面頂端的篩選值中,保留目前選取的「is equal to」。

  6. 按一下空白文字方塊,即可查看下拉式選單,或輸入 email (下拉式選單中也會顯示其他可能的值)。

「篩選器 (1)」對話方塊,其中「Users Select Traffic Source」設為「is equal to email」

  1. 按一下「執行」查看結果。畫面會顯示流量來源為電子郵件的所有使用者人數,並按國家/地區區分。

結果頁面

按一下「Check my progress」,確認上述工作已完成。 使用範本化篩選器建立動態測量指標

  1. 試試看選擇其他篩選條件值,然後按一下 SQL 分頁,瞭解參數的變化情形,以及每次執行時參數如何插入 SQL 查詢。

  2. 返回「Users」檢視畫面。

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

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

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

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

恭喜!

在本實驗室中,您於 Looker 使用 Liquid 建立參數、範本化篩選器,以及動態維度和測量指標。您首先建立參數和動態維度,讓使用者能選擇不同的訂單建立日期欄位。接著,您建立的動態維度會取得產品類別的輸入值,並在結果中建立兩個群組:所選原始類別和所有其他類別。最後,您建立動態測量指標,供使用者選擇任何可用的流量來源,以及動態查看該來源的使用者人數。

後續步驟/瞭解詳情

Google Cloud 教育訓練與認證

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

使用手冊上次更新日期:2026 年 2 月 3 日

實驗室上次測試日期:2026 年 2 月 3 日

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

准备工作

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

使用无痕浏览模式

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

登录控制台

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

此内容目前不可用

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

太好了!

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

一次一个实验

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

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

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