報(bào)表工具FineReport多數(shù)據(jù)源報(bào)表_第1頁
報(bào)表工具FineReport多數(shù)據(jù)源報(bào)表_第2頁
報(bào)表工具FineReport多數(shù)據(jù)源報(bào)表_第3頁
報(bào)表工具FineReport多數(shù)據(jù)源報(bào)表_第4頁
報(bào)表工具FineReport多數(shù)據(jù)源報(bào)表_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、報(bào)表工具FineReport 多數(shù)據(jù)源報(bào)表簡單多源報(bào)表1. 描述多數(shù)據(jù)源,就是在同一張報(bào)表當(dāng)中,顯示的數(shù)據(jù)來自于多個不同的表或不同的庫。 如下圖一張簡單的多數(shù)據(jù)源報(bào)表,左側(cè)藍(lán)色部分來自于銷量表,右側(cè)黃色部分來自銷售總額表,即數(shù)據(jù)來自于兩張不同的數(shù)據(jù)庫表: 2. 示例2.1 打開單個數(shù)據(jù)源報(bào)表打開報(bào)表%FR_HOME%WebReportWEB-INFreportletsdocPrimaryCrossReportCross.cpt。2.2 新增數(shù)據(jù)源再新增一個數(shù)據(jù)集ds2,其SQL 語句為SELECT * FROM 銷售總額。ds2數(shù)據(jù)集與ds1數(shù)據(jù)集都有一個銷售員字段。2.3 綁定數(shù)據(jù)列如下圖,

2、將ds2中銷售總額數(shù)據(jù)列拖拽到單元格中,并設(shè)置父格為銷售員所在單元格,使銷售總額跟隨銷售員而擴(kuò)展: 2.4 設(shè)置過濾此時設(shè)計(jì)器預(yù)覽,效果如下: 可以看到,擴(kuò)展出來的每一個銷售員下,都重復(fù)顯示銷售總額字段的所有數(shù)據(jù)。雖然銷售總額的父格為銷售員數(shù)據(jù)列,由于他們來自于不同的數(shù)據(jù)集,因此銷售總額不會將父格銷售員作為條件進(jìn)行篩選,即不存在附屬關(guān)系。我們需要銷售總額與銷售員一一對應(yīng),就需要設(shè)置過濾條件,將這兩個數(shù)據(jù)集的數(shù)據(jù)通過銷售員關(guān)聯(lián)起來。選中銷售總額所在單元格,設(shè)置過濾,添加過濾條件:銷售員 等于 'C4',取出與C4單元格中銷售員匹配的數(shù)據(jù),如下圖: 2.5 保存并預(yù)覽保存模板,預(yù)覽

3、報(bào)表,即可看到如上的效果。模板效果在線查看請點(diǎn)擊Multi_1.cpt已完成的模板,可參見%FR_HOME%WebReportWEB-INFreportletsdocAdvancedMultidatasourceMulti_1.cpt3. 多數(shù)據(jù)源報(bào)表優(yōu)勢多數(shù)據(jù)源報(bào)表傳統(tǒng)的做法,是通過拼SQL 將多源整合為單源。如上例中將銷量表與銷售總額表整合起來:SELECT * FROM 銷量, 銷售總額 WHERE 銷量. 銷售員 = 銷售總額. 銷售員 。若數(shù)據(jù)庫表比較復(fù)雜,且使用的表個數(shù)不止2張而是更多時,可以想象,最終的SQL 查詢語句將會非常復(fù)雜。FineReport 天然支持多數(shù)據(jù)源的報(bào)表,一

4、張報(bào)表中可以添加任意多個數(shù)據(jù)集,每個數(shù)據(jù)集使用最簡單的SQL 語句查詢出需要的表數(shù)據(jù),在報(bào)表中只需要使用過濾就可以將來自不同表的數(shù)據(jù)相互關(guān)聯(lián)起來。使得多數(shù)據(jù)源報(bào)表制作更加簡單。多源報(bào)表在線視頻請查看【多源報(bào)表】復(fù)雜多源報(bào)表1. 描述上一節(jié)中,我們介紹了簡單的多數(shù)據(jù)源報(bào)表,而實(shí)際應(yīng)用時,交叉表當(dāng)中的行列與匯總計(jì)算數(shù)據(jù),均來自不同數(shù)據(jù)庫也是很常見的。如下報(bào)表: 在這張報(bào)表中,項(xiàng)目總數(shù),需財(cái)政安排數(shù),單位自籌,它資金都是來自于不同的數(shù)據(jù)集。2. 示例2.1 準(zhǔn)備數(shù)據(jù)集數(shù)據(jù)庫的數(shù)據(jù)表是項(xiàng)目ID 與項(xiàng)目名稱有一張單獨(dú)的表來保存,另有項(xiàng)目數(shù)量,財(cái)政補(bǔ)貼資金,單位自籌資金,其它資金等四張列表。每張表均通過I

5、D 字段與項(xiàng)目名稱表建立關(guān)系,以下是五張內(nèi)置的數(shù)據(jù)集:注:在數(shù)據(jù)集面板中點(diǎn)擊添加按鈕,選擇內(nèi)置數(shù)據(jù)集即可新建內(nèi)置數(shù)據(jù)集,直接添加數(shù)據(jù),詳細(xì)請查看內(nèi)置數(shù)據(jù)集項(xiàng)目名稱(項(xiàng)目名稱,ID )-project 項(xiàng)目總數(shù)(ID ,項(xiàng)目總數(shù))-zs 財(cái)政撥款(ID ,金額)-cz 單位自籌(ID ,金額)-dz 其它資金(ID ,金額)-qt 2.2 表樣設(shè)計(jì)如下設(shè)計(jì)報(bào)表: 2.3 綁定數(shù)據(jù)列及過濾設(shè)置將數(shù)據(jù)列依次拖拽到單元格中,設(shè)置如下: 2.4 編號和公式在需要添加編號和計(jì)算匯總的格子中寫入公式: 2.5 保存并預(yù)覽報(bào)表保存模板。設(shè)計(jì)器中點(diǎn)擊分頁預(yù)覽,即如上的效果圖。模板效果在線查看請點(diǎn)擊 Multi_

