聯系我們 - 廣告服務 - 聯系電話:
您的當前位置: > 關注 > > 正文

第一張報表效果展示圖:FineReport-leanning

來源:CSDN 時間:2023-03-16 07:28:23

FineReport-leanning

第一張報表


【資料圖】

效果展示圖

操作步驟

新建數據連接

新建數據連接的目的是讓 FineReport 設計器連接數據庫,這樣報表就可以在數據庫中讀取、寫入或修改數據。

數據連接的方式有兩種,分別是連接內置數據庫和連接外置數據庫。

新建報表類型

新建數據集

數據集通過 SQL 查詢語句從已經建立連接的數據庫中取數,將數據以二維表的形式保存并顯示在數據集管理面板處。簡單而言數據集是報表設計時的直接數據來源。

數據集按照作用范圍分為兩種:服務器數據集 和 模板數據集。

我們制作的這張普通報表將新建兩個模板數據集 ds1 和 ds2。

報表設計

基本頁面設計

屬性設置

選中 C3 單元格,讓產品字段的數據在表格中橫向擴展,右邊屬性面板選擇

多數據集關聯

當報表中存在不同數據集的數據時,需要通過添加數據過濾條件,建立器不同數據集之家的聯系。

選中并雙擊 D4 單元格,彈出數據列對話框,選擇過濾。給單元格添加一個普通條件,將 ds2 的銷售員字段與 ds1 的銷售員字段進行綁定,實現兩個數據集之間的關聯。

圖表設計

我們要在這張報表中插入柱形圖直觀化的展示各銷售員每個產品的銷售總量。

合并A7-D18單元格,選擇菜單欄插入>單元格元素>插入圖表選擇柱形圖選中圖表,在右邊屬性面板選擇單元格元素>數據,設置柱形圖的數據。

注:分類名、系列名、值在設置的時候必須要有等號,否則單元格會被作為字符串處理。

展示的圖表信息,不需要對圖表所在的單元格進行擴展。,左父格和上父格均設無。

自定義柱形顏色,選中柱形圖,點擊屬性面板單元格元素>特效>條件顯示>添加條件

參數設計

參數的作用在于通過設置參數,可以在參數面板中給參數添加控件,再將控件與報表數據進行綁定,進而實現根據用戶輸入的參數查詢指定的數據。

菜單欄選中模板->模板參數,添加相應的查詢條件信息。點擊編輯按鈕,右上角會顯示沒有使用的控件信息,點擊添加。

選中下拉框控件,在右邊的控件設置面板選擇屬性,點擊數據字典編輯按鈕,類型設置為「數據庫表」,數據庫為「FRDemo」,選擇數據庫表為「銷量」,列名的實際值和顯示值為「地區」。

這樣就給下拉框控件綁定了數據庫銷量表中的地區這個字段,這個字段下有兩個地區信息,分別為華東和華北,用戶可下拉選擇華東或者華北來查詢對應地區下的銷售概況信息。

設置好控件之后,需要對相應的地區單元格,設置條件過濾。

報表設計基礎

單元格擴展

引出:數據集中的字段拖入到單元格后,如果不進行單元格擴展,字段下的數據會在一個單元格中集中展示。

通過單元格擴展功能,可以讓一個字段下的不同數據在多個單元格中展示

Comment

FineReport提供了三種單元格擴展方向。

縱向擴展:單元格中字段的數據縱向擴展,在不同單元格中展示。橫向擴展:單元格中字段的數據橫向擴展,在不同單元格中展示不擴展:單元格中字段的數據不擴展,所有數據在一個單元格中展示。

實例-行式報表

準備數據SELECT * FROM 訂單,取出所有數據。

A1~G1 單元格寫入表格標題信息,選中 A1~G1 單元格,右邊屬性面板選擇單元格屬性>樣式,樣式下拉框選擇預定義樣式,給標題設置一個Head類型的樣式。

選中單元格,進行樣式格式化。

父子格設置

引出:父子格是跟單元格擴展息息相關的概念,單元格的擴展是針對具體的某一個單元格,當報表主體中綁定了多個單元格時,這些單元格在擴展是否存在聯系,

Comment

FineReport 支持兩種類型的父子格設置。

