EXCEL資料缺失、混亂、重複怎麼辦?我用ETL帶你走出困境

hxc979891發表於2021-01-05

在我們的日常工作中,資料清洗通常是一個非常複雜和繁瑣的過程,特別在EXCEL裡進行資料清洗會顯得格外痛苦,例如對資料進行簡單的合併、去重、分列都需要花費不少的時間和功夫。雖然微軟推出了power query這個厲害的清洗元件,但是M語言的門檻相對較高,一般人不易掌握。因此選擇一個簡潔的ETL工具去對資料進行清洗是一個非常好的選擇。除了可以節省大量的時間,還能以視覺化的介面進行操作,無需任何程式碼便可以快速對資料進行清洗。下面利用智分析的ETL工具,對EXCEL常見的幾種清洗方法進行講解。

1、 合併表格

我們平時工作中總會遇到需要對兩個EXCEL表格進行合併的情況,例如對多個門店或者分公司的資料進行整合,如果列數都一樣的時候,用複製貼上的方式就可以對兩個表格進行合併,但是如果表格的列數存在不一樣的情況時,我們合併表格的難度會增加,例如以下兩個表格,訂單明細表B比訂單明細表A多了一列,如果要合併這兩個表格,則需要在A表裡插入一列或者把B表裡多出的這一列刪除了,非常麻煩。但是用ETL工具處理就會非常迅速,以下為我用智分析的自助ETL功能對錶格進行合併的方法。

訂單明細表A

訂單明細表B

    第一步要做的就是先把兩份資料導進智分析系統裡,在資料連線的介面裡選擇EXCEL匯入,分別把訂單明細表A和訂單明細表B導進來,並選擇儲存的路徑。

    接下來點選資料準備裡的自動ETL,進入到ETL的介面後把關係資料來源拖拽到中間的展示區裡,並在右邊的引數裡找到兩份表格,然後滑鼠右鍵點選關係資料來源裡的“執行到此處”。

由於訂單明細表B有多餘的欄位,我們先對這個資料來源進行列選擇,把資料來源預處理裡的‘“列選擇”拖拽過去,並與訂單明細表B進行相連,在輸出列的介面裡,把多餘的欄位剔除掉,這樣便可以得到與A表欄位相同的資料來源。

    最後把“合併行”這個元件拖拽到展示區裡,並把訂單明細表A和加工過的訂單明細表B進行相連,在引數選擇裡選擇所有欄位,合併方式選擇並集,這樣便可以把兩個表格合併在一起了。

我們看一下輸出的結果,兩份資料來源完美地結合在一起了。如果對欄位更多、更復雜的資料來源進行合併,這個工具可以發揮出給力的效果。

2、 刪除重複項

資料來源有重複項也是經常會遇到的問題,在EXCEL裡通常可以用刪除重複項的功能去對資料進行去重處理,但是利用ETL一樣也可以對資料進行去重。還是用上面的資料來源,我們把“去除重複值”這個元件拖拽到展示區裡,並與上面合併好的資料來源進行相連。

連線好之後,在右邊的引數選擇項裡選擇要去重的欄位,然後點選執行,我們來看一下輸出的效果,兩個表格裡的重複值便剔除掉了,剩下的表格都是唯一值了。

3、 分列

在用EXCEL處理資料時,經常要對一些資料欄位進行分列,例如上圖的資料來源中,我們發現了資料來源中銷售人員這一列有多餘的資訊,多了銷售代表這幾個字,我們應該怎樣把後面名字給提取出來呢?在EXCEL中可以用LEFT、RIGHT函式或者分列的方式對文字欄位進行提取,但是在ETL裡一樣也可以實現。首先把“分列”這個元件拉拽到展示區裡,並與上面的資料來源進行相連。

在右邊的引數設定區裡,我們先把需要分列的資料欄位選擇好,然後在分隔符選項裡選擇分列欄位裡所攜帶的分隔符,這裡我們選擇“-”。

    我們執行看一下執行的效果,銷售人員這個欄位被分成了兩列,並生成了新的兩個欄位,完美地實現了分列的效果。

4、 派生欄位

如果要在ETL裡增加新的資料欄位也是沒問題的,例如上圖資料來源裡的訂單日期包含了日期、時分秒這些資訊,但是如果要把裡面的年份提取出來,應該怎麼做呢?這時我們把“派生欄位”拉拽到展示區裡,並與上面的資料進行相連。

  在引數的設定介面裡,點選年份提取的函式,並選擇訂單日期這個欄位,點選確定。

我們看一下輸出的效果,資料來源最後的一列生成了新的一列,僅有年份的資訊。如果要生成其他的欄位也是可以實現的,只需編寫表示式即可。

5、 後設資料編輯

ETL還可以對資料的型別進行更改,例如把欄位調整為浮點型、字串、整型或者是其他的型別。同樣的方法,我們把“後設資料編輯”拉拽到展示區裡,並與上面的資料來源進行相連。

    在後設資料編輯的引數設定裡,可以對資料欄位的別名或者資料型別進行設定,這個對於資料庫來說非常有用。

     以上為用ETL工具對EXCEL進行資料清洗的5個常用方法,後面還會對其他清洗方法進行講解,敬請留意。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69980489/viewspace-2747604/,如需轉載,請註明出處,否則將追究法律責任。

相關文章