Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

【Power BI】系列文2_匯入資料與資料轉型

其他系列文

1. Power BI 介紹+安裝註冊

2. 匯入資料與資料轉型

3. 資料模型介紹

4. 坐標軸+視覺化

5. 地圖+卡片+多列卡片

6. KPI +交叉分析篩選器

前言:

        在上一篇已經大概介紹了 Power BI 的介面以及流程,這一次我們開始要處理資料了。

在這一篇開始會使用到 Power Query 以及 DAX 語法。

有關詳細的 Library 查詢可以在這個網站找到:

https://msdn.microsoft.com/en-us/library/mt244090.aspx

匯入資料:

接下來開啟我們的 Power BI 並且點選Get Data

接著彈出來的視窗我們可以看到,Power BI 支援很多種資料的格式,這一次我們使用 Access database 格式。

並且我們選擇剛剛下載下來的 Lab 1 教材中的 PowerBI.accdb 

之後會跳出預覽以及讓我們勾選要匯入哪一些資料。請大家如同圖中選擇要匯入的資料,並且點選 Load ,耐心等候匯入過程。

點選上層的 Edit Queries 進行對資料的轉型。

我們會看到這樣的一個介面彈了出來。

接下來就到我們在 Query 中到處探索,作資料轉型了。

資料轉型:

我們現在就到處探索一下吧。

首先我們來改一下不同 table 的名字吧。

我們在介面的最左邊點選想改名字的 table

之後在介面最右邊的 Query Settings 改名字。

讓我們先把 table 都改成如下圖 :

在 Date table 中我們看到一行叫 Date 

接下來我們右鍵選擇  Duplicate

然後會發現整個 table 跑出多一個行出來了。這時我們可以嘗試對他作出改變。

改變Data Type

點選了整個行後在上方選擇 Data Type 改成 Date

原先的資料就會變成 Date 的格式了。

Power BI 中資料可以有 Decimal , Whole Number , Date 等等其他,大家可以自行去探索。

此時我們會發現到最右邊的 Query Settings 中的 Applied Steps 多了好幾個。

剛剛我們做的動作全部都會在 Applied Steps 這邊紀錄著,同時這些名字也是當下現在 table 的狀態的名字,你可以作出更改,也可以取消剛剛作出的變動。之後在寫 Power Query 公式時要操作 table 的需要回顧到當下 table 的狀態名字。

增加Date 相關的Column

Power BI 同時也提供在時間上運算的方便。例如我想要找出整個日期是在當年的星期幾,是在當年的第幾個星期,也很方便就可以找出來。

我們選擇最上面的 Add Column tab

接下來點選剛剛整行改過 data type 的資料,然後在上面的 Date 那邊如下圖選擇。

接下來再一次點選剛剛整行改過 data type 的資料,再上面 Date 如下圖選擇。

就會發現 Power BI 已經幫你算好當年的當天,是星期幾,是第幾個星期了。

Split Column

讓我們來到 Product 這個 table 中的 Product 那一行

我們可以看到 他是由兩部份組成前面是製造商 後面是編號

我們這一次要把他分割出來

我們在 Product 那一行右鍵選 Split Column

By Delimiter 是指以某些字元去分割,下者則時以多少個字元

那麼我們選擇 By Delimiter

然後再根據下圖的選項再點 OK

我們根據從左邊開始數的第一個空白去分割

分割完成 !

儲存更變

按介面左上角的 Close & Apply 就可以儲存更變後離開 Query Editor

 

 

Load Folder

Power BI 除了匯入資料之外,也可以整個資料夾匯入。

再一次 Get Data 並且選取 Folder 

點選 International 資料夾然後點 OK

之後我們這一次點 Edit

再一次進入 Query Editor 介面,這一次所顯示的是資料夾內檔案的資訊

點選 Content 旁邊的圖示就可以把所有資料拿出來了

開啟後會如下圖

 

Append Queries

接下來就到了把某幾個 table 結合在一起了。

我們先把剛剛那個 Table Source.Name 整行刪除掉 因為那個只是參考回去而已。

變成以下這樣

我們現在是要把 International salesFact 結合在一起

先到右上角的 Append Queries 按下

接著再選取要 Append salesFact 後按 OK

我們可以看到多出一個叫 Append1 的 table
這個就是結合了 International salesFact table

Power BI 會自動把 column 對好並且結合

但我們會看到這邊有一個問題就是在 Country 那邊會有 null

那是因為 salesFact 的資料中沒有 Country 這一行,這邊我們要手動加一下。

 

使用Power Query 語法Add Column

在左上角按Custom Column

之後會跳出這樣的視窗

在這邊輸入按照下圖

使用了  Power Query 語法去寫,大家可以自己查找更多學習起來。

以下內容是如果 Country 內的內容是 null ,那麼就填  USA ,不然就填回自己。

完成 !

 

Irregular Data

Power BI 在資料的自動處理,匯入 Query 中十分聰明,總能幫我們自動排好資料,可是這是建基於資料對於自動分析是有邏輯合理的。當我們有些資料是不規則的,便需要人手處理。

我們開一個新的 Power BI 專案,匯入教材中的不規則資料。

選取後,再點選 sheet 1 並且按下 Edit

之後我們會看到下圖的情況

因為是不規則資料所以 Power BI 就直接把當一模一樣的樣子讀進來

我們希望把他變成變成最左邊的 column 是 City ,然後右邊是每一年的數據

那麼我們需要把他進行 Transform

我們到 Transform tab 那邊選擇  Transpose

Transpose 之後,資料會變成下圖。

大家可以看到,每一個 column 的 header 都是 column 1 2 3 4 ….

實際上我們資料的第一列正正就是我們的 header

因此我們可以按 User First Row As Headers

後把 City Category 加到相應的位置就完成像下圖

可是我們會看到

下圖塗黃色的地方是顯示 null,那是因為我們本身資料就只有一個格是寫城市的名字

我們先點 City 整行,然後按上面 Fill 中的 Down

就會像下圖這樣把資料都Fill 完了

完成圖就像這樣

但如果我們想要把他變成更加方便用圖表作出分析發表示,這樣的 Query 不太好用。

因為目前的 Query 是比較對於我們人去看比較好,電腦去看則應該每一個都單一資料。

我們希望把他變成

一行城市,一行項目,一行年份,一行數據

因此我們先選擇所有年份的行,再點選 Unpivot Columns

就會變成我們所需要的每一個都是單一資料

接著把年份那一行的 header 改成 Year

然後把 City , Category , Year 的 data type 改成 Text

再把 Value 的 data type 改成 Whole number

完成圖就像這樣

儲存後接下來,經過 Transform unpivot column 處理的資料對於 Power BI 的建立圖表分析更加友善。

像下圖的圖表也比較簡單輕易做到了。

有關更多後續的 Power BI 的操作包括 Modelling 以及 Power BI 精神所在的 Data Visualisation 請大家在進階的 Power BI 的部落格文章查看

|撰寫者:第十一屆 MSP 技術組 梁皓鈞

Share the post

【Power BI】系列文2_匯入資料與資料轉型

×

Subscribe to Msdn Blogs | Get The Latest Information, Insights, Announcements, And News From Microsoft Experts And Developers In The Msdn Blogs.

Get updates delivered right to your inbox!

Thank you for your subscription

×