Microsoft Power BI, 數據分析

5 個常見的 POWER BI 資料處理功能介紹(下篇)

延伸上一篇 5 個常見的 POWER BI 資料處理功能介紹(上篇)的資料處理功能介紹,這篇持續來介紹POWER BI 的資料處理功能,除了基本的資料空值處理外,這篇也會多分享資料合併、附加查詢以及檢查資料分佈情況的作法,那就開始囉!

資料處理類型 1:附加查詢

附加查詢最常用在合併兩份資料格式一樣,且欄位一樣的資料,什麼樣的資料會需要合併呢?當我們有兩份同樣的資料,但時間軸不一樣時,附加查詢的功能就能派上用場,例如以這份信用卡的資料為例,附加查詢就可以用來合併2020年與2021年的信用卡消費資料。

遇到這種需要合併兩份資料的狀況,有人可能會納悶,那我在匯入資料之前把A檔案的內容複製到B檔案不就好了嗎?沒錯,不過資料檔案少的時候當然可以使用複製貼上來合併資料,但是當資料檔案高達5份、10份的時候,附加查詢的功能就會幫助我們省下非常多的合併資料處理時間。

先把兩份我們想要合併在一起的資料匯入之後,選擇其中一份檔案,以信用卡資料為例,我先選擇了「信用卡消費資料_2020」,接著就可以按下「常用」選單裡面在右側的「附加查詢」。

附加查詢可以有兩種建立的方式,一種是直接「附加查詢」,意思是會在現在的資料把另外一份資料合併進來,所以原本的資料會受到影響。另外一種是「將查詢附加為新查詢」,則是會另外建立一個新的資料集,把現在畫面的資料,跟我們預期要合併的另外一份資料都獨立出來,變成一個新的資料集,自然也不影響原始的兩份資料。

沒有一定要使用哪一種方式,如果你需要保留兩份原始的資料後續使用,就可以選擇用「將查詢附加為新查詢」,如果有沒有原始的兩份資料對你來說沒差,那直接使用「附加查詢」也沒問題。

接著選擇想要合併的資料,這個功能很貼心的會告訴你目前的資料是哪一份,所以在合併的時候就不會不小心選到原本的資料。最後按下右下角的「確定」就大功告成了。

關於不同時間軸的檔案合併方式,除了這邊操作的附加查詢外,我之前也有分享過如何用匯入整個資料夾的方式合併不同時間軸的檔案,可以參考這篇文章:用 POWER BI 自動更新數據,解決重複性資料整理

資料處理類型 2:空值處理

將資料匯入 POWER BI 的第一步,就是先看看資料有沒有太多的空值,以及判斷空值不需要做什麼處理。比較常見的補空值的方式包括:直接補0、補平均值、補最大值、補最小值,又或是看前後欄位決定是參考上一列或是下一列的資料前後填充。

在處理空值之前,我們需要先檢查有哪些欄位有空值狀況,雖然說這份資料很輕易的可以看到有null值,但實務上還是不建議直接用肉眼去判斷,一來是耗時耗力,二來是當資料量太大的時候,通常不太能正確檢查出來。比較建議的作法是使用 POWER BI 內建的「資料行品質」功能來檢查。

而以這份資料來說,透過資料行品質檢查後,我們可以發現「年月」的欄位資料空白的比例很高,細細去看資料會發現,是因為原始資料只有紀錄第一筆年月的資料,如果是跟第一筆的年月資料一樣的話,資料就會是空白的。

這種資料蠻常是因為原始資料使用了合併儲存格,合併儲存格雖然在檢視上會讓我們知道合併的欄位資料都是一樣的,但實際上只有第一筆是有資料的,其他都會是空白值,針對這類型的資料,我們能使用向下填空來補足空值。

資料品質檢查與項下填充操作步驟示範

資料處理類型 3:資料分群

第三個要分享的資料處理是資料歸類與分群,這份資料很大的重點在於有信用卡持卡人的出生年份,可以用來推估持卡人的年紀。不過年紀的範圍太廣,如果要用於資料分析,我就會先將出生年份轉換成年紀,接著再針對年紀做分群,把相同年齡帶的人歸類在一起,例如說:20-30歲、30-40歲等。

