運用 LookML 篩選探索

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

GSP892

Google Cloud 自學實驗室標誌

總覽

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

「探索」是 Looker 的資料檢視畫面,可做為企業使用者自行探索資料的基礎。在本實驗室中,您將學會如何套用探索篩選器,進一步發揮這項功能的效用。

學習內容

本實驗室的內容包括:

  • 使用 sql_always_wheresql_always_having 篩選條件
  • 使用 always_filter 篩選條件
  • 使用 conditionally_filter 篩選條件

設定和需求

瞭解以下事項後,再點選「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 執行個體。

探索篩選器類型

如要篩選探索,您必須將預設的 WHEREHAVING 子句,套用至該探索產生的每個 SQL 查詢。篩選探索的方法主要有三種:

  • sql_always_wheresql_always_having 篩選條件的運作方式類似,且用途相同
  • always_filter 篩選條件
  • conditionally_filter 篩選條件

在接下來各節中,您將瞭解這些篩選條件的常見用途。

sql_always_where 和 sql_always_having 篩選條件

sql_always_wheresql_always_having 是可套用至探索的篩選條件,但使用者無法修改。如果想從探索結果排除特定資料列,這項功能就非常實用。

sql_always_where 篩選條件用於新增會套用至 SQL 查詢維度WHERE 子句;sql_always_having 則用於新增會套用至 SQL 查詢指標HAVING 子句。除了企業使用者執行的查詢,這些限制也會套用至使用該探索的資訊主頁、排程 Look 和嵌入資訊。

使用者介面不會顯示這些篩選條件,因此企業使用者無從得知資料已經過篩選,除非有權限查看系統生成的 SQL。如果想篩除探索中的特定值 (例如測試資料或內部資料),這項功能就能派上用場。

always_filter

always_filter 會要求使用者必須加入您定義的特定一組篩選條件。您必須為篩選條件指定預設值。使用者可在查詢時變更這些預設值,但無法移除篩選條件。如果希望使用者一律依特定維度篩選資料 (例如訂單狀態或使用者國家/地區),避免一次要求所有符合條件的資料,就能善用這項功能。

always_filter 含有子參數,可用於定義特定篩選條件,此參數使用的 Looker 篩選運算式與篩選維度和指標使用的相同。filters 子參數提供的維度,會指出使用者必須提供哪些維度的值,例如訂單狀態或使用者國家/地區值。

filters 子參數提供的指定值是預設值,企業使用者可自行變更。舉例來說,假設預設訂單狀態值為「Complete」(完成),使用者可以變更為「Returned」(已退貨) 等其他狀態。如要瞭解詳情,請參閱 Looker 篩選器運算式說明文件

conditionally_filter

conditionally_filteralways_filter 類似,會在探索前端加入供使用者選取的篩選器。conditionally_filter 參數能用來定義一組預設篩選條件,而使用者只要從您定義的替換清單中套用至少一個篩選條件,就能覆寫這些預設篩選條件。

使用者可以變更篩選運算子和值,但除非將篩選條件套用至其他替換欄位,否則無法移除。如果想限制企業使用者請求的資料量,同時提供一組可用來篩選資料的替換維度,這項功能就非常實用。

Conditionally_filter 有一個子參數可用來定義資料篩選條件,另一個子參數則可指定供替換的篩選維度。舉例來說,conditionally_filter 可用於限制只傳回過去 1 年的資料;除非使用者改將篩選條件套用至「使用者 ID」或「州/省」維度。這項功能可防止使用者意外建立超大型查詢,避免資料庫執行成本過高。

工作 1:新增 always_filter 參數

在本節中,您將在「Order Items」(訂單項目) 探索新增 always_filter 參數,指定查詢必須依「訂單狀態」和「使用者國家/地區」(電子商務資料集中的兩個重要維度) 篩選資料。

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

已開啟「開發模式」切換鈕的示意圖

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

  2. 前往 qwiklab_ecommerce 專案中的 training_ecommerce.model 檔案。 請注意,「Order Items」探索目前未加入任何篩選條件。

「training_ecommerce」模型開啟後的畫面,當中顯示多列資料。

  1. 在「Order Items」探索定義的第一行程式碼下方,新增一行並輸入 always_filter,接著輸入冒號 (:) 和大括號 ({}):
always_filter: {}

接著,您要在大括號內新增程式碼,定義篩選條件。

