1. 問題描述
地圖的鉆取功能,如下圖,首次訪問顯示全中國各省份數據。點擊山東省,進入山東省省地圖,顯示山東省數據,并在右側的柱形圖上顯示展現該數據,實現聯動效果。

2. 實現步驟
2.1 數據準備
新建2個數據查詢ds1和ds2,:
ds1:SQL為SELECT * FROM [地圖]。
ds2:SQL為SELECT * FROM [地圖] where 省份='${provience}'。
2.2 地圖制作
· 添加地圖
合并一片單元格,點擊菜單欄中的插入>單元格元素>插入圖表,選擇地圖,然后點擊確定,如下圖:
· 地圖類型
選中地圖,在設計器右側的圖表屬性面板圖表屬性表-類型選擇地圖類型,默認選擇為國家地圖>中國。
注:設計器內置有三種地圖,世界地圖,國家地圖以及省市地圖,其中國家地圖有兩個,中國和美國,省市地圖為中國的各省市地圖,如需自定義地圖,則可導入自己準備好的地圖圖片進行設計,詳細請查看自定義地圖鉆取與聯動。
· 區域對應
在FineReport的內置數據庫中存有區域對應字段,即表示地圖的區域名跟數據庫中存有的區域名的對應關系,比如說:中國地圖,在地圖類型處選中中國,點擊設置按鈕,選擇區域對應字段,默認的區域對應字段為各省市的全稱,如下圖:

如果數據中的區域名稱跟內置的區域名稱不一致,即要重新配置區域名稱對應,如上圖所示,進入定義區域名對話框,可直接在右側的數據庫區域名中手動輸入,也可選擇數據集之后,直接通過下拉框輸入。
本
注:如果數據庫中的區域名稱跟設計器中內置的地圖區域名稱對應不上,在使用過程中就會使用默認的區域對應關系。
· 地圖數據
定義好地圖的類型之后,就可以為地圖定義數據來源了,選中地圖,點擊圖表屬性表-數據,進入數據設置面板,地圖展現方式選擇多層鉆取,如下圖:

鉆取層級設置
從上圖可以看到,鉆取層級下有個中國的文件夾,選中中國文件夾,右擊,則會跳出層級設置對話框,如下圖:

圖中的鉆取對應地圖表示該區域在鉆取完成之后顯示的地圖,可手動輸入,也可下拉框選擇,但是該地圖必須是定義好的,即必須是內置的地圖或者是自定義好的。
注:如果鉆取層次不止兩級,比如說鉆取到福建省之后,還需要鉆取到福建省下面的縣級市,但是我們內置地圖只到省市,沒有內置縣級市的地圖,這是時候就需要自定義地圖,即自定義縣級市地圖,然后選中福建省,右擊,進入下層鉆取設置,在鉆取對應地圖中選擇自定義的地圖。比如,自定義了一張泉州市地圖,如下圖設置即可鉆取至泉州市:

鉆取數據設置
點擊鉆取數據,為每個層次的地圖添加數據,層次1即中國地圖的數據來源為ds1,區域名為省份,區域值為銷售額,層次2即省市地圖的數據來源也為ds1,區域名為地名,區域值為利潤額,如下圖所示設置:

注:支持地圖層級鉆取的數據表的數據必須全部在一張表中。如果用戶數據在多張表,需要用戶自己寫sql合成一張表。
在設置鉆取層次時,數據設置了幾層就顯示幾層,空白層次不顯示。
· 地圖樣式設計
選中地圖,點擊圖表屬性表-樣式>系列可修改值區間以及配色方案。如下圖:

注:
數據區間配置
數據區間配置如果選擇自動, 即設計器會根據數據的最大值最小值自動劃分區。
我們這里選擇自定義,主題顏色改為深綠色,劃分階段使用默認值5,區間段設置如上圖所示,如果需要修改區間段的顏色,點擊色塊即可修改。
2.3 柱形圖
合并一片單元格,點擊插入>單元格元素>插入圖表,選擇柱形圖,點擊確定即可添加一張柱形圖。
· 柱形圖數據來源

· 柱形圖樣式設計
給柱形圖添加標題各地區利潤額排名,如下圖:

2.4 聯動設置
如上所述,地圖和柱形圖都已經設置好了,如果要實現聯動,則需要在設置交互屬性。
選中地圖,在圖表屬性表中選擇特效,點擊交互屬性,添加一個超級鏈接,即點擊
,添加一個圖表超鏈-聯動單元格,設置如下圖:
