1. 概述
1.1 問題描述
我們在介紹 參數應用 的時候有介紹到 自動查詢,其效果是,在參數界面選擇好參數之後,無需點擊查詢按鈕,報表主體中會自動查詢出過濾結果并展現出來,那麽在決策報表中是否也能實現呢?
例如:選擇頂部幾個下拉框數據的時候,報表塊中的數據随之實時變化,如下圖所示:
1.2 解決思路
在決策報表中,可以通過在 body 中使用控件綁定數據,再與報表塊或圖表塊建立數據聯系,來輕松實現自動查詢。若想要實現在參數界面實現自動查詢請參考:JS實現決策報表參數界面自動查詢。
2. 示例一
本例講解的是以不同數據集作爲數據來源時,該如何建立數據聯系。
2.1 數據準備
新建決策報表,在右側的數據集面板中新建三個數據庫查詢,SQL 查詢語句分别爲:
訂單:select 客戶.地區,客戶.城市,客戶.City,客戶.客戶ID,客戶.公司名稱,訂單.訂單ID,訂單.訂購日期,訂單.發貨日期,訂單.到貨日期,訂單.運貨商,貨主名稱,訂單明細.産品ID,(訂單明細.單價*訂單明細.數量) AS 金額 from 客戶,S訂單 訂單 ,S訂單明細 訂單明細 where 訂單.訂單ID=訂單明細.訂單ID and 客戶.客戶ID=訂單.客戶ID
ds1:select 城市, 城市||city as 城市city from 客戶 where 地區='${地區}'
ds2:SELECT 公司名稱 FROM 客戶 where 城市='${城市}' and 地區='${地區}'
2.2 決策報表設計
1)向決策報表 body 中拖入三個「标簽控件」、三個「下拉框控件」和一個「報表塊」組件,如下圖所示:
2)修改「标簽控件」的控件值和「下拉框控件」的控件名稱,分别對應參數「地區」、「城市」、「客戶」。
注:必須保證下拉框控件名稱與參數名稱保持一緻。
3)設置三個「下拉框控件」的數據字典,具體設置如下表所示:
控件名稱 | 數據來源 | 實際值 | 顯示值 |
---|---|---|---|
地區 | FRDemo數據庫訂單表 | 貨主地區 | 貨主地區 |
城市 | ds1數據集 | 城市 | 城市city |
客戶 | ds2數據集 | 公司名稱 | 公司名稱 |
2.3 報表塊設計
2.3.1 表格設計
1)點擊報表塊上的「編輯」按鈕,進入報表塊編輯界面,數據列設置如下圖,表格樣式可自行設置。
2)設置 B5、G5 單元格的形态爲「數據字典」,将其顯示值設爲「公司名稱」,如下圖所示:
2.3.2 設置過濾
由於報表塊中的數據與下拉框數據字典綁定的數據并不是來源於同一個數據集,它們之間不存在過濾關系,需要手動爲單元格添加過濾條件。雙擊「訂單 ID」所在的 A5 單元格,彈出數據列設置界面,選擇「過濾」界面,添加三個過濾條件,條件之間用 AND 連接:
條件一:「地區」列等於公式 if($地區 = "", nofilter, $地區)
條件二:「城市」列等於公式 if($城市 = "", nofilter, $城市)
條件三:「公司名稱」列等於公式 if($客戶 = "", nofilter, $客戶)
注:公式中 nofilter 是不過濾的意思,即參數爲空時不過濾顯示全部,參數不爲空時,顯示出相應數據。
2.4 樣式修改
1)此時保存決策報表,點擊預覽,可以看到雖然實現了效果,但是由於決策報表的自适應特性,控件置頂顯示,排列不美觀。
那麽我們可以将決策報表 body 的「内邊距」中上邊距設置大一點,如下圖所示:
2)右側的客戶下拉框控件直接靠右邊顯示,和其他的 2 個下拉框控件不協調,那麽我們是否也可以設置右邊距使其不靠右顯示呢?
答案是不可以的,body 的内邊距設置是針對整個決策報表的,會作用於該決策報表的所有組件。此時我們可以在決策報表右側添加一個空白标簽控件,如下圖所示:
2.5 效果預覽
2.5.1 PC 端
保存決策報表,點擊「PC端預覽」,效果同 1.2 節效果圖一緻。
2.5.2 移動端
App 端和 HTML5 端均支持,效果如下圖所示:
3. 示例二
本例講解的是以相同數據集作爲數據來源時,該如何建立數據聯系。
3.1 數據準備
新建決策報表,新建一個數據庫查詢 ds1,SQL 查詢語句爲:SELECT * FROM 銷量 where 1=1 ${if(len(地區)=0,""," and 地區='"+地區+"'")} 。
3.2 決策報表設計
1)将 body 的布局方式修改爲「絕對布局」,再向 body 中拖入「标簽控件」、「下拉框控件」、「報表塊」和「餅圖」,如下圖所示:
2)修改「标簽控件」的控件值和「下拉框控件」的控件名稱,對應參數「地區」。
注:必須保證下拉框控件名稱與參數名稱保持一緻。
3)設置「下拉框控件」的數據字典爲 ds1 數據集,實際值和顯示值均爲「地區」。如下圖所示:
3.3 報表塊設計
點擊報表塊上的「編輯」按鈕,進入報表塊編輯界面,數據列設置如下圖,表格樣式可自行設置。
3.4 圖表數據設置
編輯餅圖,設置餅圖的數據來源:數據集爲 ds1,系列名爲「銷售員」,值爲「銷量」,彙總方式爲「求和」。如下圖所示:
3.5 效果預覽
3.5.1 PC 端
保存決策報表,點擊「PC端預覽」,效果如下圖所示:
3.5.2 移動端
App 端和 HTML5 端均支持,效果如下圖所示:
4. 模板下載
已完成模板可參見:
%FR_HOME%\webroot\WEB-INF\reportlets\doc\frm\決策報表自動查詢.frm
%FR_HOME%\webroot\WEB-INF\reportlets\doc\frm\決策報表自動查詢之圖表.frm
點擊下載模板: