准备工作
- 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
- 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
- 在屏幕左上角,点击开始实验即可开始
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 2025 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。
此内容目前不可用
一旦可用,我们会通过电子邮件告知您
太好了!
一旦可用,我们会通过电子邮件告知您
一次一个实验
确认结束所有现有实验并开始此实验