<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java軟件報表軟件技術(shù)博客

    java報表軟件技術(shù)匯總 java報表軟件制作 報表軟件新聞
    posts - 355, comments - 100, trackbacks - 0, articles - 3
       :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理

    1. 問題描述

    完成報表取數(shù)后,設(shè)計器會對數(shù)據(jù)庫返回的數(shù)據(jù)進行擴展、分組、列表、匯總等運算,好的模板制作習慣往往可以優(yōu)化報表的計算時間。

    以下示例報表開發(fā)工具:FineReport。

    2. 解決方案

    2.1 空白單元格應(yīng)用

    報表中,只要一個單元格里有設(shè)置就會占用一份內(nèi)存,而空白的單元格幾乎是不占任何內(nèi)存的。報表中由于布局的需要,不可避免地會出現(xiàn)一些只起到占位作用而無需其他的設(shè)置的單元格;盡量將這些單元格設(shè)成空白單元格,這樣能夠有效的減少內(nèi)存的占用,加快報表的運算速度。

    2.2 慎用隱藏行列

    報表中為了進行一些復(fù)雜的運算,往往需用到隱藏行列來處理中間的運算,而這些隱藏行列中被用到的單元格,往往只有一兩個格子,此時被隱藏行列中沒被用到的單元格里有設(shè)置的話會額外浪費內(nèi)存,因此建議把沒用的單元格設(shè)為空白單元格,減少內(nèi)存的占用,加快報表的運算速度。

    2.3 慎用合并單元格

    報表中,常常會用到合并單元格,合并單元格的所有屬性都是保存在左上角的格子中的,而合并區(qū)域中的其他被合并的單元格,并不保存任何屬性也不占用內(nèi)存。

    雖然合并單元格的應(yīng)用能夠減少內(nèi)存,不過因合并單元格的運算涉及到多個單元間的主被動關(guān)系,所以運算比較復(fù)雜,反而會降低運算速度。因此,我們建議慎用合并單元格,盡量將沒用的單元格設(shè)成空白單元格。

    2.4 相同效果的條件屬性

    同一行(列)中的單元格需要設(shè)置相同效果的條件屬性時,只需在該行(列)中的某個單元格設(shè)置一下條件屬性便可,這樣能夠加快報表的運算速度。如下圖,需要隱藏某行時只需要在一個單元格中設(shè)置條件屬性即可,不要每個單元格都設(shè)置。

    2.5 相同效果的數(shù)據(jù)列基本屬性設(shè)置

    報表制作過程中,我們將數(shù)據(jù)集中的字段拖入單元格時,數(shù)據(jù)列>基本>數(shù)據(jù)設(shè)置,(分組、列表、匯總)中計算最快的是列表。如制作明細表時有兩種設(shè)置方法,結(jié)果是一樣的。 設(shè)置方式一:地區(qū)列數(shù)據(jù)設(shè)置為列表,后面其他跟隨其擴展的數(shù)據(jù)列的數(shù)據(jù)設(shè)置還是采用默認的設(shè)置(即分組普通)。

    設(shè)置方式二:地區(qū)列數(shù)據(jù)設(shè)置為列表,后面其他跟隨其擴展的數(shù)據(jù)列的數(shù)據(jù)設(shè)置也修改為列表。

    上面兩種設(shè)計方式的數(shù)據(jù)展示結(jié)果是一樣的,不過報表的計算速度卻不一樣;第二種方式的報表計算速度明顯會比第一種快。

    這是因為數(shù)據(jù)列設(shè)為分組時,報表會將取出的數(shù)據(jù)進行一次分組聚集的計算,而不管數(shù)據(jù)有沒有重復(fù)。因此,對于可實現(xiàn)相同效果的應(yīng)優(yōu)先設(shè)置其數(shù)據(jù)列屬性為列表。

    2.6 父格設(shè)置

    FR中設(shè)計報表的最重要的思想,就是數(shù)據(jù)列的擴展,而跟隨哪一個單元格擴展是必須要注意的問題。所以父格的設(shè)置是很重要的,父格設(shè)置不恰當會影響報表的計算速度,甚至導(dǎo)致結(jié)果錯誤。另外,父子格層次樹高度,對報表性能也有影響,所以盡量減少父子格層次樹高度。如對下圖模板:

    注:將所有單元格的數(shù)據(jù)顯示方式設(shè)置為列表顯示。

    設(shè)置方式一:銷量父格為產(chǎn)品名稱,產(chǎn)品名稱父格為產(chǎn)品類型,產(chǎn)品類型父格為銷售員、銷售員父格為地區(qū),父子格層次樹為4層。

    設(shè)置方式二:銷量、產(chǎn)品名稱、產(chǎn)品類型、銷售員的父格都為地區(qū),父子格層次為1層。

    上面兩種設(shè)計方式的數(shù)據(jù)展示結(jié)果是一樣的,不過報表的計算速度卻不一樣;第二種方式的報表計算速度明顯會比第一種快。

    2.7 取消自動調(diào)整行高或列寬

    若已設(shè)置自動調(diào)整列寬的話,那么在報表展示前會先去計算單元格中數(shù)據(jù)的寬度或高度,這樣就增加了報表的運算時間,所以盡量取消自動調(diào)整行高或列寬。

    2.8 優(yōu)化過濾條件

    查看模板中是否重復(fù)設(shè)置了過濾條件,刪除多余的過濾條件,即若數(shù)據(jù)列來自相同的數(shù)據(jù)集,只需在最左父格設(shè)置過濾條件并勾選將父格子作為過濾條件(默認是勾選的)即可。




    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 三年片在线观看免费观看大全中国| 香蕉大伊亚洲人在线观看| 永久免费精品影视网站| 国产aa免费视频| 国产成人亚洲精品91专区高清 | 日本免费一区二区在线观看| 亚洲欧洲国产日韩精品| 日本免费中文字幕| 亚洲国产精品久久久久网站| 91热久久免费精品99| 亚洲冬月枫中文字幕在线看| 中文字幕免费观看| 亚洲性色AV日韩在线观看| 国产精品无码素人福利免费| 国产精品亚洲专区一区| 亚洲一区精品伊人久久伊人| 久久精品国产影库免费看| 久久夜色精品国产噜噜噜亚洲AV| 国产免费女女脚奴视频网| 亚洲综合色丁香婷婷六月图片| 国产片免费福利片永久| 国产三级在线免费观看| 亚洲va在线va天堂va不卡下载| 9420免费高清在线视频| 亚洲国产精品无码第一区二区三区| 又大又黄又粗又爽的免费视频 | 久久精品亚洲乱码伦伦中文| 免费看无码特级毛片| 亚洲黄页网在线观看| 亚洲乱码中文字幕手机在线| 中文无码成人免费视频在线观看| 亚洲精品福利网泷泽萝拉| 波多野结衣久久高清免费| 岛国岛国免费V片在线观看| 亚洲专区先锋影音| 国产免费AV片无码永久免费| 精品国产污污免费网站| 亚洲精品无码成人片久久不卡 | 久久久久亚洲av成人无码电影| 午夜老司机永久免费看片| 亚洲狠狠婷婷综合久久蜜芽|