左父格:單元格之間存在縱向擴展的關系時,設置左父格。上父格:單元格之間存在橫向擴展的關系時,設置上父格。

實例-分組報表

因為銷量中對應的分組數據,可以直接在設計器中選中匯總,求和,展示出數據。

效果圖:

實例-自由報表類型

當數據表中包含多個字段,這些字段的數據都要顯示在報表中,如果將所有數據顯示在報表的一行上,看起來會很擁擠。這個時候就可以做成自由報表,提高報表展示的美觀度和可讀性。

自由報表不像網格式報表或者分組報表那樣規則,其特點是數據庫表中的一條記錄不是分布在一行上,而是散放在多行上,記錄分塊或者分頁顯示。

數據準備

新建數據集ds1,數據庫中查詢對話框中寫入sql查詢SELECT * FROM 訂單。

設置報表樣式如下

并且將數據拖入相應的單元格中,格式化數據。

父子格設置

選中訂單ID(B3)周圍的單元格,選擇單元格屬性>擴展,自定義這些單元格的父格為B3,并且縱向擴展。

效果展示:

層次坐標

概念

擴展單元格運算時需要使用層次坐標來表示單元格擴展后的表格位置。

相對層次坐標

相對位移坐標是用來描述目標單元格和當前單元格之間的位置關系的表達式。

注1:Cellx表示需要返回結果的單元格,Celly表示位移時參考的單元格。Cellx[Celly:-z]的運算邏輯:記錄位移前Celly和Cellx的對應關系,記為關系1,當Celly完成-z個位置的位移后,按照‘關系1’返回對應的Cellx。

注2:相對后移需要使用“-”符號,相對前移需要使用“+”符號。

注3:z 代表相對位移的位置。

實例練習

絕對層次坐標

在進行報表設計時,單元格尚未擴展,但是其它單元格的計算表達式可能需要此單元格擴展后某個數據的精確位置,這時就需要使用絕對層次坐標精確表達該數據的位置。

C1[A1:2,B1:3]表示:取C1中與A1第2個單元格對應的所有B1單元格中的第3個相對應的那個單元格

層次坐標公式

注:A1 單元格縱向擴展,B1 單元格跟隨 A1 單元格縱向擴展。

動態格間運算

概念:使用層次坐標進行跨行計算,跨組運算,集合運算等。

實例-

數據準備:新建數據集ds1,數據庫查詢對話框中寫入sql查詢語句。

SELECT STRFTIME("%m",訂購日期) AS 月份,應付金額

FROM 訂單

WHERE STRFTIME("%Y",訂購日期)="2011"

單元格操作

A1~E1單元格依次寫入字段標題名:月份,應付金額,比較,占比,環比。選中 A1~E1 單元格,設置標題預定義樣式為Head類型

A2數據集中的數據列「月份」拖入到單元格中

B2數據集中的數據列「應付金額」拖入到單元格中,并在單元格元素>數據設置中對單元格數據進行匯總>求和

C2寫入公式B2 - B2[A2:1],計算 B2 單元格擴展出來的數據,每一行與第一行的差值

D2寫入公式B2 / SUM(B2[!0]),計算 B2 單元格擴展出來的數據,每一行在總值中的占比

E2寫入公式IF(&A2 > 1, B2 / B2[A2:-1], 0),計算 B2 單元格擴展出來的數據,每一行與上一行的比率

實例-逐行

數據準備:新建數據集ds2,數據庫查詢對話框中寫入sql查詢語句。

SELECT STRFTIME("%Y",訂購日期) AS 年份,STRFTIME("%m",訂購日期) AS 月份,應付金額

FROM 訂單

WHERE STRFTIME("%Y",訂購日期) IN ("2010","2011")

主子報表

數據鉆取

展示效果:

解決方案,可以使用超級鏈接功能,便捷的實現了數據鉆取。

主子報表

**示例:**我們接著自定義報表的類型文件,進行進一步的學習,

并且雙擊A12的創建過濾條件,將訂單id進行綁定。

