olap分析平臺的設計與實現(十六)- 上卷、下鑽的實現

基於設置頁面、視點、行維、列維等功能,我們可以實現分析當中用到的旋轉、切片功能。

前面幾小節,說明了如何全表呈現一張分析表單,但那些還是靜態呈現方式。

本節開始側重闡述上卷、下鑽功能、頁面切換的實現。

上卷:

上卷功能實現比較簡單:基本原理爲“數格子”,及找出需要“切”掉的單元格,把剩餘的單元格重新裝配爲一個新的viewGrid.

根據新的viewGrid,show Data.

上個示意圖(以列爲例):

點擊第一季收縮,首先找出受影響的列 E、F、G,根據受影響的列,去掉列頭,接着對行循環,去掉圖中藍色的區域,剩餘的區域就是新的viewGrid.我們可以根據這個新的viewGrid,直接show Data.

下鑽:

以列爲例,5步完成下鑽動作。

  1. 根據當前點位相關的memberId,找到其下級的member,
  2. 依據這些members,動態生成mdx String,
  3. 執行mdx,獲取相應的result.
  4. 根據執行結果result重新生成viewGrid!
  5. 根據這些新的viewGrid,重新showData!

 

未完、待續......

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章