FineReport

最強大的動態報表與BI商業智慧工具!

在Java報表軟體中實現數據過濾

當我們想從大量的數據中找到符合一定條件的數據時,我們就會想到利用報表的數據篩選或數據過濾功能來達到這種效果。例如網格式報表中,我們只想獲得已付訂單的記錄:
圖表警戒線

FineReport中,我們一般使用兩種方式實現報表中數據的篩選與過濾:

方案一:直接通過SQL語句取出滿足條件的的數據,如修改數據集SQL語句為:SELECT * FROM 訂單 where 是否已付 = true。

方案二:通過數據列過濾來解決。

第一種方案通過直接控制數據源來達到數據過濾與篩選的目的,比較簡潔直觀,但是這是對於整張報表數據的整體過濾,若是一張報表中不同部分對數據篩選的要求各不相同,則可以使用第二種方案,更加靈活。

以下是通過數據列過濾來實現報表中數據的篩選與過濾的具體方法:

打開報表

打開報表%FR_HOME%WebReportWEB-INFreportletsdocPrimaryDetailReportDetails_3.cpt

設置數據過濾條件

選中訂單ID數據列單元格,點擊過濾按鈕或者雙擊單元格,選擇過濾標籤,進入過濾設置對話框,設置過濾條件是否已付等於’true’,如下圖:

註:由於單元格的計算順序,過濾條件需要設置在單元格的父格上,如這裡的訂單ID,先取出已付的訂單號,而其子格會自動繼承父格條件,將父格子作為過濾條件。

已完成的模板,可參見%FR_HOME%WebReportWEB-INFreportletsdocPrimaryDetailReportDetails_4.cpt

  • 聯繫我們

  • 電話:0933-790886
  • 邮箱:brian.wang@fanruan.com
  • 地址:300 新竹市學府路40號 (交大育成中心 R302)
  • 臉書粉絲團
Copyright©2017 Fanruan Software Co.,Ltd. All Rights Reserved. 帆軟軟體有限公司 | 蘇ICP備14031611號-8

返回頂部