教學課程 - 適合入門者的表格配方
本教學課程將介紹一個基本的資料準備使用案例,讓您更加熟悉建立表格配方所需的不同步驟以及所提供的不同可能性。使用附加資料集,即可重現本教學課程的所有步驟。
在這種情境下,假設您正在查看寵物食品線上商店的銷售資料。資料樣本包括來自世界各地的客戶,以及他們的姓名、訂單日期、國籍、年齡範圍等資訊。假設您想要準備資料,使其著重於來自法國的客戶。例如,您將進行較小的格式變更、處理訂單日期、從特定年齡範圍分離出法國客戶的所有資料,最後將資料匯出到一個新檔案,讓您用作分析應用程式的來源。
必要條件
在桌面下載此封存檔並解壓縮:
封存檔包含完成教學課程所需要的 orders_pet_food.csv 資料檔案。
將來源檔案新增到目錄中
在開始建立表格配方之前,套件中的檔案需要在分析平台中可用。若要將來源資料新增至您的目錄:
-
從啟動器功能表中選取分析 > 目錄。
-
按一下右上角的新建按鈕並選取資料集。
-
在開啟的視窗中,按一下上傳資料檔案。
-
將教學課程檔案從桌面拖放到新增檔案視窗的專用區域,或按一下瀏覽從其位置選擇教學課程檔案。
-
按一下上傳。
建立表格配方並選取來源
現在來源已設定完畢,您可以開始建立表格配方。
-
從啟動器功能表中選取分析 > 準備資料。
-
按一下表格配方圖格或按一下新建 > 表格配方。
-
在建立新的表格配方視窗中,按如下方式設定表格配方的資訊,然後按一下建立:
-
Name 設定為 Table recipe tutorial。
-
Space 設定為 Personal。
-
Description 設定為 Table recipe to prepare sales data focused on FR customers 。
-
Tag 設定為 Tutorial。
空的表格配方會開啟,但在您執行任何動作之前,系統會要求您從資料目錄中選取來源檔案。
-
-
使用篩選搜尋來尋找之前上傳的 order_pet_food.csv 資料集並選取其名稱前的核取方塊。
-
按一下下一步。
-
在摘要中查看資料集及欄位,然後按一下載入至表格配方。
資料集中的資料現在以表格形式顯示,其中欄位顯示為欄。您可以輕鬆瀏覽資料集的內容,並開始使用函數準備資料。
清理訂單類型
在查看樣本時,我們可以注意到的一件事是,在 order (訂單) 欄中,列出訂購的寵物食品類型時,food (食品) 一詞是多餘的,有點不必要。為了提高簡潔度和清晰度,您將使用移除部分文字函數刪除 food 一詞。
-
按一下 order 欄的標頭以選取其內容。
-
從左側面板的函數清單中,選取字串類別中的移除部分文字函數。
該函數的設定表單會在右側面板開啟,其中已選取了要處理的欄欄位。
-
在運算子下拉式清單中,選取 Contains。
-
在值欄位中,輸入 Food。
-
按一下套用。
該欄中的所有 Food 一詞均已移除,訂單類型現在更易於閱讀。
完成此操作後,您可以看到該步驟現在已列於右側面板的配方中。畢竟,表格配方中的配方就像任何食譜一樣,是套用於資料的準備步驟清單。您可以按一下某個步驟,以查看已套用的設定,甚至可以對其進行編輯。
將客戶姓名分成兩欄
客戶的名字和姓氏目前包含在單一欄中。為了進一步分離資訊,配方的另一個步驟是使用分割欄函數將名稱分成兩欄。
-
按一下 full_name 欄的標頭以選取其內容。
-
從左側面板的函數清單中,選取字串類別中的分割欄函數。
-
在部分欄位中輸入 2,然後從分隔符號下拉式清單中選取空格。
-
按一下套用。
就會建立兩個新欄,每個欄僅包含全名的一個部分。兩個新欄已自動產生名稱,您需要變更這些名稱以確保清晰度和一致性。
-
選取 full_name-split_1 欄,然後從函數清單中選取重新命名欄函數。
-
在新欄名稱欄位中,輸入 first_name,然後按一下套用。
您也可以使用另一種方法直接從欄功能表中重新命名第二欄。在兩種情況下,都會建立一個配方步驟。
-
在 full_name-split_2 欄的標頭中,按一下
以顯示欄功能表,並選取重新命名欄。
-
在新欄名稱欄位中,輸入 last_name,然後按一下套用。
現在您有兩個乾淨的欄,分別包含名字和姓氏。初始 full_name 欄不再有任何用途,您可以直接刪除。
-
在 full_name 欄的標頭中,按一下
以顯示欄功能表,選取刪除欄並按一下套用。
格式化日期
表格配方也提供了許多用來處理日期的函數。在資料集中,有三個欄包含日期,用於追蹤客戶下訂單的日期、訂單出貨日期以及客戶收到訂單的日期。進一步利用這些資料之前的第一步是轉換和格式化,以便可以使用。因為本教學課程背後的想法是專注於法國客戶,所以您會將法國日期格式套用於目前採用 YYYY-MM-DD 格式的日期。
-
選取 order_date 欄,在按住 Shift 鍵的同時,按一下 reception_date 欄標頭。
會選取三個欄,包括 shipment_date 欄。Ctrl + 點選快速鍵也可以用來選取多個欄。
-
從函數清單中,選取日期類別中的轉換為日期函數。
-
從輸入格式下拉式清單中,選取自動並按一下套用。
此函數的目的是轉換表格中的資料,以便在系統中正確地解譯為 date。這將允許您根據日期執行更多操作。在這種情況下,您將能夠安全地變更這三個欄中的日期格式。
-
選取 order_date 欄,然後從函數清單中的建議中選取格式化日期函數。
根據目前所選欄的類型,在函數清單中動態建議相關函數。您也可以使用搜尋欄位,透過其名稱或相關關鍵字來尋找函數。
到目前為止,在設定函數時,已經根據目前選取的欄填入要處理的欄欄位。下一步將展示在多個欄上套用函數的另一種方式。
-
開啟要處理的欄下拉式清單並選取 order_date、shipment_date 和 reception_date 核取方塊。
-
從日期格式下拉式清單中,選取自訂。
-
在日期模式欄位中,輸入 DD-MM-YYYY,這是法國官方日期格式。
-
按一下套用。
現在全部三欄都採用了正確的格式,這讓目標受眾更容易閱讀。
計算訂單處理時間
現在您的日期欄已正確格式化,您將使用計算日期差異函數來計算客戶下訂單後需要多少天才能收到訂單。
-
選取 order_date 欄。
-
從左側面板的函數清單中,選取日期類別中的計算日期差異函數。
-
從時間單位下拉式清單中,選取天。
-
從直到下拉式清單中,選取其他欄。
您也可以使用此函數來計算特定日期的時間差異,但在這種情況下,您將比較兩個欄。
-
從欄下拉式清單中,選取 reception_date。
-
在新欄名稱欄位中,輸入 time_to_receive。
-
按一下套用。
在 order_date 欄的右側建立一個新欄,其中包含訂單日期和接收日期之間的天數。為了保持資料集的整潔和可讀性,您會將新的 time_to_receive 欄移至三個日期欄右側。
-
將欄標頭拖放到 reception_date 欄的右側,以移動 time_to_receive 欄。
在表格配方中,您也可以利用剖析功能來深入了解目前資料。例如,選取了 time_to_receive 欄後,您可以在左下方的資料分佈面板中看到一些實用資訊。以圖形方式呈現該欄的數值,您可以看到客戶收到訂單的平均時間為六到七天。
新增國家快速篩選條件
假設您想將國家名稱改為大寫,但僅限於法國。您將先對 country 欄套用快速篩選條件,然後僅對符合的列套用該函數。
-
在 country 欄中,用滑鼠右鍵按一下出現值法國的其中一個項目,然後從開啟的功能表中選取使用此值篩選列。
您可以在資料上方看到已正確套用篩選條件,使用 is equal to 運算子,而現在僅顯示包含值 France 的列。
-
從左側面板的函數清單中,選取字串類別中的變更為大寫函數並按一下套用。
正如您在步驟摘要中看到的,該函數僅適用於已篩選的列。因為現在值都是大寫,所以不再符合基於原始大小寫的篩選條件,所以此時格線空白是正常現象。
現在您將清除篩選條件,然後再繼續。
-
若要移除篩選條件,請直接按一下篩選條件中的叉號或使用全部清除選項。
現在所有列都重新顯示,但只有 France 才以大寫形式顯示。
重新排序配方步驟
再次查看 country 欄,您會注意到實際上並非所有出現的 France 都變更為大寫。由於您先前建立的篩選條件是基於確切的 France 值,因此其他出現拼字錯誤的值 (例如下圖所示的 Franc) 未包含在函數範圍中。
準備工作的下一步是修正拼字錯誤,並使用表格配方的步驟重新排序功能,將新的配方步驟移到大寫轉換之前。因為在表格配方中,一個步驟會影響所有後續步驟,所以在這麼做時,您也會自動將變更為大寫函數重新套用於所有固定值。
-
選取 country 欄。
-
從左側面板的函數清單中,選取字串類別中的搜尋並取代函數。
-
從運算子下拉式清單中選取 Equals。
-
在值欄位中,輸入 Franc。
-
從取代下拉式清單中,選取以取代值取代整個儲存格。
-
在取代為欄位中,輸入 France。
-
按一下套用。
拼字錯誤現已修正,但仍然不是大寫。您無需重新套用與先前相同的函數,只需重新排序配方中的步驟即可。
-
在右側的配方面板中,將搜尋並取代步驟拖放到變更為大寫步驟之前。
原來位於第 11 位的搜尋並取代步驟現在位於第 10 位,並且這一次,所有出現的 France (包括拼字錯誤) 都以大寫顯示。
篩選特定範圍的客戶
您的配方快要完成了。清理和改善資料集後,您現在要擷取僅與特定年齡範圍的法國客戶相關的資料。為此,您將再次建立一個篩選條件,但這次稍微複雜一些,要合併兩個標準。
-
按一下表格左上方的篩選按鈕。
-
在第一個篩選列中,從欄下拉式清單中選取 country,選取 is equal to 作為運算子,然後輸入大寫的 FRANCE 作為值。
-
按一下新增篩選條件。
第二列可供使用。
-
在第二個篩選列中,從欄下拉式清單中選取 age_range,選取 is equal to 作為運算子,然後輸入 18-25 作為值。
合併篩選條件時,之間的運算子是 AND。
-
按一下套用。
您可以在表格上方看到目前已套用兩個篩選條件,且表格中僅顯示相符的列。配方的最後一步是從資料集中移除所有不相符的列,只保留年齡在 18 歲至 25 歲之間的法國客戶資料。
-
從左側面板的函數清單中,選取一般類別中的保留篩選列函數並按一下套用。
您現在已完成表格配方。資料的範圍和大小有所減少,但更易於閱讀,並針對特定的受眾。此外,您也獲得了有關客戶收到訂單所需時間的資訊。
設定目標並執行配方
現在資料已經準備好並且可以在應用程式中使用,剩下的就是設定如何執行和匯出結果資料。表格配方的結果可以用不同的檔案格式直接輸出到您的目錄中,進而可以輕鬆地在 Qlik Cloud 生態系統中重複使用。在此情境下,您將執行準備好的資料並匯出為 .qvd 檔案。
-
在表格配方面板的目標區段中,在配方步驟下方,按一下設定。
-
在空間下拉式清單中,選取 Personal。
-
在 File name 欄位中,輸入 tutorial_output。
-
在延伸下拉式清單中,選取 .qvd。
-
按一下套用。
您的表格配方現已完成且有效,如標頭列中的狀態所示。
-
按一下視窗右上角的執行配方按鈕。
將會開啟一個顯示執行進度的模型。
一段時間後,視窗將關閉,並會開啟一個通知,告知您執行是否成功。現在可以在目錄中或表格配方概述面板的輸出區段中找到表格配方的輸出。
您也可以在執行歷史記錄區段找到所有執行的狀態。
後續步驟
您已經瞭解如何將來源資料匯入到目錄中、建置簡單的表格配方來篩選和改進資料,並將準備結果匯出為可供使用的檔案。
要瞭解將表格配方用於自有使用案例的多種方法,您可以查看 表格配方函數 的完整清單。
若要瞭解如何在分析應用程式中使用準備好的資料,請參閱建立分析和視覺化資料。