在 training_ecommerce.model 資料加入一行「always_filter: {}」程式碼的畫面。

  1. 使用 filters 子參數指定以下篩選條件:order_items 資料表的「status」 (狀態),預設值為「Complete」(完成);以及 users 資料表的「country」(國家/地區),預設值為「USA」(美國),程式碼如下:
filters: [order_items.status: "Complete", users.country: "USA"] 注意: 別忘了,雖然篩選條件必須設定預設值,但企業使用者可以提供不同的維度值。

在 training_ecommerce.model 資料加入一行「filters: [order_items.status:"complete", users.country: "USA"]」程式碼的畫面

  1. 按一下「儲存變更」。

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

training_ecommerce.model 檔案的下拉式選單,圈選項目為「Explore Order Items」。

  1. 點按「篩選器」旁的箭頭展開視窗,即可看到兩個含有預設值的新篩選器:
  • Order Items Status (訂單項目狀態):預設值為 Complete
  • Users Country (使用者國家/地區),預設值為 USA

列出兩個篩選器的畫面:「Order Items Status」設為「Complete」;「Users Country」則設為「USA」。

  1. 在「Order Items」>「Measures」下方,點按「Order Count」

  2. 按一下「執行」,畫面就會顯示美國境內已完成的訂單項目數量。 請注意,您無法刪除篩選器,但可以變更篩選值。

篩選結果畫面:「Order Items Order Count」值為 151,200。

  1. 變更篩選條件,將「Status」改為 Processing;「Country」則改設為 UK

篩選結果畫面:「Order Items Order Count」值為 134。

  1. 按一下「執行」。 訂單項目數量應會隨著篩選條件更新。

  2. 返回 training_ecommerce.model 檔案。

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

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

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

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

工作 2:新增 sql_always_where 篩選條件

在本節中,您將在「Order Items」探索新增 sql_always_where 篩選條件,只納入 2021 年 (含) 以後的資料。如果您有涵蓋多年資料的大型資料庫,且只想查詢當年度和未來年度的資料,這項功能就非常實用。

  1. 前往 qwiklab_ecommerce 專案中的 training_ecommerce.model 檔案。

  2. 移除您在前一節建立的篩選條件。

  3. 在「Order Items」探索定義的第一行程式碼下方,新增一行並輸入 sql_always_where,然後加上半形冒號 (:):

sql_always_where:

接著,您要使用 created_date 資料表定義篩選條件,只納入 2021 年 (含) 以後的資料

  1. 將以下程式碼新增至篩選條件:
sql_always_where: ${created_date} >= '2021-01-01' ;;

在 training_ecommerce.model 加入「sql_always_where: ${created_date} >= '2021-01-01' ;;」篩選條件的畫面。

  1. 按一下「儲存變更」。

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

注意: 請注意,畫面不會顯示任何篩選條件。使用者必須查看自己建立的查詢所用的底層 SQL,才會看到 sql_always_where 條件。
  1. 在「Order Items」>「Created Date」下方,點按「Date」。

  2. 在「Order Items」>「Measures」下方,點按「Order Count」

  3. 按一下「執行」,畫面就會顯示 2021-01-01 (含) 之後的訂單項目。

以「Created Date」(建立日期) 和「Order Count」(訂單數量) 類別列出的訂單項目查詢結果。

  1. 點按「資料」列的「SQL」分頁標籤。 您會看到 WHERE 子句中定義了適用於所有資料的篩選條件。

SQL 分頁的畫面,其中 WHERE 篩選條件設為「(CAST(order_items.created_at AS DATE)) >= '2021-01-01'」

  1. 返回 training_ecommerce.model 檔案。

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

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

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

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

工作 3:新增 sql_always_having 篩選條件

在本節中,您將在「Order Items」探索新增 sql_always_having 篩選條件,防止使用者查詢包含多個商品的訂單。這項篩選條件會排除「探索」中包含多項商品的訂單。

  1. 前往 qwiklab_ecommerce 專案中的 training_ecommerce.model 檔案。

  2. 移除您在前一節建立的篩選條件。

  3. 在「Order Items」探索定義的第一行程式碼下方,新增一行並輸入 sql_always_having,然後加上半形冒號 (:):

sql_always_having:
  1. 接著,您需要使用 order_item_count 指標來定義篩選條件,指定只納入含 1 個訂單項目的資料:
sql_always_having: ${order_item_count} = 1 ;;

training_ecommerce.model 中的篩選條件「sql_always_having: ${order_item_count} = 1 ;;」。

  1. 按一下「儲存變更」。

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

