FacebookTwitterLineHatena

報表插件

企業在選擇報表插件時,往往忽略一個很關鍵的問題,就是不重視報表與數據之間的關係。

出現這種情況也很正常,我們最早接觸的報表插件,可能就是MS Access裡面帶的報表插件,以及VB裡面捆綁的crystal report(水晶報表)。這些工具最典型的方法,就是,選擇資料庫,選擇數據集,選擇欄位,選擇條件,選擇排序,然後把欄位向上擺。

不光是Crystal Report(水晶報表)是這樣,很多常見的報表插件,不論是國外的"高端"產品,還是現在在百度中一搜"報表插件"能見到的一大堆國內報表產品,基本上也都是這種方式。

這種方式不能說沒有道理,它的理論是:

1、一張報表中的數據,基本上是有關係的,因此可以利用關係型資料庫的特性,建立一個視圖所需要的數據都包括進來。

2、可以用子報表的方法,將不同的數據分別處理。

然而,並不是這樣簡單!

首先,如果表複雜一點,建立一個複雜的視圖絕不是一個很輕鬆的工作,更不用說除了建立視圖的效率,還要考慮資料庫與報表的運行效率。

其次,子報表與主報表之間,既有可能在格式上有麻煩(比如表格的對齊),也有可能在計算上有困難(主子報表之間往往只傳遞參數,無法直接引用數據進行公式計算)

因此,對報表插件而言,最根本的問題就是如何處理數據,以不同的方法處理數據,開發效率,運行效率可能都會相差十倍以上。而只有數據模型的改良,才是真正關乎報表插件效率的革命。這方面做得不錯的報表工具像是 FineReport,其最根本的優勢也在於改進的數據模型與報表模型。

建議大家在選擇報表插件時,一定要重視如何提取數據,這直接關係到未來的開發成本,以及生成的報表的可用性(會不會運行半天才能出來一張)。報表的開發成本,不僅僅在於畫線、擺位置,更在於把數據表現出來。

喜歡這篇文章嗎?歡迎分享按讚,給予我們支持和鼓勵!

熱門文章推薦

立即試用,可獲取更多 報表範本和案例

免費試用