⑴ 如何在BI系統中對同一數據進行多維度分析
橫看成嶺側成峰。我們在看待事物的時候,如果從不同角度看,往往會得出不同的結果。在對業務數據進行分析時,也會有這種現象。如現在對某個區域的銷售數據進行分析。如果以年銷售額來分析的話,也許可以發現每年的銷售收入都在成比例增長。這是一個不錯的結果。但是如果從客戶的角度出發進行分析,管理員可能會發現一些老客戶的銷售額在逐漸降低。 銷售收入的增長都是靠新客戶來拉動的。這個結果就不怎麼如人意。老客戶的丟失,在很大程度上說明企業的客戶滿意度不是很高,或者說客戶的回頭率不理想。從這個案例中可以看出,在對BI數據進行分析時,要從多個緯度對同一數據進行分析。這是管理上的需要。在這篇文章中,讀者就如何做好這方面的工作談談自己的意見。 一、用戶可以根據自己的需要添加合適的緯度 由於企業個性的考慮,在做BI系統開發時,設計人員很難考慮到企業所需要的分析緯度。這就好像穿衣服,除非你的身材特別的標准,否則的話買衣服時很難買到十分合身的衣服。要麼不是這邊大了,就是那邊少了。所以在BI系統設計時,最好能夠讓用戶根據自己的需要來選擇合適的分析唯獨。 如對於銷售收入這個表格,企業就可以根據自身的需要設計不同的指標。如為了便於考核各個區域的銷售經理,就可以以區域為分析緯度,對數據進行匯總分析。再如,為了能夠了解企業銷售收入的增長情況,則可以以年或者月為分析緯度進行分析。或者說,管理員還想要知道特定客戶的銷售增長情況,則可以以客戶為唯獨進行匯總分析等等。可見不同的企業有不同的需求。 為此這個數據分析的緯度,設計開發人員很難在系統中定死。筆者的建議時,在系統中可以開發這個自定義的功能。讓用戶根據自己的需要進行選擇。 簡單的說,緯度就是基礎數據表格中的欄位。從技術層面講,就是一個集合的運算分析過程。所以從技術上來講並沒有多少的難度。現在的問題主要是,BI系統要有足夠多的靈活性。能夠讓BI用戶根據自身的需要來選擇合適的緯度來進行分析。 二、多維度分析時所採用的數據應該一致 在對數據進行多維度分析時,為了提高分析結果的准確性,最好其採用的數據是相同的。如上面提到的這個銷售收入的案例,需要分別從客戶、區域、年份等緯度對數據進行分析,此時採用的後台數據應該是相同的。否則的話,分析的結果就沒有相比對比的基礎。 如現在企業的銷售大致可以分為正常銷售和促銷兩種方式。在以年度或者區域為緯度分析銷售收入的增長情況時,採用的是所有的銷售數據。即包括正常的交易,也包括促銷的交易。那麼在以客戶為緯度進行數據分析時,如果需要進行橫向的對比,那麼採用的數據也應包含正常銷售和促銷兩部分數據。而不應該只包含一部分內容。 只有如此,才能夠正確的反應出銷售收入的增長到底是老客戶帶動的、還是增加新客戶的因素促成的。說句題外話,根據筆者的了解,一個企業的決策者更加關注的是老客戶的保持率。如果老客戶的流失率比較高,那麼就說明企業的產品對客戶沒有吸引力。客戶跟企業合作一段時間後,就因為種種原因不想再跟企業做交易了。如此下去,這個企業倒閉是遲早的事情。所以在進行多維度分析時,如果需要進行不同緯度之間的對比,那麼需要注意的是所採用的數據應該一致。 當然,如果只是同一緯度的縱向對比,則用戶可以根據自己的需要對數據進行過濾。如現在用戶需要了解的是,某一些客戶其銷售收入的變動情況。 此時用戶就可以選擇自己所感興趣的客戶的數據,然後以年度為緯度對數據進行匯總分析。其實此時其後台採用的仍然是同一個數據源。此時在分析匯總時採用了不同的查詢條件而已。 總之,從不同的角度來考慮數據的時候,其基礎就是同一數據源。橫看成嶺側成峰的典故,其採用的也是相同的對象。如果失去這一前提,那麼最後比較的意義也就不存在了。這也是筆者為什麼這么強調這個原則的原因。在實施BI系統時,實施顧問一定要向客戶強調這個內容。否則的話,就會引起用戶的誤解。 三、對於一些特殊事項的考慮 在對數據進行多緯度分析時,還需要考慮一些比較特殊的事項。具體的來說,主要是如下幾個方面的內容。 一是分析的緯度是空值時該如何處理?如現在需要根據區域來進行匯總分析。可是在銷售原始數據時,有一些紀錄沒有反應區域相關的信息。那麼此時在對數據進行匯總分析時,對於這些緯度為空的值該如何進行考慮呢? 根據筆者的了解,不同的BI系統在這方面有不同的考慮。如上圖所示,有些BI系統會在設置窗口中,讓用戶選擇是否將空的值考慮進去。如果不考慮的是,則在數據匯總分析時會加入一個過濾條件,將空值的記錄過濾掉。如果考慮的話,則會虛擬一個「其他」或者類似的緯度來匯總這些空值的記錄。還有一些系統則拒絕採用含有空值的數據作為緯度。 如用戶在自定義添加緯度或者在數據查詢時,會先去判斷用戶所指定的緯度欄位是否含有空值。如果含有空值的話,則系統就會報錯,或者根本不允許用戶指定這個欄位作為數據分析的緯度。筆者認為這兩種方法都是可行的。主要就是讓用戶知道有這么一回事。在數據分析時,需要考慮到空值對分析結果的影響。 二是數據結果的顯示。在數據分析時,即可以在同一個結果中採用多個緯度。如現在用戶需要知道每個客戶不同年份的銷售情況。此時採用的就是客戶與年份兩個緯度信息。此時主要需要注意的是緯度之間的順序關系。即年份在前還是客戶在前。這個順序關系,雖然對最後的結果沒有本質的影響,但是其前台的顯示內容就有本質的變化。 在同一個顯示圖例中利用多個緯度時,其關鍵就是這個順序的設計。在實際工作中,如果用戶不知道該採用什麼順序時,筆者的絕招是根據不同的順序像用戶各自展示一遍。讓客戶看到最終的結果之後,再來進行選擇。為了顯示結果的一致性,一般情況下不建議用戶可以在一個圖例中自由調整緯度的順序。也就是說,圖例設計好之後,可以添加或者刪除緯度,但是已有緯度的順序一般不可以進行更改。否則的話,可能會引起用戶感知的混亂。如果一定要進行更改,那麼最好考慮採用不同的圖例。 如現在需要有兩個需要。用戶即要知道每個客戶每一年的銷售增長情況。也需要知道每個客戶每一年具體產品的購買記錄。這兩個需求雖然採用的基礎數據相同,採用的緯度也類似,只是第二個需求多了一個緯度而已。但是顯示的結果會有很大的不同。第一個需求的匯總度更加的高。 在實際工作中,筆者是建議將其放置在兩個不同的圖例中顯示。因為從用戶的角度看,這么設計更加的方便與他們的使用 。 橫看成嶺側成峰。在BI系統的開發與部署中,這個觀念無論是實施顧問還是企業用戶,都要樹立起來。在分析相關業務數據時,不能夠片面的看。而需要養成多個角度看問題的習慣。