Posted on 2010-04-03 12:08
FineReport——報表技術領跑者 閱讀(110)
評論(4) 編輯 收藏
對于超大數據量的報表,結果報表格子數也很多的時候,如果報表的運算并不復雜,沒有跨行組的運算,可以采用層式報表的辦法,該辦法可以從根本上加快報表的展現速率,緩解大報表的內存壓力。
原理
由于超大數據量需要消耗大量的時間和內存,所以從執行開始到到執行結束需要等待大量的時間,有時已經無法滿足性能要求。但是,存在這樣一類簡單報表,比如明細列表,它們在服務器執行一段時間后,最前面幾頁的報表執行結果已經確定并且可以得到。雖然這時報表尚未執行結束,已經執行出來的那部分已經可以得到并送交客戶端展現。簡而言之,邊執行邊展現。由于從客戶端輸入請求,到執行出結果最前面一部分所需的執行時間很少,所以通過層式報表,可以大大的加快展現效率,提高用戶體驗。
限制條件
1.數據列的擴展方向從上到下
2.無拉伸單元格
3.無圖注
4.不支持隱藏行/列
5.不支持自動換行/尺寸調整方式
6.不支持行/列后分頁
7.無法計算總頁數
8.沒有內容為公式的單元格, 這意味著利用公式統計的功能丟失, 僅有不需要用到單元格的公式
9.只用來展現,沒有填報
配置方法
選擇菜單:報表|非層式報表,將報表轉化為層式報表

優點
1.運算速度快
2.處理數據量大
缺點
層式報表的各個方向都是從性能的角度考慮的,這表明性能是層式報表的核心要素,而功能其次,必須要滿足一些條件才能使用,這是他的缺點。
總結
如果簡單報表滿足限制條件要求并使用層式報表,可以極大的提高展現速率。對于一個幾萬條數據的報表,用普通的報表引擎執行,可能需要幾分鐘,但是層式報表的第一頁出現在客戶端可能只需要一兩秒鐘。