為了不會出現不統一在一頁的現象,右邊屬性面板選中``單元格屬性>其他>分頁,勾選行后分頁`。

效果圖

(todo)嵌入式主子表

條件屬性

**概念:**當單元格滿足一定的條件時,對報表的樣式做一些改變。

超級鏈接

**概念:**單元格設置超級鏈接指向另一個目標,報表預覽時,點擊單元格跳向指定的目標或實現某種效果,這個目標可以是另一種報表,一個網頁,一張圖片,一個電子郵件地址,一個文件甚至是一個應用程序等等。

commont超級鏈接的類型有八種,分別是:

網絡報表郵件網頁鏈接動態參數JavaScript 腳本圖表超鏈-懸浮框圖表圖表超鏈-聯動單元格圖表超鏈-聯動懸浮元素

報表設計進階

分欄

分欄限制

凍結后分頁失效隱藏行列出現問題不支持填報和數據分析預覽不支持自適應

圖表

柱形圖

??出現的問題?

分類與系列為同一字段會發生什么?

如果使用一般的柱形圖的話,會出現偏移現象。可以選中為空的解決,但是會出現展示樣式不好。

我們可以選擇堆積柱形圖來解決這個問題。

分類系列為空?

分類為空不顯示該分類必須是該分類下的值全部為空。

系列為空與分類為空的一致

動態自定義最大值

當y軸數值相差較大時如何顯示?

可以考慮使用對數

軸逆序

自定義標簽格式

系列顏色

餅圖

需求一:需要展示環形

折線圖

如果系列名與分類名相同的話,分類名必須存在,系列名可以沒有。

地圖

性能優化

分頁預覽

sql取數慢,數據量過大空白單元格不合理,父格導致的笛卡爾積Excel制作的模板過多的條件屬性和表格過濾過多的公式計算,特別是sql函數插入的圖表和圖片過多。

填報預覽

控件數據字典sql過慢大量控件設置為直接顯示一次性導入或填報大量數據展示數據量太大,元素過多。

決策報表

過大的背景圖片

可以采用外置圖片插件,但是不支持遠程控制

sql數據集過多,重復加載,數據量過大

元素過多,擴展圖表使用過于頻繁

優化建議

數據源 合理分析下控制需求利用數據庫或ETL工具清洗數據優化數據集sql取數速度開啟共享數據集安裝性能插件并行取數行式引擎 模板制作 同一父格和條件屬性過濾盡量放sql中處理合理規劃模板結構和元素使用插件設置背景圖片分頁sql 模板使用 通過參數控制數據量合理控制模板并發設置智能運維考慮集群

致謝:

本文僅為了學習記錄,方便以后復習所用。

內容借鑒https://help.fanruan.com/finereport/,

感謝帆軟官方。

大屏應用

大屏上手

基礎

決策報表采用了畫布式操作界面,專為大屏而生,通過簡單的拖拽操作可幫助用戶構建強大、全面的管理駕駛艙,在同一個頁面整合不同的企業數據,完美的展示企業的各類業務指標,實現數據的多維度分析。

大屏制作準備

擴展圖表外置圖片背景表單內報表快刷新

大屏制作流程

可視化圖表

圖文組件

動態效果

實例-排版布局

效果圖:

步驟,先創建一個決策報表,定義好數據集。

依次拖入各圖表,綁定數據。根據每個圖標的像素位置,去確定頁面的排版

實例-配色

添加背景色,可以選擇body,選擇樣式中的背景,然后選中剛才下載的好的外置圖片。

發現,字體顯示不清晰。

接下來去修改各個圖表樣式。

完畢后:

實例-動態效果

Springboot集成

https://bbs.fanruan.com/thread-133700-1-1.html

行式報表

修改顏色,背景

篩選過濾

行式報表排序

結果集篩選

分組報表

相鄰連續

問題:如何在第二列相等的情況下也保持連續

匯總分組

動態分組

if(inarray($KaTeX parse error: Can"t use function "$" in math mode at position 20: ….select(銷售員))<=$?TOPN,$,“其他”)

獲取當前單元格中銷售員再銷售員列中的位置,將位置大于N的銷售員更名為其他。

多數據源報表

簡單數據源表

復雜數據源表

效果:

自定義各數據集的關聯關系。

分片數據源表

聚合報表

責任編輯:

標簽:

相關推薦:

精彩放送:

新聞聚焦
Top 岛国精品在线