-
現狀分析
-
原因分析
-
大多數情況下,用Excel的數據透視表進行匯總分析即可,但數據量一大,Excel就跑不動了,那可以采用Access數據庫和Microsoft Query,可以使用SQL語句進行查詢匯總分析。
數據分析歸納起來有兩大類:
-
一類是呈現現狀的描述性分析 。主要通過對比與細分進行現狀和原因分析,可以制作數據透視表,求和、求平均值以及數據分組了解其構成,甚至通過不同時間維度的對比,查找數據變化原因,最后制作相關圖標對現狀進行呈現及描述。
-
另一類是展望未來的預測性分析 。主要分析現有數據間的相關性,探尋數據之間存在的聯系,並進一步通過建立相關回歸模型的方式對未來進行合理的預測。
現在介紹一個工具,側重於描述性分析的PowerPivot。
一、PowerPivot是什么
在PowerPivot中,Excel的行、列限制已被取消,這樣我們能方便地操作更大型的數據。它的核心功能表現在:
-
整合多數據源:PP可以從幾乎任意地方導入任意數據源的數據,包括Web服務、文本文件、關系數據庫等數據源。
-
處理海量數據:可以輕松組織、連接和操作大型數據集中的表,處理大型數據集(通常幾百萬行)時所體現的性能就像處理幾百行一樣。
-
操作界面簡潔:通過固有的Excel功能(如數據透視表、數據透視圖、切片器等),以交互方式瀏覽、分析和創建報表,只要我們熟悉Excel,就可以使用PowerPivot。
-
實現信息共享:PowerPivot for SharePoint可以共享整個團隊的工作簿或將其發布到Web。
Access、Microsoft Query和PowerPivot這三個工具分別在什么時候使用呢?
每個工具有自己的優勢及劣勢,采用PowerPivot進行數據處理分析的集中情況:
-
習慣使用Excel數據透視表進行數據分析
-
數據量大,超出Excel范圍,且未安裝Access
-
無須進行或只進行一些簡單的數據處理操作
界面
-
單擊【PowerPivot】選項卡【數據模型】組的【管理】;
-
【主頁】選項卡主要用於添加新數據、從Excel和其他應用程序中復制和粘貼數據、獲取外部數據源、制作報表、應用格式設置,以及排序和篩選數據等;
-
【設計】選項卡主要用於添加和刪除列字段、在PowerPivot窗口或數據透視表上顯示或隱藏列字段、更改表屬性、創建和管理關系,以及修改與現有數據源的連接等;
因為我們還沒創建PowerPivot表,所以各個選項都是灰色的。我們仍然以“用戶明細表”、“訂購明細表”的數據作為基礎, 對用戶購買行為進行分析,以便了解用戶行為,制定相應的運行策略,提升用戶價值與用戶忠誠度。
三、確定分析思路
對於用戶購買想行為分析,適合采用5W2H的方法進行分析,用思維導圖表示如下所示:
四、導入數據
前面說到大型數據一般以TXT文本形式存儲,所以我們將“用戶明細.txt”文件導入。
-
在PowerPivot窗口中,單擊【主頁】選項卡【獲取外部數據】組中的【從其它源】按鈕,下拉選擇【文本文件】;
-
在彈出的【表導入向導】中,將名稱更改為【用戶明細】,文件路徑選擇當前文件所在的路徑。
-
后續的步驟根據提示操作。
-
按照剛才的步驟,將“訂購明細”的文本文件也導入PowerPivot中。
五、簡單數據分析
PowerPivot有一個巨大的優勢,就是可以集成多數據源進行數據透視表或數據透視圖的操作,來匯總、分析、瀏覽和呈現摘要數據。
1. 創建數據透視表
針對剛才分析框架中的具體問題來分析,首先要了解用戶主要購買什么產品(What),即各產品的銷量分布,操作步驟如下:
-
在PowerPivot窗口中,單擊【主頁】選項卡【報表】組組中的【數據透視表】按鈕;
-
選擇放置新建的數據透視表的位置。、
-
單擊【確定】按鈕,將彈出如下圖的內容:
-
將“訂購明細”表中的“產品”字段拖至“行標簽”,“數量”移至“值”區域進行求和。
通過此表,我們了解到各個產品的銷售分布情況,發現產品A和產品D的銷售數量比較大。
六、多表關聯分析
如果想了解購買用戶的特征(Who),例如地域分布、哪個地區購買的用戶最多、哪個地區購買的用戶最少。 在PowerPivot工具中,無須使用類似VLOOKUP函數進行字段匹配,只需要像Access數據庫那樣建立兩表之間的關聯關系,即可把兩表根據關鍵字段關聯起來。 此時,我們需要將“訂購明細”表與“用戶明細”表根據關鍵字段“用戶ID”創建關系,操作步驟如下:
-
在“訂購明細表”中,單擊“用戶ID”任意一個數據單元格;
-
在【設計】選項卡【關系】組中,單擊【創建關系】按鈕,將彈出【創建關系】對話框,其中【表】字段和【列】字段將自動填充相應信息;
-
在【相關查找表】下拉列表中選擇“用戶明細”,在【相關查找列】上選擇“用戶ID”,如下圖所示。創建關系時,必須為【相關查找列】選擇具有唯一值的列。
-
在關系創建成功后,字段“用戶ID”上會顯示一個小圖標;同時可以通過【設計】選項卡中【關系】組的【管理關系】功能來查看現有的關系列表,檢查是否已成功創建所有關系。
-
創建一個新的數據透視表;
-
將“用戶明細”表中的“省份”字段拖拉到【行標簽】;將“訂購明細表”中的“用戶ID”字段拉到【值】區域進行計數;
-
對數據透視表中的“用戶ID”字段進行降序排列。
通過數據透視表得到的分析結果,我們就可以清晰地了解購買用戶地域分布情況,購買用戶最多的三個身份是“上海”、“北京”、“廣東”。后續可在此基礎上,結合各省目標用戶數分布,進行覆蓋率的分析,還可以采用矩陣關聯分析法,找出目標用戶數多但覆蓋率低的省份,對此制定出下一步的運營計划。
七、字段計算分析
1. 簡單計算
簡單計算與Excel類似,比如計算“訂單金額 = 單價 * 數量”,操作步驟如下:
-
在PowerPivot窗口中,選擇“訂購明細表”;
-
在【設計】選項卡【列】組中單擊【添加】按鈕;或直接單擊“訂購明細表”最后一列【添加列】;
-
輸入“=”,單擊“數量”列的任意單元格或整列,再輸入“”,單擊“單價(元)”列的任意單元格或整列。整個公式為:“=‘訂購明細’[單價(元)]‘訂購明細’[數量]”;
-
按【Enter】鍵,此時系統將計算結果默認生成一列,列名為“計算列1”,可鼠標右擊“計算列1”,並選擇【重命名列】以修改列明,輸入"訂單金額",重命名列名。
需要注意的是,PowerPivot的公司與Excel非常類似,但不能為表中的不同行創建不同公式,PowerPivot的公式是應用於整列中的。
簡單計算中的一些常用場景如下表所示:
2. 函數計算
現在我們需要了解現有用戶是在哪個月注冊(Who)的,以了解現有用戶的構成情況,而在“用戶明細表”只有用戶注冊日期,我們需要使用相應的日期函數計算得到用戶注冊的月份數。
-
在Excel中,MONTH的語法為:MONTH(serial_number),其中serial_number是要查找的那個月的日期;
-
在PowerPivot中,MONTH的語法是:MONTH(<date>),其中date是提供對包含日期的列的應用或者通過使用返回日期的表達式。
操作步驟如下:
-
在PowerPivot窗口中,選擇“用戶明細表”;
-
在設計選項卡【列】組中單擊【添加】按鈕;或直接單擊“用戶明細”表最后一列“添加列”;
-
直接點擊函數按鈕fx。由於MONTH函數是日期和時間函數,因此彈出的【插入函數】對話框上的【選擇類別】下拉列表中選擇“日期和時間”,可進一步縮小范圍。 與EXCEL類似,對於熟悉的函數,也可以直接輸入等號然后輸入公式。
-
選擇MONTH函數,單擊【確定】按鈕。或直接輸入函數名,公式欄將更新以顯示該函數和左括號;
-
單擊“注冊日期”這一列的任一單元格或這一整列,即公式為“=MONTH(‘用戶明細’[注冊日期]”。這里需要注意:它不像Excel函數那樣會自動添加右括號,需要我們自行輸入。
-
單擊右鍵選擇【重命名列】,輸入名稱“注冊月份”。
Excel也能完成類似的操作,要是100多萬行的數據,PowerPivot還是能夠快速的實現。
解決我們剛剛提出的WHO的問題,即用戶注冊分布情況:使用數據透視表。 補充一個知識點:
-
我們剛才做的那些操作都是基於PowerPivot工作簿中的現有數據計算的,我們叫做“計算列”;
-
而度量值是為使用PowerPivot數據的數據透視表(或)數據透視圖而專門創建的公式。度量值用於數據透視表的【值】區域中。若是創建度量值,則需要使用標准聚合函數:MIN、MAX、COUNTA、SUM或AVERAGE,【度量值設置】對話框中的度量值就是使用標准聚合函數進行匯總計算的,這與Excel中數據透視表的【按值匯總】的部分功能相似。
八、數據分組分析
常用的數據分組方式主要包括數值分組與日期/時間分組兩種。
1. 數值分組
在Excel中,數值分組可以用IF函數或VLOOKUP函數;日期/時間分組可以用日期/時間函數。此外,還可以通過直接在數據透視表創建組的方式來實現。不過在PowerPivot中數值分組不能通過數據透視表創建組來實現。
=IF('用戶明細'[年齡]<=20,"20歲及以下",IF('用戶明細'[年齡]<=30,"21-30歲",IF('用戶明細'[年齡]<=40,"31-40歲","40歲以上")))
2. 日期/時間分組
可以使用FORMAT函數,可對文本、數值、日期/時間等類型數據按指定格式要求進行格式化。這個函數在PowerPivot也可以用,我們采用FORMAT函數對日期進行分組,以便了解用戶的注冊月份分布(WHO)。 接着用數據透視表進行處理。