1. 概述
1.1 版本
報表伺服器版本 |
---|
11.0 |
1.2 預想效果
上一節中,我們介紹了 簡單多源報表,而實際應用時,交叉表當中的列欄與匯總計算資料,均來自不同資料庫也是很常見的。
如下圖所示,在這張報表中,項目總數,需財政安排數,單位自籌,其他資金都是來自於不同的資料集。
1.3 實現思路
這個報表當中的資料,來自於 5 個不同的資料集。可透過報表當中的資料欄聯動方式,將不同資料集的資料聯動顯示到一張表中。
進而避免了在傳統的報表處理方式中,透過複雜的SQL 語句,將 5 個資料集拼成單源的情況,大大降低報表製作的難度及對報表設計人員 SQL 水平的要求。
2. 範例
2.1 報表製作
2.1.1 建立資料集
資料庫的資料表是項目 ID 與項目名稱有一張單獨的表來儲存,另有項目數量,財政補貼資金,單位自籌資金,其他資金等四張列表。
每張表均透過 ID 欄位與項目名稱表建立關係,以下是五張內建資料集:
注:在資料集面板中點選新增按鈕,選擇內建資料集即可建立內建資料集,直接新增資料,詳細請查看:內建資料集
1)項目名稱(ID,項目名稱)——project
2)項目總數(ID,數量)——zs
3)財政撥款(ID,金額)——cz
4)單位自籌(ID,金額)——dz
5)其他資金(ID,金額)——qt
2.1.2 報表樣式
報表樣式如下圖所示:
2.2 資料欄及過濾設定
將資料欄依次拖曳到儲存格中,設定如下表所示:
儲存格 | 資料集 | 欄名 | 設定 |
---|---|---|---|
B4 | project | 項目名稱 | 資料設定分組並從上到下縱向擴展,其他預設 |
C4 | zs | 數量 | 資料設定匯總求和,不擴展,過濾條件為“資料欄”:ID 等於 project.ID,其他預設 |
E4 | cz | 金額 | 資料設定匯總求和,不擴展,過濾條件為“資料欄”:ID 等於 project.ID,其他預設 |
F4 | dz | 金額 | 資料設定匯總求和,不擴展,過濾條件為“資料欄”:ID 等於 project.ID,其他預設 |
G4 | qt | 金額 | 資料設定匯總求和,不擴展,過濾條件為“資料欄”:ID 等於 project.ID,其他預設 |
範例:C4 儲存格的資料設定及過濾設定如下圖所示:
其他儲存格類似,不再詳細說明。
2.3 編號和公式
在需要新增編號和計算匯總的格子中寫入公式,如下表所示:
儲存格 | 公式 | 其他設定 |
---|---|---|
A4 | =&B4 | 在右鍵擴展屬性中,定義其左父格為 B4 無 |
D4 | =sum(E4:G4) | 不擴展 |
C5 | =sum(C4) | 不擴展 |
D5 | =sum(D4) | 不擴展 |
E5 | =sum(E4) | 不擴展 |
F5 | =sum(F4) | 不擴展 |
G5 | =sum(G4) | 不擴展 |
範例:A4 儲存格的設定如下圖所示:
2.4 效果預覽
2.4.1 PC 端
儲存範本,選擇「分頁預覽」,效果如 1.2 節所示。
2.4.2 行動端
1)App
2)HTML5
3. 已完成範本
已完成的範本,可參見%FR_HOME%\webroot\WEB-INF\reportlets\doctw\advanced\Multidatasource\複雜多源報表.cpt
點選下載範本:複雜多源報表.cpt