隨筆 - 225  文章 - 98  trackbacks - 0
          <2014年12月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          隨筆分類

          相冊

          報表工具廠商們

          搜索

          •  

          最新評論

          閱讀排行榜

          FineReport中圖表排序主要分為單系列(分類)圖表排序多系列分類圖表排序兩種,圖表排序的實現和數據類排序的原理類似,以圖表所代表的的數據大小為根本依據,在此基礎上延展開來一系列的排序標準。以下主要是實現這兩類圖表特效的制作方法:

          單系列(分類)圖表排序

          單系列(分類)圖表排序適用于使用圖表時,圖表能夠根據數據的大小進行顯示。單系列(分類)圖表排序則制作以柱形圖為例,希望所有柱子能夠根據數據的大小從高到低或者從低到高進行排序,如下圖所示,此時要如何實現呢?
          單系列(分類)圖表排序
          單系列圖表排序效果實現思路
          圖表的默認是根據系列進行排序顯示的。

          若圖表數據源是來自單個數據集,那么可以直接使用數據集中的排序進行排序,然后設置圖表數據源為數據集數據;若圖表數據源是通過單元格計算出來的,則可以使用擴展后排序進行排序,然后設置圖表數據源為單元格數據即可。
          單系列圖表排序詳細步驟

          下面我們以一個簡單的示例分別介紹下如何實現上圖效果。

          1、圖表數據源為數據集數據

          打開模板:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\Chart\Logchart.cpt

          修改數據集

          將原來的數據集修改為按照成本價進行降序排序,則SQL語句為:SELECT * FROM [產品] where 類別ID= 1 order by 成本價 desc

          效果查看

          點擊分頁預覽,可以看到柱子從高到低進行降序排序了,如上效果圖。

          2、 圖表數據源為單元格數據

          打開模板

          打開模板:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\Chart\Logchart.cpt。

          修改模板

          按照下圖將對應的數據列拖入到單元格中
          單系列圖表排序

          排序設置

          右擊A2單元格,選擇擴展屬性,在單元格屬性面板中設置擴展后排序為降序,并在公式中輸入B2。

          數據集設置

          按照下圖設置數據集:
          單系列圖表排序

          隱藏單元格

          將單元格中的數據隱藏起來,選中第一行和第二行,右擊,選擇隱藏行即可。

          效果查看

          點擊分頁預覽,可以看到柱子從高到低進行降序排序了。其他的圖表類型,如條形圖和餅圖,做類似設置可達到同樣的圖表排序。

          多系列分類圖表排序

          如下圖,數據庫中有一張表,每個分類下面的系列均已經按照特定的順序(系列匯總,即各個系列的流量總和降序排列)排列好,并且有些分類下的數據缺省。
          多系列分類圖表排序

          用上述表中數據制作一個數據集數據源柱形圖,如下圖,會看到圖例的排序與數據庫中數據不一致,數據庫中每個分類下的系列排序是一樣的(缺省系列不參與排序),而圖表中圖例順序卻是按照從數據庫中讀取系列(port)字段的順序排序的,如果第一個分類下的系列名稱不缺省,那么圖表圖例順序會顯示正常(直接從第一個讀到最后一個,顯示完全),如果第一個分類下面的系列數據有缺省,所以圖例排序會先顯示該分類下有的系列,缺省的系列會顯示在后面,就會打亂原來的順序:
          多系列分類圖表排序

          那么該如何實現,在系列缺省的狀況下還保持圖表圖例順序與數據庫中順序一致呢?
          多系列分類圖表排序實現思路

          使用單元格作為圖表的數據源,在單元格中將數據重新排序,即形成一個交叉報表,橫向和縱向表頭分別是分類和系列,缺省的地方會自動顯示為空,然后將系列重新排序即可。
          實現示例

          1 、單元格數據
          如下圖,將數據列拖曳至單元格中,形成交叉報表,并計算每個系列下的匯總流量值。要手動設置C15,也就是sum函數所在單元格的左父格,設為A15。
          多系列分類圖表排序

          2、 單元格重新排序

          選中圖表系列所在單元格,也就是A15,在單元格屬性表-擴展屬性>擴展后中,選擇降序排序,公式為=C15,如下圖:
          多系列分類圖表排序

          點擊分頁預覽,會發現交叉表中系列名稱又重新弄排好序了,如下圖:
          多系列分類圖表排序

          3、圖表數據源

          單元格數據制作好了,下面將單元格數據與圖表進行綁定,也就是重新添加圖表數據源,選中圖表,在圖表屬性表-數據一欄中,數據來源選擇單元格數據源。

          點擊分頁預覽,即可看到多系列分類圖表排序效果。

          原文轉載自:FineReport官網:http://www.finereport.com/knowledge/chart/chartorder.html



          了解Java報表工具就從這里開始
          posted on 2014-12-11 15:52 season 閱讀(289) 評論(0)  編輯  收藏 所屬分類: Java報表—技術知識
          主站蜘蛛池模板: 米脂县| 苍山县| 确山县| 五台县| 镇原县| 吉安市| 邢台县| 周口市| 张掖市| 哈尔滨市| 分宜县| 西城区| 乌鲁木齐市| 荥经县| 洛南县| 民勤县| 松潘县| 阳信县| 乌拉特前旗| 泸定县| 仁布县| 禄丰县| 五莲县| 平谷区| 子洲县| 长汀县| 克什克腾旗| 青龙| 汨罗市| 时尚| 黄梅县| 大连市| 光山县| 嘉义市| 郓城县| 静宁县| 左云县| 庄河市| 金寨县| 湘潭县| 读书|