第一個步驟先進行持卡人的年紀計算。

可以使用POWER BI 裡面的「新增資料行」,點擊「自訂資料行」,然後就可以針對既有資料行進行計算,當然啦,如果是使用其他資料,也可以任意的新增自己想要呈現的資料行內容。

取得年紀之後,接著就可以針對年紀來做分群,一樣使用POWER BI 裡面的「新增資料行」,這次使用的是「條件資料行」,條件資料行可以針對既有的資料行進行條件篩選,針對特定條件的資料指定特定值。

這麼說可能有點抽象,我用這份資料的年齡分群來舉例,以這份信用卡資料來說,我們剛剛透過簡單的新增資料行,已經取得信用卡持卡人的預估年紀,持卡人的年紀介於16-91歲。但是這個資料分佈對我來說太分散,資料分析上不太好使用,所以我想把年齡分成6個級距,分別是未滿20歲、20歲(含)到30歲、30歲(含)到40歲、40歲(含)到50歲、50歲(含)到60歲、60歲(含)以上。

那麼條件資料行就可以針對「持卡人年紀」設定條件判斷,如下圖所示,建立之後就會多一個欄位「持卡人年紀分群」,就可以拿到年紀分群之後的結果。

使用條件資料行的時候最需要注意的就是條件資料行由上到下的條件設定就代表著優先順序,當條件資料都是同一行時,判斷的優先順序不會影響到資料分群,但如果是用兩個以上的資料欄位來做條件資料行的判斷的話,就需要思考哪些條件是需要優先被考量的。

一樣用信用卡的資料來說明,像我們做年齡分群,使用的就只有同一行來當資料條件判斷,且就是「持卡人年紀」這一欄,一列資料只會有一個年紀,不會有一列資料既是25歲,又是90歲,所以這種情況下,資料判斷的優先順序就不會影響到每一列的資料要被歸類在哪一個年紀區間。

但假如,條件資料行我要使用地區以及年紀來判斷,這時候就會有資料重疊的問題,一列資料又有年紀,又有地區。所以當我想設定,25歲以下分類為族群A、台北市分類為族群B,有一列資料是台北市24歲的資料,這時候條件資料行的排序就很重要。

當你把25歲以下分類為族群A放在最上面,那這筆是台北市24歲的資料就會被歸類在族群A;相對的,如果你把台北市的分類放在25歲以下分類的位置上方,代表優先判斷台北市的分類,這筆是台北市24歲的資料就會被歸類在族群B,即便他符合了25歲以下,也不會再被歸類到族群B的分群裡。

最後,也提供新增資料行進行計算、新增條件資料行進行資料分組的資料處理步驟示範影片供參考~

資料處理類型 4:合併查詢

合併查詢跟我第一個分享的附加查詢功能很類似,附加查詢是將兩份資料上下合併,而合併查詢則是將兩份資料左右合併。

而合併查詢跟下一個要介紹的資料連結也非常像,兩者都是將兩份資料左右連結在一起,差別是合併查詢是將兩份資料的所有欄位都合併成一份新的資料,而資料連結則是,在兩份資料不變更的情況下,連結資料欄位產生連結,讓我們可以在建立報表時拿兩份資料的資料維度跟資料指標組合成數據表格或是圖表。

合併查詢的第一步就是在常用的選單列右側,先找到「合併查詢」的按鈕,接著我們可以選擇要「合併查詢」或是「將查詢合併為新查詢」,兩者的差別在於,前者是在現在的資料下合併兩份資料,會更動到現在這份原始資料,而後者則是將想要合併的兩份資料獨立出來,新增一份新的資料表出來。

進入合併查詢的設定畫面後,需要做三個步驟,第一個步驟是選擇想要把現有資料跟哪一份資料表合併,像這份信用卡資料,我要合併的就是信用卡消費資料跟縣市代碼參考表的資料。