注意: 再次提醒,畫面不會顯示任何篩選條件。使用者必須查看自己建立的查詢所用的底層 SQL,才會看到 sql_always_having 條件。
  1. 在「Order Items」下方,點按「Order ID」

  2. 在「Order Items」>「Measures」下方,點按「Average Sale Price」和「Order Item Count」

  3. 按一下「執行」,即可看到不同的訂單及每筆訂單的平均銷售金額。您會發現,商品數量皆為 1。

依「Order ID」(訂單 ID)、「Order Item Count」(訂單項目數量) 和「Average Sale Price」(平均銷售金額) 分類的訂單項目清單。

  1. 返回 training_ecommerce.model 檔案。

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

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

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

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

工作 4:新增 conditionality_filter 篩選條件

在本節中,您將在「Order Items」探索新增 conditionality_filter 篩選條件,限定只傳回過去 3 年的資料,除非使用者改為套用「使用者 ID」或「州/省」維度做為篩選條件。

  1. 前往 qwiklab_ecommerce 專案中的 training_ecommerce.model 檔案。

  2. 移除您在前一節建立的篩選條件。

  3. 在「Order Items」探索定義的第一行程式碼下方,新增一行並輸入 conditionally_filter,接著輸入冒號 (:) 和大括號 ({}):

conditionally_filter: {}

接著,您要在大括號內新增程式碼,定義篩選條件。

  1. 加入 filters 子參數來定義這個篩選條件。

您的目標是篩選出建立日期在過去 3 年內的訂單,並將 unless 子參數定義為可替代使用的篩選維度,也就是「使用者 ID」和「州/省」維度:

filters: [created_date: "3 years"] unless: [users.id, users.state]

training_ecommerce 模型使用的篩選條件「filters: [created_date: "3 years"]」和例外參數「unless: [users.id, users.state]」

  1. 按一下「儲存變更」。

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

  3. 點選「篩選器」旁的箭頭展開視窗,看到您建立的條件式篩選條件,就表示新增成功!

條件式篩選條件設為「過去 3 年內」。

  1. 接著在「Order Items」下方,點按「Order ID」

  2. 在「Order Items」>「Created Date」下方,點按「Year」。

  3. 在「Order Items」>「Measures」下方,點按「Average Sale Price」。

  4. 按一下「執行」

您會看到「探索」頁面已篩選出建立日期為過去一年的資料。

篩選結果:列出過去一年內建立的訂單。

  1. 現在要測試篩選條件的例外條件。將滑鼠懸停在「Users」下方的「State」,然後點按「篩選條件」按鈕。

「State」類別的「篩選條件」按鈕,以紅框醒目標示。

  1. 在篩選器視窗中,將「State」篩選條件設為:California

  2. 在要移除的其他篩選條件旁按一下「X」

「建立日期:過去 3 年內」篩選條件旁的刪除按鈕,以紅框標示。

  1. 再次點按「執行」

依照「Order ID」(訂單 ID)、「Created Year」(建立年份) 和「Average Sale Price」(平均銷售金額) 類別列出的訂單

  1. 最後,按一下「State」篩選條件旁的「X」來刪除條件,「Created Date」篩選條件就會自動恢復顯示

「Created Date」(建立日期) 篩選條件,目前設為「is in the past 3 years」(過去 3 年內)。

太棒了!您已掌握了條件式篩選條件的運作方式。這類篩選條件的預設值可以變更,但篩選條件本身無法移除,除非套用 unless 子參數指定的至少一個篩選條件。

  1. 返回 training_ecommerce.model 檔案。

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

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

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

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

點選「Check my progress」,確認目標已達成。 為「Order Items」探索新增 conditionally_filter 篩選條件

恭喜!

透過本實驗室,您學會了如何使用 LookML 篩選探索。一開始,您透過 always_filter 參數指定查詢必須依「訂單狀態」和「使用者國家/地區」篩選資料。接著,您使用 sql_always_wheresql_always_having 篩選條件,篩選出符合指定訂單建立日期和訂單項目數量的資料。最後,您使用 conditionally_filter 篩選「Order Items」探索,限定只傳回過去 3 年的資料,並設定了可替換此條件的「使用者 ID」或「州/省」篩選維度。

後續步驟/瞭解詳情

Google Cloud 教育訓練與認證

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

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

實驗室上次測試日期:2023 年 7 月 14 日

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

准备工作

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

使用无痕浏览模式

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

登录控制台

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

此内容目前不可用

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

太好了!

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

一次一个实验

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

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

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