引言:看到標題,你是否有些困惑?在Excel上具有數據獲取的能力是指什麼?難道不是把csv格式的表格和Excel格式的表格打開就行了嗎?然而並不是這樣。
本文選自《數據化運營速成手冊》。數據庫
其實標題中有兩層意思:第一層意思是在一些數據庫管理不那麼嚴格的中小型企業,能夠經過Excel中的ODBC數據接口,與數據庫或者數據倉庫創建鏈接,直接快速取數,提升工做效率;第二層意思是Excel 2016中有至關強大的數據獲取工具,即使不能從數據庫直接獲取,也能從多個本地的數據表中將數據抽取、整理和轉化,並作到實時更新,也能提升工做效率。微信
下面就用簡短的篇幅介紹Excel中的「數據查詢」功能。如圖1所示,在「數據」選項卡下面單擊「新建查詢」下拉菜單,就能看到Excel提供的數據獲取抓手很是豐富。能夠從本地的其餘工做簿,也能夠從SQLServer、MySQL、Oracle等數據庫,還能夠從Hadoop的HDFS文件查詢獲取數據。本節以從本地文件查詢和從Web端查詢爲例介紹。ide
延續以前的例子,咱們將表A、表B和表C分別創建成3個Excel文件。在「新建查詢」中單擊「從工做簿」後,選擇咱們要的表A,就會出現一個鏈接的「導航器」,如圖2所示。若直接單擊「加載」按鈕,則表A的數據會所有進入打開的工做表,並創建一個查詢鏈接。若咱們單擊「編輯」按鈕,則會彈出編輯查詢的設置界面。在「查詢編輯」面板中,能夠可視化地實現SQL,諸如選擇列、添加篩選條件、構造新的字段等,如圖3所示。工具
咱們的目的是將表A、表B和表C三張表合併。那麼,最合理的作法是將表B做爲主表,把表A和表C的內容合併上去。首先,咱們分別創建了針對三張表的查詢,如圖4所示。ui
第二步開始設置表B的查詢,點開設置面板後,單擊「合併查詢」按鈕,如圖5所示。.net
第三步,在「合併查詢」的設置面板中,選好兩張表對應的鍵,即「用戶ID」,而後在「聯接種類」中選擇「左外部(第一個中的全部行,第二個中的匹配行)」,這就是一個「LEFT JOIN」,如圖6所示。
單擊「肯定」按鈕後,查詢設置界面上出現一個「NewColumn」,如圖7所示,點開它右邊的按鈕,在下拉列表框中選擇要匹配進表B的字段,選擇「用戶姓名」、「所在區域」、「性別」和「註冊來源」。
完成這一步,實際上表A和表B已經成功合併了,咱們再次單擊「合併查詢」選項,如圖8所示,按剛纔的操做,將表C中的「事件」字段進行「LEFT JOIN」,終於大功告成,如圖9所示。
通過上述步驟,不一樣的表創建查詢後,做爲數據源的表一旦有變更,咱們只要右鍵單擊查詢設置頁面中上方的「刷新」按鈕,數據就會更新。不須要反覆地複製粘貼,更不須要手動寫函數轉化,大大提升了工做效率。
對這個內容再作一點小小的延伸。在工做中,做者會根據分析需求,先用查詢工具將各個來源的錶鏈接成一個主表;而後由這個主表作透視表和數據透視圖,數據透視表的數據源就是引用整張表對象,而不是一個區域。這樣能實現數據報表的半自動化。只要數據源進行了更新,那麼打開製做報表的Excel工做簿,將查詢連接更新一下,再將數據透視表更新一下,新的報表就完成了。用這個方法,可將原來半天的工做量壓縮爲30分鐘,效率的提高是很是可觀的。
除了在本地文件之間創建查詢,再簡單介紹如何從網頁上爬取數據。咱們從NBA數據統計網站上拉取某個頁面上呈現的上個賽季東西部球隊的戰績狀況,如圖10所示。
過程其實很是簡單。首先,創建一個從Web端的數據查詢。單擊圖11所示的「從Web」選項後,在彈窗中輸入URL,單擊「肯定」按鈕。接着,Excel就會自動訪問這個網頁,並將網頁中存儲在
標籤內的數據內容抓取出來。而後,熟悉的頁面出現了。如圖12所示,在「導航器」中,咱們看到了網頁中呈現的數據。直接單擊「加載」按鈕,數據就會出如今咱們的Excel工做表中。
在Excel中,獲取數據的功能其實很是強大,而做者只使用了其中的「冰山一角」。但願你們在平常工做中多學多用,並把有價值的經驗分享出來。
本文選自《數據化運營速成手冊》,點此連接可在博文視點官網查看此書。
想及時得到更多精彩文章,可在微信中搜索「博文視點」或者掃描下方二維碼並關注。