FineReport數據集

數據集是指從數據庫中將數據取出來,可直接應用於模板設計的數據展現集合。

數據集按照其使用範圍可以分爲服務器數據集模板數據集兩種。


1.1  模板數據集

只適用於單張模板的數據集,具體類型同服務器數據集相同。

1.2  服務器數據集

適用於整個服務器上所有報表的數據集,其類型分爲:數據庫查詢內置數據集文件數據集SAP數據集存儲過程多維數據庫關聯數據集以及樹數據集

1.2.1  數據庫查詢

SQL查詢是指從定義好的數據庫連接中,也就是數據源中使用SQL語句來選擇我們所需要的數據字段,一般是直接對數據源中的數據庫表直接進行操作。在設計器中我們把數據源分爲兩種,一種是服務器數據集,一種是模板數據集,兩者被引用的範圍不一樣,下面我們以模板數據集爲例進行說明。

下面介紹整個數據集界面的一些基本屬性:

類型

對於查詢類型,FineReport既支持普通的SQL查詢,也支持存儲過程,並且這兩種類型的查詢語句中都可以包含參數。 注意: SQL查詢和存儲過程,通過JDBC,最終都是由數據庫軟件來解析執行,並將結果返回給FineReport來顯示的,所以查詢執行的速度和性能完全由對應的數據庫軟件來決定。

嚮導

FineReport提供了簡單的嚮導來幫助用戶創建簡單的SQL查詢和存儲過程。 注意:由於SQL語言比較複雜,FineReport提供的嚮導只能定義常用的簡單SQL查詢(不支持分組,子查詢等等);存儲過程的嚮導基本可以滿足要求,它能夠列出所連接數據庫中所有的存儲過程,並根據所選擇存儲過程的名字,自動獲得存儲過程的參數來產生可以執行的存儲過程語句。 

查詢編輯器

當嚮導產生的查詢不能完全滿足要求的時候,可以通過我們提供的文本編輯器來編輯任意複雜的查詢語句(利用嚮導產生的存儲過程,一般不需要再次編輯)。

參數

FineReport可以完美地支持參數查詢,在定義查詢語句的時候,你只需要用特殊字符串"${XXX}"(參數值爲數值型,爲${參數},否則爲'${XXX}'),將參數名字前後包含起來,點擊下面的刷新按鈕,可以給參數賦默認值,這樣當報表引擎執行這個SQL語句的時候,在C/S系統會彈出一個對話框來要求用戶輸入對應參數的數值,並且會自動顯示默認值,在B/S系統會遍歷客戶端(通常是瀏覽器)傳遞過來的所有參數數值;然後FineReport利用這些參數的數值來替換查詢中對應的字符串“${XXX}”,將替換過的查詢語句提交給數據庫解析和執行。 比如: 1.用戶輸入的查詢語句爲: “select * from Customers where ID = ${ID}”; 2.從客戶端動態取到的ID數值爲: 1; 3.根據參數值產生新的查詢語句:“select * from Customers where ID = 1”,利用JDBC,將這個新產生的查詢語句傳遞給相應的數據庫解析和執行。

最大預覽數

這裏爲了加快預覽的速度,才設置了預覽的最大行數(默認值是200),這個數值只有在點擊(預覽)按鈕的時候才起作用,不會錯誤地作用到引用這個查詢的報表模板文件中。

視圖查詢 :同SQL查詢

模糊查詢:在表下方有一塊空白搜索框,它們用作模糊查詢。例如想要搜索客戶相關的表,在搜索框中填入客戶二字,會進行自動搜索進行模糊匹配

參考鏈接:https://help.finereport.com/doc-view-107.html

注1:FR數據庫查詢只支持一條自然SQL語句的查詢,不支持多個自然SQL,比如SELECT * FROM A SELECT * FROM B

注2:create、drop等新建表、刪除表不在官方支持範圍內,官方只支持select

1.2.2  內置數據集

內置數據集可分爲服務器內置數據集和報表內置數據集。下面我們以模板的內置數據集來講解。模板內置數據集,是指在模板數據集中新建一個類似數據庫表的原表,可作爲模板的數據源來設計報表。

作用:內置數據集可以實現在沒有數據庫的機器上分頁預覽模板。如在某一臺機器上使用數據庫查詢製作了一個模板,將該模板拷貝到另外一臺機器訪問則需要有對應的連接,若沒有此連接就不能訪問該模板。此時可以直接將該模板的數據集定義成內置數據集或者在製作模板的機器上將該模板輸出成內置數據集模板,這樣該模板就可以在任何電腦上訪問了。具體如何將模板導出內置數據集可查看設計器中的導出章節。

注:內置數據集不能自動還原爲模板數據集,所以導出的模板不要覆蓋原模板。

參考鏈接:https://help.finereport.com/doc-view-109.html

1.2.3  文件數據集

文件數據集是指以txt文本文件、Excel文件和XML文件中的數據爲數據集,將這些文件中的數據加載進行,並以二維表的結構展示在數據集當中,以供模板使用。

參考鏈接:https://help.finereport.com/doc-view-1269.html

1.2.4  SAP數據集

在客戶SAP系統集成時,在7.0.4版本之前只能通過程序數據集或者是ETL工具進行取數,實現起來非常麻煩,希望有類似JDBC數據連接的設置方式來設置SAP數據連接。

FineReport在8.0及往後的版本中,將SAP數據連接功能做成一個插件的功能,啓用插件後,可在服務器數據連接處新增數據連接類型SAP數據連接,在數據集中添加SAP數據集類型。

SAP數據鏈接:https://help.finereport.com/doc-view-103.htm

SAP數據集:https://help.finereport.com/doc-view-119.html

1.2.5  存儲過程

就是直接將存儲過程作爲數據集,不需要在數據庫查詢而是去調用存儲過程。FineReport支持全部數據庫的存儲過程作爲數據集並且定義方法都相同。

參考鏈接:https://help.finereport.com/doc-view-117.html

1.2.6  多維數據庫

首先要通過數據連接將多維數據庫與FineReport連接起來,也就是我們前面所說的XMLA數據連接,那麼下面就需要在數據連接的基礎上新建多維數據庫XMLA數據集,用於模板設計。

參考連接:https://help.finereport.com/doc-view-120.html

1.2.7  關聯數據集

參考鏈接:https://help.finereport.com/doc-view-125.html

1.2.7  樹數據集

參考鏈接:https://help.finereport.com/doc-view-126.html

https://help.finereport.com/doc-view-125.html

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章