範例 - Delete 和 Keep 轉換

本範例說明如何使用下列轉換指令在資料集中保留及刪除資料列:

  • delete - 依據 row 參數中條件運算式的評估結果,刪除一組資料列。請參閱 Delete 轉換一文。
  • keep - 依據 row 參數中條件運算式的評估結果,保留一組資料列。系統會刪除資料集中的所有其他資料列。請參閱 Keep 轉換

來源:

您的資料集包含以下訂單資訊。您想要編輯資料集,以達成下列目的:

  • 移除已不再提供之產品的所有訂單,這些產品的 ID 如下:P100P101P102P103
  • 保留過去 90 天內提交的所有訂單。
OrderIdOrderDateProdIdProductNameProductColorQtyOrderValue
10016/14/2015P100帽子棕色190
10021/15/2016P101帽子黑色2180
100311/11/2015P103毛衣黑色3255
10048/6/2015P105開襟毛衣紅色4320
10057/29/2015P103帽衣黑色5375
100612/1/2015P102褲子白色6420
100712/28/2015P107T 恤白色7390
10081/15/2016P105開襟毛衣紅色8420
10091/31/2016P108外套海軍藍9495

轉換:

首先,移除舊產品的訂單。因為產品集相當小,所以您可以先從新增下列指令開始:

注意:只需要先預覽這個轉換指令,還不要將它新增至您的方案。

delete row:(ProdId == 'P100')

預覽這個步驟時,您應該會發現系統醒目顯示上表中待移除的頂端資料列。請注意轉換指令與 ProdId 值的相依關係。查看 ProductName 值時,您可能會發現其中一列受影響的資料含有錯字,所以該資料欄不適合用於比較。

您可以使用下列轉換指令擴展,將其他產品 ID 新增至轉換指令;此擴展已移除含有相符 ProdId 值的所有資料列:

delete row:(ProdId == 'P100' || ProdId == 'P101' || ProdId == 'P102' || ProdId == 'P103')

將上述步驟新增至方案時,資料應會如下所示:

OrderIdOrderDateProdIdProductNameProductColorQtyOrderValue
10048/6/2015P105開襟毛衣紅色4320
100712/28/2015P107T 恤白色7390
10081/15/2016P105開襟毛衣紅色8420
10091/31/2016P108外套海軍藍9495

現在您可以篩選出 90 天以前的資料集訂單。首先,新增含有今天日期的資料欄:

derive value:'2/25/16' as:'today'

使用下列指令,保留此日期 90 天內的資料列:

keep row:DATEDIF(OrderDate,today,day) <= 90

切記刪除不再需要的 today 資料欄:

drop col:today

結果:

OrderIdOrderDateProdIdProductNameProductColorQtyOrderValue
100712/28/2015P107T 恤白色7390
10081/15/2016P105開襟毛衣紅色8420
10091/31/2016P108外套海軍藍9495
本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Google Cloud Dataprep 說明文件
需要協助嗎?請前往我們的支援網頁