在上一篇中我們看到了Power BI在移動端的支持,從這一篇起降依次介紹Power BI中的各個功能組件,此篇講通過一個故事來介紹如何在Power Query中獲取並且組織數據。
在這個系列中,我們將看到Anna,一個分析師,或者一個報表創建者是如何利用自服務式的Power BI來發現數據,組織數據以及生成報告,以及發布報告的。
首先Anna打開了Excel 2013,找到Power Query標簽。
點擊Online Search。在工作簿的右側出現了Online Search界面,Anna輸入了搜索關鍵字S&P 500,有406條結果。
當鼠標懸停在結果上,可以看到關於這條結果的預覽信息。
Anna確認第一條結果就是她想要的,於是點擊預覽窗體下的ADD TO WORKSHEET,並且將數據下載到了工作簿中。
接下來 Anna需要進一步的組織數據。她決定將近五年的股票數據加載到Power Query中進行組織和預覽。
她在POWER QUERY標簽中點擊From File-> From Folder。
在Power Query的查詢編輯器窗體中,默認的查詢名稱為Query1,Anna將其改成了一個更友好的名稱,NYSE 2009 – Daily, 友好的名稱對於后續的數據組織將更容易一些。
在這兩個文件中的數據是比較大的,所以沒有必要在這里將數據下載到工作簿中,而只關注數據中有哪些列就可以了,所以她將Query Settings面板中的Enable downloaded設置off。
到目前為止Anna已經擁有了S&P 500以及對應的股票數據,接下來Anna需要對這兩部分數據進行合並。
(熟悉SQL語句的朋友可以將這里理解為是一個LEFT JOIN的過程。)
於是她點擊Power Query中的Merge。
Power Query通過Merge將兩個工作表的數據進行合並的功能,按下圖的方式依次選擇需要連接的兩個表,然后選擇關聯列Ticker symbols。
將合並查詢重新命名為SP500 – NYSE merge。在查詢窗體中,Anna可以對數據進行進一步的組織,比如SEC列是不需要的,可以直接右鍵這一列選擇Remove將其刪除。
點擊NewColumn按鈕,可以選擇將第二張表中的哪些列連接進來。
按照同樣的方法Anna組織了另外一份合並NASDAQ的數據。但是Anna希望將兩部分數據合並到一個工作簿中,於是她點擊了 Append按鈕。
(熟悉SQL的朋友可以將這里理解為UNION ALL。)
在彈出的Append窗體中依次選擇需要合並的兩張表。
Append中合並的數據會出現在接下來的查詢編輯界面,同樣可以在這里對數據進行組織以及將結果重新命名成一個友好的名稱。
這樣Anna就獲取到了分別從NYSE和NASDAQ每日股票數據中合並而來的數據,並且根據她的需求進一步的組織了數據。最后數據將Query Settings面板中的Enable download設置成On以允許Power Query將數據下載到工作簿中。
接下來可以對數據的格式進行進一步的整理,比如將Date列設置成為日期類型。這個Excel操作相信大家都再熟悉不過了。對數據類型的合理設置,會使數據的讀取更容易些。
完成以上操作后,Anna點擊Query Settings面板中的Load to data model將數據加載到數據模型中,然后准備進一步在Power Pivot中進一步組織數據。
總結:
在Power Query中,你可以搜索來自於公司內部以及互聯網上的數據,當找到數據之后,可以將數據進行進一步的整理,然后跟其它數據進行合並,對於數據量比較大的數據也可以選擇臨時不講其下載到工作簿中,然后在數據組織完成之后再講數據下載到工作簿中。
通過下面的圖片,可以看到Power Query支持很多種數據源。
同時也可以從文件中獲取數據。
以及更豐富的數據源。