我看BI在中國
2002年,當時我正在一家報表公司工作,爲中國大江南北的客戶做報表和數據分析。一個偶然的機會,我接觸到了BI,準確的講應該是OLAP(來自SQL Server 2000),我被OLAP強大的分析功能所折服,那種隨心所欲的拖拽,快速的鑽取將我當時所做的報表分析打擊的一無是處。我看到了我的方向,也看到了中國數據分析的方向,從此我便與BI有了不解之緣。
準確的講,很長一段時間我使用的都是OLAP,現在總結起來,BI不僅僅包括OLAP,還包括報表和數據挖掘,不同的部分提供不同的功能。
在我接觸到OLAP之後,我就認定了一件事情:OLAP會取代報表。我甚至懷疑SQL Server Reporting Services存在的意義。
我也的確這樣做了,不久以後,我就進入了一家專業從事微軟BI解決方案的公司。我開始向我的客戶推薦OLAP(即SQL Server Analysis Services + ProClarity),我希望用OLAP來解決他們目前所有的報表問題並提供更加豐富的數據分析的方式方法。
客戶看到我的演示,他們是驚訝的,就像我當年第一次見到OLAP的時候,他們沒有想到數據分析會變成這樣,會如此的靈活和隨意。看到他們的驚訝,我知道他們和我一樣,喜歡上了OLAP,我想要的效果達到了。
接下來順理成章的就是進行項目實施了,我先說出項目實施的結果:失敗了。
爲什麼?我也無數次的這樣問自己。
不過,現在回頭來看當時的項目,失敗是必然的。當客戶看到OLAP的時候,他們非常欣賞這樣的分析方法。然而在我們進行項目實施的時候卻發現,這種新的方法只是客戶工作中的附加品,我們最重要的是完成他們現在所有的報表工作。
於是我們就開始在OLAP系統中去做客戶已經制定好的報表,但我們卻發現,客戶的報表總會或多或少的有一些不規則的地方,例如突然在表格中多出了一個小計,或者有這樣或那樣的特殊的表格線。而這些不規則的地方在OLAP系統中幾乎都無法實現,因爲爲了實現鑽取,OLAP的表格必須是規則的。
矛盾就這樣產生了
我們無法理解客戶爲什麼一定要求那些特殊的表格線而不看重那些優秀的分析功能,客戶則無法理解爲什麼我們的軟件連幾條表格線都加不上去,因爲這些表格線對他們來講太平常不過了,他們以前都是在Excel表中把它們畫出來的。
同時,我們也用OLAP系統做出了客戶的一部分報表,但我們卻發現,在實際使用過程中,客戶從來沒有在我們的OLAP報表上進行過鑽取,而只是把它當作一個簡單的報表來看。也就是說OLAP的優勢客戶從來沒有使用過,而弊端卻完成體現出來了。
最後,因爲我們的軟件無法滿足客戶的全部需求,項目失敗了。我也迷茫了。
失敗勢必引發思考
OLAP真的是報表的替代品嗎?我重新開始思考這個問題,也開始真正接觸Reporting Services,我驚奇的發現,客戶那些非常規的需求在Reporting Services中奇蹟般的都被解決了。至此,我終於明白:OLAP並不是報表的替代品,OLAP與報表需要相輔相成,來解決客戶不同的需求。
客戶真的需要OLAP嗎?OLAP在國外已經很多年了,已不是什麼新鮮事物了。爲什麼在國內使用起來卻如此艱難。這不由的讓我想起了餘世維講過的一段話:“中國在硬件方面用10年的時間追上了和美國落後50年的距離,而軟件方面我們依舊落後美國40年”。這裏的“硬件”是指所有可以用金錢買到的東西(包括我們平時所指的軟件),而“軟件”則是指人的思想。當SQL Server 2005發佈之後,我們就可以使用了,因爲我們可以從微軟買到這個產品,然而我們客戶的思想和美國人的思想一樣嗎?他們的思想能夠接受這樣的產品嗎?這需要我們去思考。
有了前面的失敗,我們調整了思路,開始設計符合中國特色的BI解決方案。我們的項目也開始成功。
接下來,我來介紹一下我們具有中國特色的BI解決方案的幾個特徵:
1. ETL
ETL是以前我們所不太在意的部分,然而,實際當中,ETL已佔用了我們70%的工作量。國內客戶的源數據各式各樣,甚至會有很多Excel文檔和紙質的報表,這些源數據並沒有嚴格的業務規則來限制它們,所以數據的準確性存在很大的隱患。並且很多隱患是客戶也不瞭解的,往往只有在最後報表中才能發現數據存在問題。這些問題只能通過調整ETL來解決。ETL的調整是往復的,一般都要經過幾十次的變動,而每一次對錯誤數據的追根求源卻變得極其困難。所以,我們將花大量的時間來建立嚴格的源數據的業務規則。
2. 動態報表
前面講到,客戶對OLAP很感興趣,但在實際的工作中卻極少使用它,那麼,客戶究竟需要的是什麼?傳統的報表客戶基本已經實現了,我認爲,他們需要一套新型的報表系統,這種報表系統將介於OLAP與傳統報表之間,兼顧兩者的優勢,即可以實現傳統報表的格式要求,也會有OLAP的一部分的靈活性,這就是動態報表。
目前Reporting Services正可以完成這種報表,我們還通過二次開發,給Reporting Services增加了更多的可操作功能,使客戶在同一張報表內可以看到更多的信息。
我們在前端展示方面,90%以上的工作是製作報表,而OLAP功能只佔了很少的份額。我們還是希望將這種功能推薦給我們的客戶,一方面這樣更容易拿下項目,另外一方面,我們也希望通過OLAP產品來推動客戶思維的提升,我們相信,不久的將來客戶一定會接受這種全新的分析方式。
3. 漂亮的外觀
曾經我不認爲漂亮的外觀是重要的,因爲我覺得在數據分析中數據是最重要的,然而我的客戶並不這樣認爲。在實際的項目中,漂亮的外觀變得尤爲重要,所以我們經常要引用一些第三方的控件,來增強整個系統的美觀性。
現在可以毫不猶豫的說,漂亮的外觀已經變成我們拿下客戶的一個殺手鐗。
4. B/S與C/S相結合
目前所有的系統都流行使用B/S架構,而我們卻在系統中將B/S與C/S相結合,客戶中的大部分使用者會使用B/S架構,而關鍵的決策者(一般是領導)卻使用C/S架構,因爲C/S可以提供更強大的功能,更多的嚮導,更漂亮的外觀,甚至是更傻瓜,但這正是領導所喜歡的。
現在我們所有的項目都很順利,回過頭來看,BI在中國的應用尚淺,前面的路還很長。但我相信BI的方向是正確的,我們需要等待客戶思想的提升,這對我們來說也是一個機會。