第二個步驟是選擇兩份資料連結的依據,也就是所謂的KEY值,建議是兩份資料的這個欄位是一對一的關係或是一對多的關係,意思是說,比對的欄位至少有一邊的欄位資料內容是唯一值,這樣在合併過程,系統才會知道,怎麼將兩份資料比對並且合併起來,這個功能其實也等同於Excel的Vlookup功能,只是在POWER BI 裡,我們不需要寫公式,只需要選取想要連結的資料欄位就可以了。

最後一個步驟是選擇聯結種類,POWER BI 合併功能提供的聯結種類非常多,可以選擇第一份資料的所有資料跟第二份資料的所有欄位合併,只選擇特定欄位合併等。

信用卡資料我是想要把第一份資料完整留著,第二份資料有相符的縣市代碼,所以我就選擇「左方外部」的連結方式。

做完這些步驟後,就能得到一份新的資料表,預設的名稱都會建立成合併1、合併2等以此類推,看你做了幾分合併查詢而定。

詳細的合併查詢操作步驟也可以參考下面這支操作示範影片~

資料處理類型5 :資料連結

最後一個,來分享資料連結!我之前有分享過這個功能,更詳細的功能用途跟完整說明可以延伸閱讀這篇:用 Power BI 取代 Vlookup 串接資料 輕鬆處理複雜資料分析

這邊的資料處理,我一樣拿信用卡資料為例。資料上蠻常出現這種以數字或英數混雜的代碼來做中文的代稱,以這份信用卡資料為例,這份資料就在「地區」的這個欄位,改以8位數的數字來替代縣市名稱。

這種資料呈現在實務上也非常常見,例如說電商的訂單資料就會有所謂的「Customer ID」,當我們想知道購買某項商品的客戶是誰?他們的年齡性別分布的時候,就會透過「Customer ID」去另外一張客戶資料表來找到答案。

回到信用卡資料的例子,想把地區代碼轉換成縣市的中文名稱,這時候就需要透過兩份資料表的共同欄位來建立資料連結,所以除了原本的信用卡資料之外,我還需要另外一份每一個地區代碼對應到哪一個縣市的縣市代碼比對表。

POWER BI 的資料串接功能在畫布區的地方,資料連結通常都會需要等所有的資料處理步驟都完成之後,關閉POWER BI 這個資料編輯器後,進到數據圖表的畫布區後才開始設定。

進到畫布區後,找到左側第三個圖示按鈕「」,進入資料連結設定的區塊。

這個區塊可以簡單透過拉取完成連結,例如說我們就拉取信用卡資料的「地區欄位」,接著拉到縣市代碼比對表的「縣市代碼欄位」。

完成之後可以看到畫面在兩個資料間出現了線條箭頭,一邊呈現「1」,另外一邊則是呈現「*」,代表著兩份資料已經連結起來,資料之間呈現一對多的關係。

什麼是一對多的資料關係?我們回到兩份資料的資料內容來說明。

仔細看兩份資料的比對欄位,信用卡資料的「地區」的數字代碼是重複的,縣市代碼比對表對應的「縣市代碼」則不重複的,系統才會知道看到「63000000」對應到的縣市是臺北市。一對多的資料關係,簡單來說就是用一份沒有重複值的資料欄位,對應到另外一份有重複值的資料欄位,讓我們可以透過代碼欄位串接,把兩份資料連結在一起使用。

好啦~這次5個 POWER BI 的資料處理功能也介紹完畢了,希望對看完這篇文章,正在苦惱資料處理流程的你有幫助,下篇文章見~

原始資料來源:https://data.gov.tw/dataset/38319
資料下載連結:https://pse.is/4jyj8t,雲端連結中共包括兩份檔案:
1. Power BI 示範檔案:各年齡層信用卡持卡人於六都消費樣態
2. Excel 營收資料檔案:資料處理(下篇)_空格條件行查詢與資料串接

Sharon


Buy me a coffee  用行動支持我的內容創作

如果我的文章對你有幫助,歡迎用行動支持我的內容創作,小額贊助請我喝咖啡、留言或是寄信來跟我分享你的收穫,都會讓我持續有動力分享更多內容唷~