1. 問(wèn)題描述
地圖的鉆取功能,如下圖,首次訪問(wèn)顯示全中國(guó)各省份數(shù)據(jù)。點(diǎn)擊山東省,進(jìn)入山東省省地圖,顯示山東省數(shù)據(jù),并在右側(cè)的柱形圖上顯示展現(xiàn)該數(shù)據(jù),實(shí)現(xiàn)聯(lián)動(dòng)效果。
動(dòng)1.png)
2. 實(shí)現(xiàn)步驟
2.1 數(shù)據(jù)準(zhǔn)備
新建2個(gè)數(shù)據(jù)查詢ds1和ds2,:
ds1:SQL為SELECT * FROM [地圖]。
ds2:SQL為SELECT * FROM [地圖] where 省份='${provience}'。
2.2 地圖制作
· 添加地圖
合并一片單元格,點(diǎn)擊菜單欄中的插入>單元格元素>插入圖表,選擇地圖,然后點(diǎn)擊確定,如下圖:
· 地圖類型
選中地圖,在設(shè)計(jì)器右側(cè)的圖表屬性面板圖表屬性表-類型選擇地圖類型,默認(rèn)選擇為國(guó)家地圖>中國(guó)。
注:設(shè)計(jì)器內(nèi)置有三種地圖,世界地圖,國(guó)家地圖以及省市地圖,其中國(guó)家地圖有兩個(gè),中國(guó)和美國(guó),省市地圖為中國(guó)的各省市地圖,如需自定義地圖,則可導(dǎo)入自己準(zhǔn)備好的地圖圖片進(jìn)行設(shè)計(jì),詳細(xì)請(qǐng)查看自定義地圖鉆取與聯(lián)動(dòng)。
· 區(qū)域?qū)?yīng)
在FineReport的內(nèi)置數(shù)據(jù)庫(kù)中存有區(qū)域?qū)?yīng)字段,即表示地圖的區(qū)域名跟數(shù)據(jù)庫(kù)中存有的區(qū)域名的對(duì)應(yīng)關(guān)系,比如說(shuō):中國(guó)地圖,在地圖類型處選中中國(guó),點(diǎn)擊設(shè)置按鈕,選擇區(qū)域?qū)?yīng)字段,默認(rèn)的區(qū)域?qū)?yīng)字段為各省市的全稱,如下圖:
動(dòng)2.png)
如果數(shù)據(jù)中的區(qū)域名稱跟內(nèi)置的區(qū)域名稱不一致,即要重新配置區(qū)域名稱對(duì)應(yīng),如上圖所示,進(jìn)入定義區(qū)域名對(duì)話框,可直接在右側(cè)的數(shù)據(jù)庫(kù)區(qū)域名中手動(dòng)輸入,也可選擇數(shù)據(jù)集之后,直接通過(guò)下拉框輸入。
本
注:如果數(shù)據(jù)庫(kù)中的區(qū)域名稱跟設(shè)計(jì)器中內(nèi)置的地圖區(qū)域名稱對(duì)應(yīng)不上,在使用過(guò)程中就會(huì)使用默認(rèn)的區(qū)域?qū)?yīng)關(guān)系。
· 地圖數(shù)據(jù)
定義好地圖的類型之后,就可以為地圖定義數(shù)據(jù)來(lái)源了,選中地圖,點(diǎn)擊圖表屬性表-數(shù)據(jù),進(jìn)入數(shù)據(jù)設(shè)置面板,地圖展現(xiàn)方式選擇多層鉆取,如下圖:
動(dòng)3.png)
鉆取層級(jí)設(shè)置
從上圖可以看到,鉆取層級(jí)下有個(gè)中國(guó)的文件夾,選中中國(guó)文件夾,右擊,則會(huì)跳出層級(jí)設(shè)置對(duì)話框,如下圖:
動(dòng)4.png)
圖中的鉆取對(duì)應(yīng)地圖表示該區(qū)域在鉆取完成之后顯示的地圖,可手動(dòng)輸入,也可下拉框選擇,但是該地圖必須是定義好的,即必須是內(nèi)置的地圖或者是自定義好的。
注:如果鉆取層次不止兩級(jí),比如說(shuō)鉆取到福建省之后,還需要鉆取到福建省下面的縣級(jí)市,但是我們內(nèi)置地圖只到省市,沒有內(nèi)置縣級(jí)市的地圖,這是時(shí)候就需要自定義地圖,即自定義縣級(jí)市地圖,然后選中福建省,右擊,進(jìn)入下層鉆取設(shè)置,在鉆取對(duì)應(yīng)地圖中選擇自定義的地圖。比如,自定義了一張泉州市地圖,如下圖設(shè)置即可鉆取至泉州市:
動(dòng)5.png)
鉆取數(shù)據(jù)設(shè)置
點(diǎn)擊鉆取數(shù)據(jù),為每個(gè)層次的地圖添加數(shù)據(jù),層次1即中國(guó)地圖的數(shù)據(jù)來(lái)源為ds1,區(qū)域名為省份,區(qū)域值為銷售額,層次2即省市地圖的數(shù)據(jù)來(lái)源也為ds1,區(qū)域名為地名,區(qū)域值為利潤(rùn)額,如下圖所示設(shè)置:
動(dòng)6.png)
注:支持地圖層級(jí)鉆取的數(shù)據(jù)表的數(shù)據(jù)必須全部在一張表中。如果用戶數(shù)據(jù)在多張表,需要用戶自己寫sql合成一張表。
在設(shè)置鉆取層次時(shí),數(shù)據(jù)設(shè)置了幾層就顯示幾層,空白層次不顯示。
· 地圖樣式設(shè)計(jì)
選中地圖,點(diǎn)擊圖表屬性表-樣式>系列可修改值區(qū)間以及配色方案。如下圖:
動(dòng)7.png)
注:
數(shù)據(jù)區(qū)間配置
數(shù)據(jù)區(qū)間配置如果選擇自動(dòng), 即設(shè)計(jì)器會(huì)根據(jù)數(shù)據(jù)的最大值最小值自動(dòng)劃分區(qū)。
我們這里選擇自定義,主題顏色改為深綠色,劃分階段使用默認(rèn)值5,區(qū)間段設(shè)置如上圖所示,如果需要修改區(qū)間段的顏色,點(diǎn)擊色塊即可修改。
2.3 柱形圖
合并一片單元格,點(diǎn)擊插入>單元格元素>插入圖表,選擇柱形圖,點(diǎn)擊確定即可添加一張柱形圖。
· 柱形圖數(shù)據(jù)來(lái)源
動(dòng)8.png)
· 柱形圖樣式設(shè)計(jì)
給柱形圖添加標(biāo)題各地區(qū)利潤(rùn)額排名,如下圖:
動(dòng)9.png)
2.4 聯(lián)動(dòng)設(shè)置
如上所述,地圖和柱形圖都已經(jīng)設(shè)置好了,如果要實(shí)現(xiàn)聯(lián)動(dòng),則需要在設(shè)置交互屬性。
選中地圖,在圖表屬性表中選擇特效,點(diǎn)擊交互屬性,添加一個(gè)超級(jí)鏈接,即點(diǎn)擊
,添加一個(gè)圖表超鏈-聯(lián)動(dòng)單元格,設(shè)置如下圖:
動(dòng)11.png)