1. 概述
1.1 問題描述
根據參數動态顯示地圖區域 這篇文檔只适用於普通報表,不适用於決策報表場景,決策報表中使用參數來動态顯示地圖區域的效果如下圖所示:
1.2 實現思路
通過報表塊設置動态參數類型的超鏈接實現點擊報表塊中的省份可以讓地圖展示對應的區域數據。
2. 示例
2.1 數據準備
1)新建決策報表,新建數據集 ds1,數據庫查詢語句爲:select distinct pid from 地圖 limit 10。
2)新建數據集 ds2,數據庫查詢語句爲:select * from 地圖 where pid='${area}'。
2.2 報表設計
1)将報表塊和地圖分别拖拽到決策報表設計主體中,地圖左邊緣與報表塊的 A1 單元格相鄰接。
2)編輯報表塊,将數據集 ds1 的字段 pid 拖入 A1 單元格,給 A1 單元格添加動态參數類型的超級鏈接,設置參數爲area,值爲公式$$$。
3)編輯地圖,如下圖設置地圖數據。
4)給報表添加一個模板參數,命名爲地圖邊界,默認值爲公式"geographic/world/中國/"+$area。
注:默認值中的路徑在8.0、9.0、10.0中是不同的,示例中的爲10.0的,其他版本需要去 FineReport 安裝路徑下查看并進行修改。
5)最後如下圖修改地圖的地圖邊界,如下圖所示:
2.3 效果預覽
保存報表,點擊PC端預覽,效果如問題描述中所示。
注:除了可以展示示例中省份下面的地市數據,還可以配置爲展示市下面的區數據,甚至可以自定義地圖後,将模板參數傳到自定義地圖實現豐富的聯動圖表。
3. 模板下載
已完成模板可參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\frm\決策報表使用參數動态展示區域地圖.frm
點擊下載模板:決策報表使用參數動态展示區域地圖.frm