6、2.cpt已完成的模板,可參見%FR_HOME%WebReportWEB-INFreportletsdocadvancedMultidatasourceMulti_2.cpt說明:這個報(bào)表當(dāng)中的數(shù)據(jù),來自于5個不同的數(shù)據(jù)集。通過報(bào)表當(dāng)中的數(shù)據(jù)列關(guān)聯(lián)方式,將不同數(shù)據(jù)集的數(shù)據(jù)關(guān)聯(lián)顯示到一張表中。從而避免了在傳統(tǒng)的報(bào)表處理方式中,通過復(fù)雜的SQL 語句,將5個數(shù)據(jù)集拼成單源的情況,大大降低報(bào)表制作的難度及對報(bào)表設(shè)計(jì)人員SQL 水平的要求。多源分片報(bào)表1. 描述多源就是一張報(bào)表的數(shù)據(jù)來源來自多個數(shù)據(jù)表,甚至是多個物理數(shù)據(jù)庫。這里的“多個”常常不是兩個三個,而是七八個乃至十幾個,無法轉(zhuǎn)成單源;分片是指一

7、張報(bào)表的縱向或橫向或雙向同時被分成了多個區(qū)域,往往每個區(qū)域來自不同的數(shù)據(jù)源;這樣的報(bào)表即多源分片報(bào)表,如下圖: 2. 思路設(shè)計(jì)多源分片報(bào)表通常有比較復(fù)雜的橫表頭與縱表頭,在設(shè)計(jì)多源分片報(bào)表時,可以先將表頭設(shè)計(jì)好,最后設(shè)計(jì)中間部分的數(shù)據(jù),此時只需要設(shè)置好對應(yīng)的關(guān)聯(lián)過濾即可,最后進(jìn)行模板數(shù)據(jù)字典等顯示設(shè)置;另外一種快速制作多源分片報(bào)表的方法是每片單獨(dú)設(shè)計(jì),如上圖報(bào)表,可以先設(shè)計(jì)分片1,確認(rèn)無誤后再設(shè)計(jì)分片2,如此類推,同樣最后進(jìn)行模板數(shù)據(jù)字典等顯示設(shè)置。3. 示例3.1 準(zhǔn)備數(shù)據(jù)連接數(shù)據(jù)庫FRDemo ,新建四個數(shù)據(jù)集,數(shù)據(jù)集名分別為雇員、產(chǎn)品、訂單信息和訂單對應(yīng)的sql 語句如下:雇員的SQL

8、語句: SELECT 雇員ID, 職務(wù) FROM 雇員產(chǎn)品的SQL 語句: SELECT 產(chǎn)品ID, 類別ID FROM 產(chǎn)品 where 類別ID =1 or 類別ID =2 訂單信息的SQL 語句: SELECT 訂單. 訂單ID, 雇員ID, 產(chǎn)品ID, 數(shù)量,(數(shù)量*單價 AS 總額 FROM 訂單, 訂單明細(xì) WHERE 訂單. 訂單ID=訂單明細(xì). 訂單ID訂單的SQL 語句: select * from 訂單3.2 表樣設(shè)計(jì)最終表樣如下: 分片1制作 分片1按國家與雇員進(jìn)行分組統(tǒng)計(jì),中間數(shù)據(jù)受左表頭與上表頭雙重控制: 分片2制作 分片2直接統(tǒng)計(jì)總額與數(shù)量,中間數(shù)據(jù)只受上表頭控制:

9、 分片3制作分片3按照雇員職務(wù)與雇員進(jìn)行分組統(tǒng)計(jì),中間數(shù)據(jù)受左表頭與上表頭雙重控制:單元 格 數(shù)據(jù) 集 數(shù)據(jù) 屬性 列 B8 雇員 職務(wù) 默認(rèn) 雇員 C8 雇員 ID 默認(rèn) 訂單 E8 信息 總額 匯總求和,添加過濾條件 雇員 ID(列序號:2 等于 'C8' and 產(chǎn)品 ID(列序號:3 等于 'E3' 訂單 E9 信息 數(shù)量 匯總求和,雇員 ID(列序號:2 等于 'C8' and 產(chǎn)品 ID(列序號:3 等于 'E3' 3.3 形態(tài)設(shè)置 最后我們根據(jù)需要,設(shè)置數(shù)據(jù)的顯示樣式、形態(tài)、顏色等。 對 C4,C6,E2 和 E3 單元格作形態(tài)數(shù)據(jù)字典設(shè)置,都采用數(shù)據(jù)庫表的方式,具體設(shè)置如 下表: 單元格 數(shù)據(jù)庫 數(shù)據(jù)表 列名(實(shí)際值) 列名(顯示值) C4 FRDemo 雇員 雇員 ID 姓名 C6 FRDemo 雇員 雇員 ID 姓名 E2 FRDemo 產(chǎn)品類型 類型 ID 類別名稱 E3 FRDemo 產(chǎn)品 產(chǎn)品 ID 產(chǎn)品名稱 3.4

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論