表格製作軟體FineReport教程:[18]圖表排序?

下面就通過表格製作軟體FineReport來簡單介紹一下。

工具/原料

大小:148.2M 適用平臺:windows/linux

表格製作軟體FineReport7.1.1

單系列(分類)圖表排序

問題描述

在使用圖表時,圖表能夠根據資料的大小進行顯示,以柱形圖為例,希望所有柱子能夠根據資料的大小從高到低或者從低到高進行排序,如下圖所示,此時要如何實現呢?

表格製作軟體FineReport教程:[18]圖表排序

實現思路

圖表的預設是根據系列進行排序顯示的。

若圖表資料來源是來自單個數據集,那麼可以直接使用資料集中的排序進行排序,然後設定圖表資料來源為資料集資料;若圖表資料來源是通過單元格計算出來的,則可以使用擴充套件後排序進行排序,然後設定圖表資料來源為單元格資料即可。

圖表資料來源為資料集資料

開啟模板

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

修改資料集

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

效果檢視

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

圖表資料來源為單元格資料

開啟模板

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

修改模板

按照下圖將對應的資料列拖入到單元格中

表格製作軟體FineReport教程:[18]圖表排序

排序設定

右擊A2單元格,選擇擴充套件屬性,在單元格屬性面板中設定擴充套件後排序為降序,並在公式中輸入B2。

資料集設定

按照下圖設定資料集:

表格製作軟體FineReport教程:[18]圖表排序

隱藏單元格

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

效果檢視

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

多系列分類圖表排序

問題描述

如下圖,資料庫中有一張表,每個分類下面的系列均已經按照特定的順序(系列彙總,即各個系列的流量總和降序排列)排列好,並且有些分類下的資料預設。

表格製作軟體FineReport教程:[18]圖表排序

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

那麼該如何實現,在系列預設的狀況下還保持圖表圖例順序與資料庫中順序一致呢?

表格製作軟體FineReport教程:[18]圖表排序

解決思路

使用單元格作為圖表的資料來源,在單元格中將資料重新排序,即形成一個交叉報表,橫向和縱向表頭分別是分類和系列,預設的地方會自動顯示為空,然後將系列重新排序即可。

單元格資料

如下圖,將資料列拖曳至單元格中,形成交叉報表,並計算每個系列下的彙總流量值:

注:要手動設定C15,也就是sum函式所在單元格的左父格,設為A15。

表格製作軟體FineReport教程:[18]圖表排序

單元格重新排序

選中圖表系列所在單元格,也就是A15,在單元格屬性表-擴充套件屬性>擴充套件後中,選擇降序排序,公式為=C15,如下圖:

表格製作軟體FineReport教程:[18]圖表排序

效果

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

表格製作軟體FineReport教程:[18]圖表排序

圖表資料來源

單元格資料製作好了,下面將單元格資料與圖表進行繫結,也就是重新新增圖表資料來源,選中圖表,在圖表屬性表-資料一欄中,資料來源選擇單元格資料來源,如下圖:

注:如果不想將單元格資料顯示出來,在將其隱藏。

表格製作軟體FineReport教程:[18]圖表排序

效果檢視

點選分頁預覽,效果如下:

表格製作軟體FineReport教程:[18]圖表排序

教程, 軟體, 資料, 表格, 圖表,
相關問題答案