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
Add the conditionally_filter filter to the Order Items Explore
/ 100
Add the conditionally_filter filter to the Order Items Explore
/ 100
Looker 是 Google Cloud 的新型資料平台,提供互動式分析功能,並可用圖表呈現資料。您能使用 Looker 深入分析資料、整合各種資料來源的洞察資訊、設定可做為行動依據的資料導向工作流程,以及建立自訂資料應用程式。
「探索」是 Looker 的資料檢視畫面,可做為企業使用者自行探索資料的基礎。在本實驗室中,您將學會如何套用探索篩選器,進一步發揮這項功能的效用。
本實驗室的內容包括:
sql_always_where 和 sql_always_having 篩選條件always_filter 篩選條件conditionally_filter 篩選條件請詳閱以下操作說明。實驗室活動會計時,且中途無法暫停。點選「Start Lab」後就會開始計時,顯示可使用 Google Cloud 資源的時間。
您將在真正的雲端環境中完成實作實驗室活動,而不是在模擬或示範環境。為達此目的,我們會提供新的暫時憑證,讓您用來在研究室活動期間登入及存取 Google Cloud。
如要完成這個研究室活動,請先確認:
準備就緒後,請點選「Start Lab」。
「Lab Details」窗格會顯示本實驗室中必須使用的暫時憑證。
如果實驗室會產生費用,畫面中會出現選擇付款方式的彈出式視窗。
請在「Lab Details」窗格查看實驗室憑證,您之後會使用此憑證登入實驗室的 Looker 執行個體。
點選「Open Looker」。
分別在「Email」和「Password」欄位,輸入提供的使用者名稱和密碼。
使用者名稱:
密碼:
點選「Log In」。
成功登入後,您就會在本實驗室看到 Looker 執行個體。
如要篩選探索,您必須將預設的 WHERE 或 HAVING 子句,套用至該探索產生的每個 SQL 查詢。篩選探索的方法主要有三種:
sql_always_where 和 sql_always_having 篩選條件的運作方式類似,且用途相同always_filter 篩選條件conditionally_filter 篩選條件在接下來各節中,您將瞭解這些篩選條件的常見用途。
sql_always_where 和 sql_always_having 是可套用至探索的篩選條件,但使用者無法修改。如果想從探索結果排除特定資料列,這項功能就非常實用。
sql_always_where 篩選條件用於新增會套用至 SQL 查詢維度的 WHERE 子句;sql_always_having 則用於新增會套用至 SQL 查詢指標的 HAVING 子句。除了企業使用者執行的查詢,這些限制也會套用至使用該探索的資訊主頁、排程 Look 和嵌入資訊。
使用者介面不會顯示這些篩選條件,因此企業使用者無從得知資料已經過篩選,除非有權限查看系統生成的 SQL。如果想篩除探索中的特定值 (例如測試資料或內部資料),這項功能就能派上用場。
always_filter 會要求使用者必須加入您定義的特定一組篩選條件。您必須為篩選條件指定預設值。使用者可在查詢時變更這些預設值,但無法移除篩選條件。如果希望使用者一律依特定維度篩選資料 (例如訂單狀態或使用者國家/地區),避免一次要求所有符合條件的資料,就能善用這項功能。
always_filter 含有子參數,可用於定義特定篩選條件,此參數使用的 Looker 篩選運算式與篩選維度和指標使用的相同。filters 子參數提供的維度,會指出使用者必須提供哪些維度的值,例如訂單狀態或使用者國家/地區值。
filters 子參數提供的指定值是預設值,企業使用者可自行變更。舉例來說,假設預設訂單狀態值為「Complete」(完成),使用者可以變更為「Returned」(已退貨) 等其他狀態。如要瞭解詳情,請參閱 Looker 篩選器運算式說明文件。
conditionally_filter 與 always_filter 類似,會在探索前端加入供使用者選取的篩選器。conditionally_filter 參數能用來定義一組預設篩選條件,而使用者只要從您定義的替換清單中套用至少一個篩選條件,就能覆寫這些預設篩選條件。
使用者可以變更篩選運算子和值,但除非將篩選條件套用至其他替換欄位,否則無法移除。如果想限制企業使用者請求的資料量,同時提供一組可用來篩選資料的替換維度,這項功能就非常實用。
Conditionally_filter 有一個子參數可用來定義資料篩選條件,另一個子參數則可指定供替換的篩選維度。舉例來說,conditionally_filter 可用於限制只傳回過去 1 年的資料;除非使用者改將篩選條件套用至「使用者 ID」或「州/省」維度。這項功能可防止使用者意外建立超大型查詢,避免資料庫執行成本過高。
在本節中,您將在「Order Items」(訂單項目) 探索新增 always_filter 參數,指定查詢必須依「訂單狀態」和「使用者國家/地區」(電子商務資料集中的兩個重要維度) 篩選資料。
接著,點按「開發」分頁標籤,然後選取 qwiklabs-ecommerce LookML 專案。
前往 qwiklab_ecommerce 專案中的 training_ecommerce.model 檔案。
請注意,「Order Items」探索目前未加入任何篩選條件。
always_filter,接著輸入冒號 (:) 和大括號 ({}):接著,您要在大括號內新增程式碼,定義篩選條件。
order_items 資料表的「status」 (狀態),預設值為「Complete」(完成);以及 users 資料表的「country」(國家/地區),預設值為「USA」(美國),程式碼如下:按一下「儲存變更」。
在 IDE 頂端按一下檔案標題旁的下拉式選單,然後選取「Explore Order Items」。
Complete
USA
在「Order Items」>「Measures」下方,點按「Order Count」。
按一下「執行」,畫面就會顯示美國境內已完成的訂單項目數量。 請注意,您無法刪除篩選器,但可以變更篩選值。
Processing;「Country」則改設為 UK。按一下「執行」。 訂單項目數量應會隨著篩選條件更新。
返回 training_ecommerce.model 檔案。
依序點按「驗證 LookML」>「修訂變更並推送」。
新增修訂版本訊息,然後點按「修訂」。
最後,點按「部署至正式環境」。
在本節中,您將在「Order Items」探索新增 sql_always_where 篩選條件,只納入 2021 年 (含) 以後的資料。如果您有涵蓋多年資料的大型資料庫,且只想查詢當年度和未來年度的資料,這項功能就非常實用。
前往 qwiklab_ecommerce 專案中的 training_ecommerce.model 檔案。
移除您在前一節建立的篩選條件。
在「Order Items」探索定義的第一行程式碼下方,新增一行並輸入 sql_always_where,然後加上半形冒號 (:):
接著,您要使用 created_date 資料表定義篩選條件,只納入 2021 年 (含) 以後的資料。
按一下「儲存變更」。
在 IDE 頂端按一下檔案標題旁的下拉式選單,然後選取「Explore Order Items」。
sql_always_where 條件。
在「Order Items」>「Created Date」下方,點按「Date」。
在「Order Items」>「Measures」下方,點按「Order Count」。
按一下「執行」,畫面就會顯示 2021-01-01 (含) 之後的訂單項目。
WHERE 子句中定義了適用於所有資料的篩選條件。training_ecommerce.model 檔案。依序點按「驗證 LookML」>「修訂變更並推送」。
新增修訂版本訊息,然後點按「修訂」。
最後,點按「部署至正式環境」。
在本節中,您將在「Order Items」探索新增 sql_always_having 篩選條件,防止使用者查詢包含多個商品的訂單。這項篩選條件會排除「探索」中包含多項商品的訂單。
前往 qwiklab_ecommerce 專案中的 training_ecommerce.model 檔案。
移除您在前一節建立的篩選條件。
在「Order Items」探索定義的第一行程式碼下方,新增一行並輸入 sql_always_having,然後加上半形冒號 (:):
order_item_count 指標來定義篩選條件,指定只納入含 1 個訂單項目的資料:按一下「儲存變更」。
在 IDE 頂端按一下檔案標題旁的下拉式選單,然後選取「Explore Order Items」。
sql_always_having 條件。
在「Order Items」下方,點按「Order ID」。
在「Order Items」>「Measures」下方,點按「Average Sale Price」和「Order Item Count」。
按一下「執行」,即可看到不同的訂單及每筆訂單的平均銷售金額。您會發現,商品數量皆為 1。
training_ecommerce.model 檔案。依序點按「驗證 LookML」>「修訂變更並推送」。
新增修訂版本訊息,然後點按「修訂」。
最後,點按「部署至正式環境」。
在本節中,您將在「Order Items」探索新增 conditionality_filter 篩選條件,限定只傳回過去 3 年的資料,除非使用者改為套用「使用者 ID」或「州/省」維度做為篩選條件。
前往 qwiklab_ecommerce 專案中的 training_ecommerce.model 檔案。
移除您在前一節建立的篩選條件。
在「Order Items」探索定義的第一行程式碼下方,新增一行並輸入 conditionally_filter,接著輸入冒號 (:) 和大括號 ({}):
接著,您要在大括號內新增程式碼,定義篩選條件。
filters 子參數來定義這個篩選條件。您的目標是篩選出建立日期在過去 3 年內的訂單,並將 unless 子參數定義為可替代使用的篩選維度,也就是「使用者 ID」和「州/省」維度:
按一下「儲存變更」。
在 IDE 頂端按一下檔案標題旁的下拉式選單,然後選取「Explore Order Items」。
點選「篩選器」旁的箭頭展開視窗,看到您建立的條件式篩選條件,就表示新增成功!
接著在「Order Items」下方,點按「Order ID」。
在「Order Items」>「Created Date」下方,點按「Year」。
在「Order Items」>「Measures」下方,點按「Average Sale Price」。
按一下「執行」。
您會看到「探索」頁面已篩選出建立日期為過去一年的資料。
在篩選器視窗中,將「State」篩選條件設為:California。
在要移除的其他篩選條件旁按一下「X」。
太棒了!您已掌握了條件式篩選條件的運作方式。這類篩選條件的預設值可以變更,但篩選條件本身無法移除,除非套用 unless 子參數指定的至少一個篩選條件。
training_ecommerce.model 檔案。依序點按「驗證 LookML」>「修訂變更並推送」。
新增修訂版本訊息,然後點按「修訂」。
最後,點按「部署至正式環境」。
點選「Check my progress」,確認目標已達成。
透過本實驗室,您學會了如何使用 LookML 篩選探索。一開始,您透過 always_filter 參數指定查詢必須依「訂單狀態」和「使用者國家/地區」篩選資料。接著,您使用 sql_always_where 和 sql_always_having 篩選條件,篩選出符合指定訂單建立日期和訂單項目數量的資料。最後,您使用 conditionally_filter 篩選「Order Items」探索,限定只傳回過去 3 年的資料,並設定了可替換此條件的「使用者 ID」或「州/省」篩選維度。
協助您瞭解如何充分運用 Google Cloud 的技術。我們的課程會介紹專業技能和最佳做法,讓您可以快速掌握要領並持續進修。我們提供從基本到進階等級的訓練課程,並有隨選、線上和虛擬課程等選項,方便您抽空參加。認證可協助您驗證及證明自己在 Google Cloud 技術方面的技能和專業知識。
使用手冊上次更新日期:2024 年 4 月 22 日
實驗室上次測試日期:2023 年 7 月 14 日
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
Complete this quick step to start your lab.