Dismiss Notice

Register now to be one of the first members of this SharePoint Community! Click here it just takes seconds!

Dismiss Notice
Welcome Guest from Country Flag

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

Discussion in 'Official Microsoft News' started by Microsoft Student, Apr 8, 2017.

Thread Status:
Not open for further replies.
  1. Microsoft Student

    Microsoft Student Guest

    Blog Posts:
    0
    [​IMG]

    其他系列文



    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 。
    [​IMG]

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

    [​IMG]

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

    [​IMG]

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

    [​IMG]



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

    [​IMG]

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

    [​IMG]

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



    資料轉型:


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

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

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

    [​IMG]

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

    [​IMG]

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

    [​IMG]

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

    [​IMG]

    接下來我們右鍵選擇 Duplicate

    [​IMG]

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

    [​IMG]

    改變Data Type


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

    [​IMG]

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

    [​IMG]

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

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

    [​IMG]

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



    增加Date 相關的Column


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

    我們選擇最上面的 Add Column tab

    [​IMG]

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

    [​IMG]

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

    [​IMG]

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

    [​IMG]



    Split Column


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

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

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

    [​IMG]

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

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

    [​IMG]

    那麼我們選擇 By Delimiter

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

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

    [​IMG]

    分割完成 !

    [​IMG]



    儲存更變


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

    [​IMG]



    Load Folder


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

    再一次 Get Data 並且選取 Folder 。

    [​IMG]

    點選 International 資料夾然後點 OK。

    [​IMG]

    之後我們這一次點 Edit

    [​IMG]

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

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

    [​IMG]

    開啟後會如下圖

    [​IMG]


    Append Queries


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

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

    變成以下這樣

    [​IMG]

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

    先到右上角的 Append Queries 按下

    [​IMG]

    接著再選取要 Append 的 salesFact 後按 OK

    [​IMG]

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

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

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

    [​IMG]

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


    使用Power Query 語法Add Column


    在左上角按Custom Column

    [​IMG]

    之後會跳出這樣的視窗

    [​IMG]

    在這邊輸入按照下圖

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

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

    [​IMG]

    完成 !

    [​IMG]


    Irregular Data


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

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

    [​IMG]

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

    [​IMG]

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

    [​IMG]

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

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

    那麼我們需要把他進行 Transform

    我們到 Transform tab 那邊選擇 Transpose

    [​IMG]

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

    [​IMG]

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

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

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

    [​IMG]

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

    [​IMG]

    可是我們會看到

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

    [​IMG]

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

    [​IMG]

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

    [​IMG]

    完成圖就像這樣

    [​IMG]

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

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

    我們希望把他變成

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



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

    [​IMG]

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

    [​IMG]

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

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

    再把 Value 的 data type 改成 Whole number

    完成圖就像這樣

    [​IMG]

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



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

    [​IMG]

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





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

    [​IMG]

    Continue reading...
     
Thread Status:
Not open for further replies.

Share This Page

LiveZilla Live Chat Software