1. 概述
1.1 版本
報表伺服器版本 |
---|
11.0 |
1.2 預期效果
多源:指一張報表的資料來源來自多個資料表,甚至是多個物理資料庫。這裏的多個常常不是兩個三個,而是七八個乃至十幾個,無法轉成單源。
分片:指一張報表的縱向或橫向或雙向同時被分成了多個區域,往往每個區域來自不同的資料源。
如下圖所示,這樣的報表即多源分片報表:
1.3 實現思路
多源分片報表通常有比較複雜的橫表頭與縱表頭,在設計多源分片報表時,可以先將表頭設計好,最後設計中間部分的資料。此時只需要設定好對應的聯動過濾即可,最後進行範本資料字典等顯示設定。
另外一種快速製作多源分片報表的方法是每片單獨設計,如上圖報表,可以先設計分片 1,確認無誤後再設計分片 2,如此類推,同樣最後進行範本資料字典等顯示設定。
2. 範例
2.1 報表製作
2.1.1 準備資料
連結資料庫 FRDemoTW,建立四個資料集,資料集名分別為僱員、產品、訂單資訊和訂單。對應的 SQL 語句如下:
僱員的 SQL 語句:SELECT 僱員ID,職務 FROM 僱員
產品的 SQL 語句:SELECT 產品ID,類別ID FROM 產品 where 類別ID =1 or 類別ID =2
訂單資訊的 SQL 語句:SELECT 訂單.訂單ID,僱員ID,產品ID,數量,(數量*單價) AS 總額 FROM 訂單,訂單明細 WHERE 訂單.訂單ID=訂單明細.訂單ID
訂單的 SQL 語句:select * from 訂單
2.1.2 報表樣式
報表樣式如下圖所示:
1)合併 B2~D3 儲存格,插入斜線,內容為:產品|數量|其他,選擇「從左上到右下發散」,如下圖所示:
2)分片 1 製作
分片 1 按國家與僱員進行分組統計,中間資料受左表頭與上表頭雙重控制,如下表所示:
儲存格 | 資料集 | 資料欄 | 屬性 |
---|---|---|---|
B4 | 訂單 | 貨主國家 | 縱向擴展,預設父格 |
C4 | 訂單 | 僱員ID | 縱向擴展,預設父格 |
E2 | 產品 | 類別ID | 橫向擴展,其餘預設 |
E3 | 產品 | 產品ID | 橫向擴展,其餘預設 |
E4 | 訂單資訊 | 總額 | 不擴展,匯總求和,新增過濾條件:僱員ID(欄序號:2) 等於 'C4' and 產品ID(欄序號:3) 等於 'E3' |
E5 | 訂單資訊 | 數量 | 不擴展,匯總求和,新增過濾條件:僱員ID(欄序號:2) 等於 'C4' and 產品ID(欄序號:3) 等於 'E3' |
範例:E4 儲存格的設定,如下圖所示:
3)分片 2 製作
分片 2 直接統計總額與數量,中間資料只受上表頭控制,如下表所示:
儲存格 | 資料集 | 資料欄 | 屬性 |
---|---|---|---|
E6 | 訂單資訊 | 總額 | 不擴展,匯總求和,新增過濾條件:產品 ID (欄序號:3)等於'E3' |
E7 | 訂單資訊 | 數量 | 不擴展,匯總求和,新增過濾條件:產品 ID (欄序號:3)等於'E3' |
4)分片 3 製作
分片 3 按照僱員職務與僱員進行分組統計,中間資料受左表頭與上表頭雙重控制,如下表所示:
儲存格 | 資料集 | 資料欄 | 屬性 |
---|---|---|---|
B8 | 僱員 | 職務 | 縱向擴展,預設父格 |
C8 | 僱員 | 僱員ID | 縱向擴展,預設父格 |
E8 | 訂單資訊 | 總額 | 不擴展,匯總求和,新增過濾條件:僱員ID(欄序號:2)等於'C8' and 產品ID(欄序號:3)等於'E3' |
E9 | 訂單資訊 | 數量 | 不擴展,匯總求和,新增過濾條件:僱員ID(欄序號:2)等於'C8' and 產品ID(欄序號:3)等於'E3' |
2.2 形態設定
根據需要,設定資料的顯示樣式、形態、顏色等。
對 C4,C8,E2 和 E3 儲存格作形態資料字典設定,都採用資料庫表的方式,具體設定如下表所示:
儲存格 | 資料庫 | 資料表 | 欄名(實際值) | 欄名(顯示值) |
---|---|---|---|---|
C4 | FEDemoTW | 僱員 | 僱員ID | 姓名 |
C8 | FRDemoTW | 僱員 | 僱員ID | 姓名 |
E2 | FRDemoTW | 產品類別 | 類型ID | 類別名稱 |
E3 | FRDemoTW | 產品 | 產品ID | 產品名稱 |
範例:C4 儲存格形態設定,由於訂單資料集中使用的僱員 ID ,實際需要展示的內容為僱員姓名,在「僱員」表中包含「僱員 ID」與「僱員姓名」的對應關係,因此將 C4 儲存格形態選擇「資料字典」,類型設定為「資料庫表」,資料庫為「FRDemoTW」,資料庫表為「僱員」,實際值和顯示值的序列號為 1、2 。如下圖所示:
其他儲存格類似,不再說明。
2.3 凍結設定與頁面設定
1)選擇「範本>重複與凍結設定」,重複標題列第1列至第3列,重複標題欄第A欄至第D欄,凍結第1列至第3列,凍結第A欄至第D欄,如下圖所示:
2)選擇「範本>頁面設定」,紙張大小設定為 A3 ,如下圖所示:
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